My Journey to Become a Software Engineer in the U.S.

There are many software engineers in the U.S, and they all have different stories. Sometimes listening to their stories is quite interesting and gives me a lesson to learn. In this article, I would like to share my journey to become a software engineer in the U.S as a Korean, and share what I learn along the way.

September 06, 2020

In Korea

When I was a kid, I played video games a lot, and it made me become a game designer. I graduated from a technical college with a computer game degree and had an opportunity to display my team's game at G-Star, which was the biggest game convention show in Korea at the time.

Finding a job after graduation was quite easy for me because I had a specific degree, and the things that I learned from a school were practical enough to apply to real-world job.

Since the company that I joined was small, I had to become multiplayer. Sometimes, I had to pick up phone calls to hear customers' complaints. One day, I got a phone call from a customer as usual, and the customer introduced herself as a mother. I thought it's going to be one of refund requests that her child accidentally bought game items. But this phone call changed my life and made me who I am now. She started by saying, "Thank you for making this game," and she explained what happened to her child in the morning. Her son had to get a shot regularly at a hospital to prevent some diseases, and he always cried, but he didn't cry this morning. The reason for that was surprisingly, he focused on playing a game and forgot the pain. I don't remember what I replied to her. I might say, "Thank you for playing our game and glad your son is okay."

After the phone call, I realized that I am not a just game designer. I could impact people's lives. At the moment, I wanted to make my program, but then I always had to get some help from graphic designers or programmer, and I couldn't make my program without them.

After a few weeks later, I quitted the job and decided to go to the U.S to pursue my dream.

In Seattle

Why did I come to the U.S? I like the idea of blending with people who have different backgrounds, stories, and cultures, and the United States was a perfect choice for me.

I started learning English from ESL school called Kaplan, and then I transferred to UW-Seattle' ESL course. I still remember that I didn't know how to order pizza at Domino, didn't know whether I should wear a jacket at 80F temperature.

Then, I went to a community college to eventually transfer to a university. After that, I applied to several universities. I wasn't sure that I could get any offer, so I applied as much as possible. I was worried that I didn't get any offer, but luckily I got two offer letters, one from UW-Seattle and one from UW-Madison. Since UW-Seattle didn't give me a CS major, I decided to go to UW-Madison.

In Madison

Before I came to Madison, I only knew a little bit of Python that learned from a community college in Seattle, and suddenly I had to learn Java and C for classes for myself. I was doing okay in CS classes, and without knowing, an internship season was coming.

I heard that having an internship is very important to find a job, so I applied around 20 companies hoping to get an internship from one of them. And I got 0 interview opportunities.

No school and no internship, and it was summer. I wanted to do something crazy that I haven't done and wanted to have time to think about my future. I decided to go to a solo bicycle trip from Madison to Minneapolis. After that summer, I decided to learn web development because it could open more opportunities for me. During this time, I took several online courses, made a portfolio site, and started applying tech giant companies like Uber, Google, and Amazon while I worked for the school to develop a web application.

I had a few interviews, but eventually, I got rejections after rejections.

If I graduate from a school without any job offer and 60 days pass, I have no choice but have to back to Korea because of F-1 VISA, and I graduated UW-Madison in December 2018 without any job offer.

I needed to do something better to increase my chance of getting a job. I reached out to school and local MeetUp groups to get any resources and helps and practiced a technical interview with friends.

And finally, Microsoft gave me a chance to have an on-site interview. I practiced several mock interviews with a senior software engineer who I met from local MeetUp and booked the flight on February 15 to Seattle, where I started my journey.

One day, I had a total of 4 interviews, and I did my best. While I was boarding an airplane to back to Madison, I got an email from Microsoft.

"I wanted to follow up with you as I have been able to confirm results from your interviews with us - unfortunately, Microsoft will not be moving forward with an offer at this time. I realize this final outcome may be disappointing, but know that you reached a stage of the campus recruiting process that only a few achieve.Understandably, we are often asked to provide guidance from interviews, but unfortunately we are unable to share specific feedback.Thank you for taking the time to interview with us. We really appreciate your interest in Microsoft and if that interest continues, we welcome you to re-apply in about a year. If you have any questions about next steps with Microsoft otherwise, please reach out to your campus recruiter."

Even they said they could not provide feedback to a candidate who spent several months for this one interview. However, I sent a follow-up message to an interviewer through LinkedIn.

Thomas was a principal software engineer who had 24 years of work experience in Microsoft. He kindly replied to my message, "I really encourage you to keep trying... keep learning and will definitely get better the more you design and write code."

And that's what I did. I didn't give up and kept trying.

Silver lining

I met Cristina, a local MeetUp organizer, and she introduced me to a senior developer at a start-up company. I went to his office and had a chat with him and got an offer the next day without having a technical interview. Later, I asked him why he didn't ask me any technical interview questions, and he answered that he believed me that I can write code by looking at my portfolios. I started working at that company, and in 2019, I moved to another company that has lots of learning opportunities.

So, What I learned through this journey?

  • Don't give up - I failed numerous times, but I didn't give up and kept trying. Now, I truly believe that failure makes us stronger, and it's no different in job hunting.
  • Ask help - I am still not good at networking with people, but I learned that most people are willing to help, if I reach out to them

I would say failure is a way to success.

I had a language barrier, but now I can speak two languages.

I had no internship experience, but it made me go a bike trip that gave me more valuable experience than an internship.

I started switching a job late, but now, I am a unique software engineer who has a game design background.

I got numerous rejections, but it gave me a chance to refine my skill, resume, and portfolio

and I didn't even get a single job offer for a half of a year, but it made me do networking with people, and I made a good relationship with people along the way.