I Learned More by Arguing With AI Than Watching Tutorials

How engaging in critical back-and-forth with an AI taught me faster, deeper lessons than passively following tutorial videos.

I Learned More by Arguing With AI

For most of my life as a programmer, learning looked the same.

I watched tutorials. I followed along carefully. I trusted that if I finished the course, understanding would eventually arrive.

It usually did — slowly, unevenly, and with a lot of repetition. That was the deal. Programming was hard, information was scattered, and good explanations were rare. Sitting through hours of instruction felt like the price of entry.

Then AI showed up, and something unexpected happened.

I stopped watching tutorials — not intentionally, not as a rebellion, but because I no longer needed them. When I got stuck, I asked AI. When I forgot syntax, I asked AI. When I wanted an example, it appeared instantly.

At first, this felt like cheating. Then it felt efficient. Eventually, it felt different.

Because despite all that instant help, I noticed something strange: I wasn’t actually learning less. I was learning more — just not in the way I was used to.

Tutorials Gave Answers. AI Raised Questions.

Tutorials are built to remove friction. That’s their strength — and their weakness.

They guide you through a clean path. They anticipate mistakes. They smooth over uncertainty. When things work, you feel progress. When they don’t, you assume you missed a step.

But real programming is nothing like that.

Real problems are vague. Requirements are incomplete. Tradeoffs are uncomfortable. And no one tells you whether your approach is fundamentally wrong until much later.

AI doesn’t remove this uncertainty. In fact, it often exposes it.

When I ask AI for help, it answers confidently — but not always correctly. Sometimes the solution is elegant and wrong. Sometimes it works but makes assumptions I didn’t notice. Sometimes it solves a problem I didn’t actually have.

And that’s where the learning happens. Not when the answer appears, but when I push back.

Arguing Is Where Understanding Lives

I’ve learned more by asking AI why than by asking it how. Not because the answers are better, but because they force me to slow down and think. When a solution looks clean but fragile, or correct but incomplete, I can’t move forward on autopilot. I have to examine assumptions, imagine failure modes, and decide whether the approach actually makes sense.

That kind of questioning doesn’t usually come from tutorials. Tutorials are designed to be helpful. They explain. They reassure. They guide you toward a working result and then move on. If something doesn’t work, the assumption is that you missed a step — not that the approach itself might be wrong.

AI behaves differently. It answers confidently — sometimes too confidently. When its answers don’t quite fit, I’m forced to push back. When it offers multiple options, I have to choose. And when I choose, I have to justify that choice, even if only to myself. That act of justification — of defending a decision rather than following instructions — is something tutorials rarely require.

This way of learning isn’t new. Long before programming courses existed, education was driven by argument. Law schools still rely on this method today for a reason: being questioned exposes what you actually understand. Comfort disappears; clarity emerges.

Arguing with AI feels like a modern version of that process. Not because AI is always right, but because it gives me something to push against. And in that resistance, understanding finally takes shape.

When Code Became Easy, Thinking Became Harder

AI made writing code cheap.

That sounds like progress, and it is. But it also shifts the burden of skill. When generating code is easy, the value moves upstream — to problem framing, to design, to judgment.

I don’t need to remember every API anymore. I need to know when an API choice is dangerous. I don’t need to memorize patterns. I need to recognize when a pattern is overkill.

The hardest part of programming was never typing. It was deciding.

I Write Less Code. I Read More.

Another quiet shift happened without me noticing.

I started spending more time reading code than writing it.

AI produces a lot of code quickly, but not all of it is good. Some of it is clever in the wrong way. Some of it is fragile. Some of it hides complexity instead of removing it.

Learning now means slowing down and asking:

  • Is this understandable?
  • Is this necessary?
  • Would I want to maintain this a year from now?

These are judgment questions. They don’t have right answers. And that’s exactly why they matter.

Learning Without a Syllabus

I no longer “learn” a language before using it. I don’t finish courses end-to-end. I don’t feel guilty about skipping chapters.

Instead, I start building something real. I get stuck. I ask AI. I disagree. I revise. I break things. I reflect.

There’s no syllabus. No clean progression. Just friction.

And that friction is doing more for my growth than any perfectly structured course ever did.

What AI Actually Changed

AI didn’t make learning obsolete.

It removed the illusion that learning was about consuming information.

What remains is harder and more honest:

  • thinking clearly,
  • asking better questions,
  • making decisions without certainty,
  • and taking responsibility for the outcome.

Those skills were always required. AI just made it impossible to ignore them.

Final Thoughts

I didn’t stop learning when I stopped watching tutorials. I stopped outsourcing my thinking.

Tutorials are comforting because they tell you where to go next. They offer a path, a pace, and the reassurance that someone else has already figured things out. But real growth begins when that guidance disappears — when you’re forced to make decisions without knowing whether they’re right.

Arguing with AI didn’t make me better at producing answers. It made me better at questioning them. It forced me to slow down, notice assumptions, and defend choices instead of following instructions. In that process, I stopped measuring progress by how quickly I could build something and started measuring it by how well I understood what I was building.

AI didn’t change what it means to learn. It removed the shortcuts that made us think learning was passive. What remains is harder, less comfortable, and far more valuable: thinking clearly, choosing deliberately, and taking responsibility for the outcome.

And in the long run, that’s the kind of learning that actually lasts.

Living as a Software Engineer in the US (Part 2)

This is my second article published in the January 2013 issue of Micro Software. I am reposting it on my blog with some additions and corrections that were omitted at the time due to length constraints.

Article published in Micro Software, January 2013

Article published in Micro Software, January 2013

A Paradise for Software Developers

Living as a Software Engineer in the US (2)

Since I was 20, I had dreamed of working in the US, where many global IT companies leading the world’s technology are located. Although I came to study in the US at the late age of 31 and majored in computer science, crossing the threshold of local companies as a foreigner was not an easy task. However, with a mindset of starting from scratch, I sent out about 1,300 applications, went through dozens of phone interviews, and finally got a job at a local IT company in Texas, USA, where I have been working as a software engineer since 2011. Having experienced the life of a developer in both Korea and the US, I would like to talk about what the life of a software engineer is like in the US, often called the heaven for software engineers, and share advice from my actual experiences in the hope that it will be helpful to Micro Software readers preparing to advance overseas.

Stan Lee | stanley.s.lee@gmail.com

After graduating with a Master’s degree in Computer Science from Yale University, I am currently working as a software engineer at Dell headquarters in Texas. Leveraging my background in Electronics and Computer Science and my experience as a hardware and firmware engineer, I am developing BIOS and UEFI for Dell computers. Life in the US is still unfamiliar, and every day is a challenge, but I am living with the joy of experiencing a new world.

Experiencing a new world is certainly one of the few opportunities one can have in life. However, it also comes with the risk of having to abandon familiar things and adapt to a new world.

After majoring in electronic engineering in college and working hard as a developer in Korea, I vaguely thought it would be good to work in the US, the paradise for software developers. However, I had many doubts about whether I could work properly there when my English was not good, and there was no one to advise me on what process I should go through. Looking at related study abroad bulletin boards and books, many people said that the probability of international students graduating and finding a job in the US was so low that it was almost impossible, so it is true that I had many doubts even while going to study abroad. However, as I actually took on the challenge and went through the processes one by one, I learned that although it is difficult, it is not impossible. Of course, there were many difficulties such as language problems and cultural differences while preparing for studying abroad and finding a local job, but I also succeeded in finding a local job, and I learned that many international students who came to study computer science get jobs at local IT conglomerates in the US.

The most standardized process for finding a job in the US is to come to study, obtain a degree locally, and then challenge for local employment. People with US permanent residency or citizenship have no problems working in the US, but foreigners must resolve their status issues before working in the US. The method most people choose is to obtain a bachelor’s/master’s/doctoral degree in the US through studying abroad, start working after receiving OPT, which allows them to work in the US for a certain period without a work visa, and then receive a work visa. Of course, it is not impossible to work in the US without going through the process of studying in the US. If you are a talent that a US company absolutely needs, they may hire you while waiting for the few months it takes to apply for and receive a work visa.

I have summarized the points that are helpful when preparing for employment, which I felt while preparing for employment in the US and heard a lot from people around me. Since I was born and raised in Korea and built my first career in Korea, I was not familiar with American culture and language while preparing for studying abroad and local employment, so I made many mistakes when preparing for employment. However, in the process, I met grateful people who gave me a lot of help and advice, and as I tried constantly, I was able to become more familiar and bold with the things needed to get a job as a software engineer. Looking back now, what is a bit regrettable is that if someone had taught and organized these things, I could have saved more time. This is why I started writing this series for Micro Software.

Now let’s look at what to watch out for when looking for a job in the US.

10 Things to Keep in Mind When Looking for a Job in the US

1. Clear Settlement of Status Issues

Since the 9/11 attacks in the US, the US government has begun to apply unprecedentedly strict standards to the status issues of international students. Not only has it become more difficult to obtain student visas and work visas, but there have also been cases where people could not return to the US just because they violated regulations slightly. Since no one but yourself is responsible for visa regulations, you must first know the visa regulations and policies well and act according to the restrictions. In the case of studying abroad, the school’s international office often has relevant regulations well organized, so as soon as you arrive in the US, take care of the necessary items so as not to make mistakes.

If you obtain a degree and graduate in the US, you can apply for OPT. This OPT is a program that allows foreigners to do job training through a workplace for one year if they obtain a degree in the US. If you graduate from a computer-related department, the STEM program applies, adding a period of 17 months, giving you the right to work in the US for a maximum of 29 months. Finding a company that can support a work visa during this period can be said to be the primary goal of those looking for a job in the US. If you can receive H1-B, one of the work visas, you can work in the US for up to 6 years. If you want to continue working in the US after that, you can apply for and obtain permanent residency.

2. Apply Without Being Picky.

The most common mistake made when coming to the US to study computer science and finding a job is applying only to the field you want. When applying as a software engineer, the most common job types are engineers who develop software and engineers who test software. For example, Microsoft divides them into Software Development Engineer (SDE) and Software Development Engineer in Test (SDET), and Google divides them into Software Engineer and Software Engineer in Test.

If you want to be a software engineer in the US, please apply even if it is a test engineer. Even graduates of local Ivy League universities find it difficult to get a job, and as a foreigner who lacks English and has to find a job within a set time (within 90 days set by OPT), you are not in a position to be picky. If it is a job where keywords such as Software or C/C++, Java appear, please apply for all of them. If you receive an interview request, it is a good opportunity to practice from phone interviews to onsite interviews, and furthermore, if you receive a Job Offer, you have a choice. For reference, if you get into a large US company, moving within that company is relatively easier than applying for that job type for the first time. Even if you joined as a software test engineer, there is a high possibility that you can switch to a software development engineer a year later. Even if you are a C/C++ engineer, please apply for jobs that require Java or other languages. If you graduated from computer science, you will have most of the basic knowledge of programming languages, and since there are many questions focused on algorithms and data structures during interviews, they are often not heavily dependent on a specific language.

I also sent resumes to US IT conglomerates and small and medium-sized enterprises without making a big distinction, and applied unconditionally if it was a place recruiting software engineers. In the meantime, I had phone interviews and programming interviews with companies that contacted me, supplementing my shortcomings and finding a job. I didn’t think of coming to Dell from the beginning. One day, I remembered that there was a company called Dell, went to the company’s website, and sent resumes to all places recruiting software engineers. And about 3 months later, I was contacted, went through the process of phone interview and onsite interview, received a job offer, and came to Texas. When I first interviewed, I didn’t know much about the BIOS (Basic Input/Output System) and UEFI (Unified Extensible Firmware Interface) fields I work in now (of course, before the onsite interview, I studied this field on the internet). I think Dell also gave me a job offer by highly evaluating my potential, having majored in electronic engineering and computer science and worked in hardware and firmware, although I had no direct experience in this field.

3. Target Large US Companies If Possible

While looking for a job for local employment in the US, I often heard that I should place more weight on getting a job at a large US company if possible. Of course, you should put your resume in companies where you can apply without being picky, but prioritizing large US companies has advantages in many ways later. There will be many differences by company, but if you get a job at a large company, there is a lot of room to solve status issues first. You start working in OPT status after graduation, but applying for H1-B and furthermore permanent residency costs the company thousands of dollars additionally, so companies with sufficient funds are more active in the status issues of foreign workers. In fact, looking at the list of companies that applied for H1-B and permanent residency the most, large companies such as Microsoft and Oracle account for a large number.

4. Please Investigate More Carefully If the Owner Is Korean or If It Is a Small Company with Many Koreans.

This is a very ironic part. There is an expectation that if you go to a place run by a Korean in the US, it will be more family-like and they will treat you better because you are Korean, but if you go to job bulletin boards for Koreans in the US, they are often decorated with bad stories. The reason is that they make you work in the Korean style. They demand overtime and weekend work, do not guarantee necessary benefits, and often give low salaries. At the same time, since making such demands and treatment to Americans working together is likely to cause legal problems, they make more demands on Koreans who are caught up in status issues. It is a very unfortunate thing.

Of course, there are many good Korean bosses, but when you hear various stories or see posts on bulletin boards, it is necessary to check once more what the working culture is like when going to a company where the owner is Korean or there are many Koreans.

5. Be Careful When Writing Resume and Cover Letter.

When applying to a US company, you will use a resume showing your career and a cover letter showing your motivation for application. The reality is that there is a big difference in document screening depending on how you write your resume and cover letter. Sometimes when juniors or acquaintances ask me to look at their resumes, it is quite regrettable that they overlook basic items. Please pay attention to the following items.

Do not record personal information such as race, gender, age, height, weight, etc.

In the US, discrimination based on race, gender, age, etc. is a big social issue, so this information is not recorded on the resume. People from Korea are used to resumes, so they sometimes fill in this information and attach photos, but such resumes are likely to go straight to the trash can.

Submit the resume format as a PDF file unless there are other requirements

Most word processor programs these days will have an option to convert to Adobe Acrobat’s PDF format. This PDF file has the least change depending on the viewer program, allows documents to be viewed consistently on other platforms, and is most widely used because the viewer is free so anyone can easily view it. If there is no requirement for the file format when submitting a resume to the company website, submit it in this file format.

List mainly work-related items on the resume

Sometimes, people who have just graduated from college list a lot of volunteer activities or hobby activities because they have no work-related experience. If you have no work-related experience, write down your educational background and leadership-related experience, and exclude experiences unrelated to work. And if you have projects conducted during the semester, internship-related experience, research experience, etc., and they are related to work, record them in more detail on the resume. Filling one page of the resume with only necessary information is also a consideration for the hiring manager.

Look for many resume forms available as samples on the internet

There are many resume forms circulating on the internet that look neat and give a good impression. However, to fit yourself and package your career well, you need to look at various resume forms and combine them appropriately to create your own composition. A resume is like your face. How to give a good impression and list your career details well requires a lot of thought and time.

When writing the country name, write South Korea instead of Korea

Many Americans cannot distinguish well between North Korea and South Korea.

Put about 3 people who can talk about you in the Reference section

When hiring, Americans sometimes call the people in the Reference section, who can tell what kind of person this is. You can get permission from a professor who knows you well and write it down, or you can write down the contact information of your former boss. Since Americans may call, it is better to write down people who can communicate in English if possible.

Never exaggerate your career details

Since the US is a society that revolves around trust, if there is a lie in your career details, it can be a big problem legally as well as for employment. Please do not make the mistake of exaggerating your career in Korea, asking how they would know your career in Korea. Many US companies conduct thorough investigations before joining using career investigation companies with international contact networks. I also sent all documents related to my career in Korea and went through verification by a career investigation company before joining the current company. This process is repeated when applying for a work visa and permanent residency, so never exaggerate your career details.

If your Korean name is hard to pronounce, choose an American name

Many Korean names are hard for Americans to pronounce and take time to get used to. I initially used the Korean name “Seung Hun Lee”, but there were two problems. First, many people mistook “Hun” for a middle name and frequently made mistakes on important documents. And most Americans couldn’t pronounce “Seung” properly, so they asked for my name several times. As these problems continued to occur, I eventually used the English name I originally had on my resume. I was worried that there might be a problem later when joining the company because it was different from the name on my passport, but there has been no problem so far. In fact, there are many cases where Americans also have different names registered as legal names and names called by others, so it was not much of a problem to use a name that is not a legal name at the company. However, for credit cards or legal documents, you must use your legal name.

6. Apply to the Company You Want to Go to Most Later If Possible.

The most common mistake international students make while looking for a job in the US is applying to the company they want to go to most first. Even if you have obtained a degree from a US university or graduate school, it is true that your English is lacking compared to native speakers. And it is also true that the first phone interview while preparing for the new challenge of employment is trembling and difficult for anyone.

If you have your first phone interview with the company you want to go to most, you will be nervous and unable to answer questions well even though your English is not good, and you are likely to make many mistakes even on familiar programming problems. In fact, this is natural for us as foreigners.

So what I suggest is to postpone submitting your resume to the company you want to go to most if possible. Also, even if you receive a phone interview offer from here, postpone it as much as possible and practice a lot before doing it. First, please apply to small and medium-sized enterprises or companies you are not very interested in to get interview opportunities and have many opportunities for practical interview training. Since these are not companies you prefer, you can do it with a comfortable mind, and if you go through many interviews, anyone will be able to grasp the main questions that appear frequently in interviews.

And if you received a job offer from a company you didn’t prefer and signed and sent it because no other place gave you a job offer within the deadline, you are not legally bound. To be honest, the company that gave the job offer may cancel the job offer due to situations such as internal layoffs, and the person who received the job offer can also cancel even if they signed. However, if you apply to the team of the company that gave the job offer again, it will be difficult to expect good results.

If you receive a job offer from at least one place, you will avoid the situation of returning without finding a local job after graduating from studying abroad. And there is quite a bit of time left until you actually work (in the US, you interview before graduation and receive a job offer, but sometimes there is time left until you actually work, up to 6 months or 1 year), and if you are guaranteed a better opportunity from a better company at this time, you can apologize to the previous company and go to a better position.

7. Create Scripts for Phone Interviews and Programming Interviews and Practice Every Day.

The part I focused on most while doing phone interviews was creating scripts for phone interviews and programming interviews and practicing.

First, in the case of phone interviews, the contents usually asked are fixed. You will be asked to introduce yourself in any phone interview. And if there are special items in your career and they are related to the job of the company you applied for now, focused questions will come in on this part. Also, you should always prepare answers and practice about what your dream is in the future and how you will build your career.

In my case, I collected all the questions I received while doing phone interviews and organized the answers to those questions in a document after the interview was over. Similar questions were collected and organized into common answers, and I steadily increased the database while interviewing in the order of the most frequently asked questions. After doing this for a few months, I reached a level where I could answer quite fluently in English even if a decent question came out. In fact, until then, when doing phone interviews, I displayed the expected interview questions and answers I had organized so far on my laptop and iPad, and pasted the printed papers on the surrounding walls like tiles and practiced. Sometimes, even if I couldn’t remember, I naturally continued the interview while dragging time a little, finding related questions, and looking at the answers to those questions and thinking. If that process continues for a few months, anyone will find it much easier to answer frequently asked questions in English.

The same goes for programming interviews. Programming interviews lead to concept-oriented questions and actual coding questions, and answer practice centered on the script presented earlier can be used together during concept-oriented programming interviews. The fact I learned while doing dozens of programming interviews was that the scope of concept-oriented questions did not deviate from the big framework. I usually asked to be asked mainly about C/C++, and in this case, questions about C++ object-oriented concepts and terms, and questions about C/C++ keywords when actually programming were the main ones. I organized various concepts about object-oriented in English, pasted these contents on the surrounding walls when interviewing, referred to them when necessary, and later reached a level where I almost memorized them. And since these concept-oriented problems are also frequently asked when invited to onsite interviews, please memorize them all.

My interview preparation scripts (Left: Behavior Questions, Right: Technical Questions)

My interview preparation scripts (Left: Behavior Questions, Right: Technical Questions)

8. Practice and Practice Every Day While Reading Programming Interview Books

Coding-oriented programming interviews will be the most core process and the most difficult process in finding a job as a software engineer in the US. Usually, an engineer from the company you want to go to contacts you by phone and shares the screen to code, or sometimes you solve problems while coding on a whiteboard during the company briefing session or onsite interview. When I interviewed with Google in the past, I first decided whether to code in C++ or Java, and then solved problems while discussing over the phone while sharing the screen using Google Docs (now Google Drive). At this time, you don’t have to strictly follow the grammar of the programming language, and if you explain well how to solve the problem using Pseudo code, the engineers in charge of the interview will be mostly satisfied.

To solve these coding problems well, the basics of computer science must be well established. Data structures and algorithms are the most necessary parts, and related concepts and incidental facts should always be kept in mind. And regardless of the company, there are problems that appear frequently in programming interviews, so please organize them while reading the following books several times.

  1. Programming Interviews Exposed: Secrets to Landing Your Next Job, 3rd Edition by Eric Giguere, John Mongan, Noah Suojanen
Programming Interviews Exposed (3rd)

Programming Interviews Exposed (3rd)

  1. Cracking the Coding Interview: 150 Programming Questions and Solutions, 5th Edition by Gayle Laakmann McDowell
Cracking the Coding Interview (5th)

Cracking the Coding Interview (5th)

The first book is a book I read because a graduate school classmate who went to Google told me about it. In the first semester of graduate school, Microsoft came to the school for recruiting and I had a programming interview. Thinking back now, it was a simple problem, but I remember being very flustered because I didn’t know how to approach it at that time. If I had read the first book and practiced in many parts, I feel regretful that I might have obtained better results in the programming interview at that time. This book describes a lot about the problem types and approaches that appear most frequently in programming interviews. It was also the book that helped me the most while preparing for programming interviews.

The second book is a book organized by the author who has experienced Microsoft, Google, and Apple, summarizing her own know-how gained while conducting more than 120 programming interviews. The author also runs a site called CareerCup.com and analyzes what problems are coming out recently, so if you are curious about what problems are coming out these days, please go in and solve them.

If you receive a programming interview or onsite interview request, please find out what problems appear in the programming interview of the company you received the interview request from through Google search. It is difficult for the person conducting the interview to change problems frequently, and problems that have appeared once can sometimes be searched on the internet. If you prepare for the programming interview by finding such problems, coding them yourself, and finding your own solutions as practice, you may be lucky enough to have the problem you solved appear in the actual interview. At this time, do not be too happy, but pretend to be worried and derive the solution. It is more advantageous in the interview to give the impression that you are deriving your own solution while worrying in that situation rather than giving the impression that you solve it easily because you know the problem.

9. Don’t Think About Going to Korea During Vacation, Utilize Internship Opportunities Well

Since I had a one-year degree period, I went straight to job hunting without going through an internship process, but if the degree was a two-year period and there was a summer vacation, I would have definitely looked for an internship process. This is because the process of finding an internship opportunity goes through all the processes of a job interview and is very helpful in the actual job preparation process. In fact, in the company I work for now, I can see many examples of people who succeeded in getting a job after receiving good evaluations during the internship process.

Even if you interview a person for a few days, all you can know is the depth of their major knowledge and understanding, and it is difficult to know their character and way of working. However, if there is an opportunity to work together in one workplace for a few weeks, the company will be able to evaluate the person more broadly and objectively. If you received good evaluations not only in terms of ability but also in character and way of working while working as an intern, you will be able to enter that workplace more easily when you actually get a job the following year (it will be a less risky choice from the company’s perspective as well. Think about it. Even if they know a lot and are skilled, if they are self-righteous and arrogant… no one would want to work with that person). Also, even if it is not the workplace where you did the internship, you may be able to get a job at a better workplace based on that experience.

I often encounter cases where many international students try to spend their vacation period in Korea because they are tired and lonely. Although it will be difficult, I hope you utilize the internship process well during this period and get a job in a better position when you graduate. Because that period is a very important time for job hunting activities in the US.

I would like to list the sites most used when looking for a job in the US. If your resume is complete, post it here and wait for recruiters to contact you.

If your career is attractive, recruiters’ calls will line up after posting your resume on the sites above. Sometimes they introduce decent positions in large US companies, but most of them will be short-term contract positions. If you have enough OPT period after graduation, schedule interviews based on regular positions as much as possible, and ask recruiters clearly about whether the company supports work visas.

In my case, rather than using these places, going to the Career or Job section of the homepage of the company I wanted to go to and applying directly to the company seemed to be more effective in finding a job. First of all, I could apply to the job type and field I wanted, and looking at the Job Description and Job Requirement, I could gauge whether I could work well in this field.

And to refer to information related to employment, visa, and studying abroad, visit the following sites.

Post your resume on job sites as quickly as possible, and visit related information sites at least once a week to find out the latest information related to employment.

Around the time I graduated from KAIST, I had a lot of conflict about my career path. Whether to go to a domestic graduate school and finish the doctoral course and then step on the threshold of foreign countries as a post-doc course, or just finish undergraduate and work at a company and then go to study abroad. My GPA was insufficient to go to study abroad, and my English was also lacking, so overseas employment seemed too difficult, and I thought going to a domestic graduate school and going overseas later would be the best choice.

However, I wanted to see a wider world at a younger age if possible. As I got older, inertia developed in life, so I was very anxious that leaving the society I had experienced and going to another society would become increasingly impossible. I tried to go to study abroad after finishing my alternative military service, but as various problems such as tuition problems, exams to prepare, marriage problems, and job problems overlapped, the two words “study abroad” seemed to fade away, and the things I dreamed of when I was 20 seemed to become faint.

Everyone has a crossroads of choice in life, and it seems that the branches of future life vary countlessly depending on the choice at that time. I chose the path of studying in the US late at the age of 31, and although I experienced difficulties because the language, culture, and environment were different in a new country, fortunately, I finished all the necessary processes in the shortest possible time and settled in Texas now.

I cannot list them all, but I want to reveal that there were countless times of tears and difficulties in the process. Trial and error became common while starting everything anew in a new world, and embarrassing things coming from differences in language and culture became daily life. However, looking back now, I think all those processes were worth challenging enough. I thought that if I could work with talents gathered from all over the world at the center of the world and grow my own abilities, I could handle a few years of hardship in my youth.

No one told me that overseas employment was possible. In a reality where many international students return to Korea because it is difficult to find a job at a local conglomerate even after graduating from a prestigious Ivy League university, finding a job locally in the US after graduating from a master’s course seemed like picking stars in the sky. Everyone said there was no possibility, but as I went through the processes step by step, I was eventually able to cross the gateway to local employment in the US. Even if others say otherwise, if you are confident in your skills and passion, I hope you listen to your own voice.

From the perspective of majoring in computer science in the US, I want to say that local employment in the US as a software engineer is more open than any other field. While the demand for software engineers in the US is increasing, the pool of necessary domestic manpower is decreasing. This vacancy is now being filled by international students, mainly Indians and Chinese, who are leading key US IT industries. Seeing my graduate school computer science master’s classmates, composed only of international students, all getting jobs in the US, I witnessed this fact myself, and through my own employment process, I became convinced that employment in the US is difficult but worth challenging.

I hope that Korean developers full of passion and spirit who want to experience a wider world and challenge themselves will expand their horizons to a wider world through overseas employment. From my experience, if Korean developers only have linguistic competitiveness, their technical abilities are never behind compared to US developers. I think the US became a software powerhouse because the US IT industry created a system that treats developers well and a good environment where they can focus only on development.

Living as a Software Engineer in the US (Part 1)

This article was originally published in the December 2012 issue of Micro Software. I am reposting it on my blog with some additions and corrections that were omitted at the time due to length constraints.

Article published in Micro Software, a computer magazine in South Korea, December 2012

Article published in Micro Software, a computer magazine in South Korea, December 2012

Living as a Software Engineer in the US (1)

The life of a developer in Korea, characterized by repeated overtime due to grueling project schedules, once led me to give up on my dream of being a developer. Afterward, I sought a completely different career path, but the charm of computer programming did not let me go easily, and I always felt a special compassion for the path of a software developer. Eventually, I decided to study computer science in the United States and find a job as a software engineer there. I faced many arduous processes while preparing for employment in a new major, dealing with the language barrier, and adapting to the unfamiliar environment of the US. However, I eventually succeeded in getting a job at a US company I desired and have been working as a software engineer ever since. I hope this story helps readers who are preparing to advance to the US, often called the “heaven” for software engineers, as I share my experiences preparing for local employment in the US.

Stan Lee | stanley.s.lee@gmail.com

After graduating with a Master’s degree in Computer Science from Yale University, I am currently working as a software engineer at Dell headquarters in Texas. Leveraging my background in Electronics and Computer Science and my experience as a hardware and firmware engineer, I am developing BIOS and UEFI for Dell computers. Life in the US is still unfamiliar, and every day is a challenge, but I am living with the joy of experiencing a new world.

The Hard Life of an Engineer

January 31, 2006. This was the day I finished my alternative military service and put an end to my career as a developer in Korea. (In South Korea, conscripts can sometimes serve via government‑approved civilian programs — I served as a software engineer at a small startup.)"

Since I was young, I had been interested in computers and programming, soldering numerous electronic kits and creating various programs with Turbo C. Choosing Electronic Engineering as my major in university allowed me to build a deeper relationship with computers. During my time at KAIST, my experience working as a founding member of a venture company made me think that my interest and talent lay more in software than hardware. However, the life of a developer I experienced during my alternative military service brought me great disappointment. Exhausted from constant overtime and grueling project schedules, I was shocked to hear from a hospital that I might have health problems due to overwork at the young age of early 20s. Furthermore, seeing that the monthly salary I received for working from morning till late at night, and sometimes even on weekends, was less than what I could earn from a few tutoring gigs, made me deeply conflicted about whether I should continue this work. As soon as my three years of three-year alternative military service ended, I put a period on that arduous life.

Studying Business and Dreaming of Studying Abroad

I worried a lot about what to do with my life. Ending my company life, I wanted to try studying business administration, which I had been interested in while working at a startup company during my college days. I applied for a bachelor’s transfer to Seoul National University’s Business School. I passed the initial screening and major exam, and thankfully, the final interview, starting my college life anew. During the two and a half years there, studying business administration, I dreamed of a completely different career. Around graduation, I interviewed with foreign consulting firms and investment banks, but conflict was brewing in my heart about whether this was truly the life I wanted.

I had been dreaming of studying in the US since my early 20s. I wanted to visit that land, driven by a longing for a new world and a desire to study and work in the US, the most developed country in the world. After graduating from KAIST, I had once prepared for studying abroad, but due to busy company life and various personal circumstances, the dream of studying in the US was fading. And if I were to join a foreign consulting firm or investment bank after graduating from business school, this dream would have to be put on hold for another few years. The possibility of working in the US seemed to diminish as I got older, and by the time I was graduating from my second university, I was already approaching thirty. A decision was needed.

I prepared for an MBA, which was very popular at the time. I took the TOEFL and GMAT, received scores eligible for application, and applied to MBA programs at top 10 US schools. However, the subprime mortgage crisis hit, and the number of applicants to US business schools surged. I prepared hard for over a year, but I didn’t receive an admission offer from anywhere. Thinking back, it might have been a natural result that I was rejected from all the schools I applied to, as I didn’t have a spectacular career at the time, and my only unique point was having studied both business and electronic engineering. The following year, I gathered my wits and decided to apply for a Ph.D. program in business, thinking I would study business administration, which I had studied most recently, a bit more in the US. A professor at George Washington University took an interest in my unique background of studying both IT and business, so I decided to apply there. I passed the document screening, and all four professors I had phone interviews with seemed to have a good impression and recommended me. I received the department’s recommendation, and now I only needed the recommendation from the school’s admissions office, the final gateway. Unfortunately, I was rejected at this final stage.

It felt like all the clocks in the world had stopped. I felt as if my efforts over the past two years had shattered and blown away into the air. I struggled in confusion about what I should do and which path I should take. However, as time passed, I began to face reality again and decided to challenge myself for one last year before giving up on studying in the US and choosing a career path in Korea. This time, there was no retreat. And this time, I had to break through this gateway.

I thought deeply about what I could do. Although I had left the IT industry more than four years ago, I had a deeper understanding of technology than anyone else, and I was someone who loved computers and programming. And now that I had also learned business administration, MIS (Management Information System), which combines IT and business, was one of the possible career paths. I steeled myself again and began preparing for the gamble of my life. I traveled to Japan several times to take the GRE, and to earn the necessary application fees, test fees, and living expenses, I juggled 7-8 tutoring jobs while applying to over 30 computer science graduate programs and MIS programs at business schools.

Among my friends preparing to study abroad, no one applied to as many schools as I did. I was that desperate; I couldn’t afford to fail now, so I was sprinting with all my might for the maximum possibility.

Yale

Yale University

Yale University

There is a saying, “Do your best and wait for heaven’s will” (Jin-in-sa-dae-cheon-myeong). At that time, I was truly doing my best in my life and waiting for the result from God. In February 2010, the first place I heard from was Yale University, one of the most famous universities in the Ivy League along with Harvard. Later, I asked Linda, who was in charge of student services at Yale, and she said that 280 people applied for the CS Master’s/Ph.D. program that year, and 19 received admission to the Master’s program. Starting from that point, news of admissions and rejections began to fly in one by one. The places where I was finally accepted for the Computer Science Master’s were University of Michigan (Ann Arbor), Johns Hopkins, UC San Diego, UC Irvine, UC Santa Barbara, and for business school, I received an admission offer from the Eller College of Management at the University of Arizona, which is particularly famous for its MIS program.

I thought a lot about choosing a school in connection with my future career path. Since I wanted to find a job in a US company after graduating with a Master’s degree, I decided to choose Computer Science, where it is easier for foreigners to find jobs and where there is employment competitiveness even if one’s English is not perfect, rather than business school. And within Computer Science, I struggled a lot between the University of Michigan, which has a particularly high major ranking, and Yale, which has high school prestige. In the end, I chose Yale and left for the US.

Intense Job Hunting and Studies

New Haven, Connecticut, where Yale University is located, is a small European-style university town. It is a romantic place, but it is also a dangerous place where you can occasionally hear gunshots at night and should never walk alone after dark. I settled in an old and shabby apartment here and started my study abroad life with my wife.

In fact, when I first came to study, I thought Yale’s Computer Science Master’s program was two years long. However, after reading the department information carefully after admission, I found that I could choose from 1 to 4 years. I could adjust the graduation timing according to my plan, but there were minimum GPA requirements to graduate. Graduate grades in Computer Science at Yale are not given as A, B, C like in Korea, but are divided into Honor, High Pass, Pass, and Fail. To graduate, you need an average of High Pass, and at least one class with an Honor grade. In Yale’s graduate school, Pass is the grade you usually get if you work hard. To get a High Pass, you have to pour in a lot of effort, and getting an Honor was really difficult. Having not received a single Honor in the first semester, I had to constantly strive harder in the second semester to graduate. I prepared for homework, projects, and exams while sleeping only 2-3 hours a day, to an extent I had never studied so hard before. Since the tuition was expensive and health insurance was also very expensive, I studied really hard with the goal of graduating in one year to finish the degree as quickly as possible.

And since I came with the intention of getting a job as a software engineer in the US, I could never neglect finding a job. For almost 8 months from October 2010 to June 2011, I continued to revise my resume, write cover letters, and prepare for programming interviews and phone interviews while focusing on my studies. During the semester, I frequently received calls requesting phone interviews, and there were quite a few days when I spent 4-5 hours just doing phone interviews. Later, when I counted, I had sent out about 1,300 applications to companies, and I think I had about 70-80 phone interviews. At first, phone interviews were too difficult and it was hard to understand the questions, but after doing many interviews, I could quickly predict what questions would come out and my answers began to get organized. It seems that as experience accumulates, confidence grows, and you can overcome situations with ease. Programming interviews were also an area where I suffered at first because I didn’t have much background knowledge. Although I had worked as a software engineer in Korea, it was almost 5 years ago, and since I majored in electronic engineering in college, my understanding of important subjects in computer science such as algorithms and data structures was not deep. However, I diligently took classes in the Computer Science department at Yale and audited courses I lacked to build up the necessary knowledge. And my confidence in my major also grew.

One thing that stressed me out a lot while preparing for employment was the OPT (Optional Practical Training) issue. This OPT system gives you a chance to work in the US for a certain period if you graduate with a degree in the US. There is a period during which you can apply for OPT before or after graduation, and you can only apply for this once after receiving a degree in the US. Since my graduation was uncertain, whether to apply for OPT was also a big worry. If I applied for OPT but, by any chance, my grades for the last semester didn’t come out properly and I couldn’t graduate, there would clearly be a problem with the applied OPT. Fortunately, all grades released two weeks before graduation met the graduation requirements, so I could apply for OPT, but there were still many things to consider even after applying. If I couldn’t find a job in the US within 90 days after OPT started post-graduation, I would have to return to Korea, so my heart kept getting anxious while I continued to look for a job after applying for OPT.

Microsoft, LSI, and Dell

The first place I received an interview invitation from was Microsoft. Microsoft regularly held recruitment sessions at Yale University, interviewing Computer Science students and inviting them to Microsoft headquarters for onsite interviews. When they came for the session in the fall semester of 2010, I wasn’t prepared for programming interviews at all, so I couldn’t answer algorithm-related questions well and didn’t get an onsite interview invitation. However, in the spring semester of 2011, thanks to preparing for programming interviews for quite a long time, I answered all the questions from the interviewer who came to the school and received an invitation for an onsite interview in Redmond, Washington, where Microsoft headquarters is located.

I took an early morning flight to Washington to attend the onsite interview during the school’s spring break. Microsoft hosted a party the day before the interview, but I didn’t go for fear of being distracted the next day. Since much of the pass/fail decision is determined in the programming interview, I spent the night before the interview organizing algorithms and data structures and recalling expected questions and answers.

Finally, on the day of the decision, Microsoft sent a cool bus decorated with colorful neon signs inside for the interviewees. 15 minutes later, I entered a building at the headquarters and waited; looking around, everyone preparing for the interview looked clearly nervous. There were 4 interviews of 50 minutes each, all of which were programming interviews. Microsoft is famous for every developer having a private office, and for each interview, the interviewer would take me to their room.

In the first engineer’s room, he explained the project he was working on and asked what solution I could offer for a problem he was facing. My English was still poor at the time, so I couldn’t understand the question fully and asked again several times. I understood the question to some extent, set up a data structure in my own way, and presented a solution I thought of, but it didn’t seem to make a big impression. In the second engineer’s room, I was first presented with a problem to detect a cycle in a Linked List, and as conditions were added, I was asked to write Pseudo code for each. I wrote code on the whiteboard while exchanging questions with the engineer for an hour, and at the end, I heard “You are correct.” Hope began to rise a little. In the third room, the manager interviewer gave me a paper and a pencil, asked me to create a Tree according to his requirements, asked various things about Depth-first search and Breadth-first search, and then ordered me to implement an algorithm that met the conditions he required. After several attempts and discussions, another hour passed and I left the room. In the last room, I presented an algorithm for a given search in Pseudo code, and then I was asked to change the code I wrote in Recursive to Iterative and explain the pros and cons of the two codes. This was a part I already knew well, so I remember answering quite well. And all the interviews were over.

After lunch, everyone who interviewed that day gathered in one room. And whenever a name was called, Microsoft employees would take that person and disappear. My name was called, and a female employee guided me. While walking and talking about this and that, when I heard “Unfortunately…”, I could sense the result. Regrettably, my meeting with Microsoft ended there. There were about 15 people who interviewed that day, and I remember about 2 people passed.

Thanks to pitching with all my might in the last semester, I received good grades and was able to graduate from Yale in one year. Around graduation, I received an interview request from a company called LSI, which makes semiconductors related to networks and storage, and had phone interviews with two engineers. They must have thought the phone interview went well, as I later received an onsite interview invitation and went to Pennsylvania. I interviewed with 5 people, and it wasn’t as hard as Microsoft. I answered most of the programming questions and finished the almost 6-hour interview with a comfortable mind. However, about 3 weeks later, I heard from the manager that due to internal restructuring at the company, they had to prioritize hiring internal personnel, so the team couldn’t hire more external personnel. Another person I interviewed with that day told me that the team was positive about me, but they suddenly had to hire from internal resources and apologized. It was disappointing, but I had no choice but to promise the next challenge.

The third interview request I received was from Dell Computer in Texas. I had applied for several software engineer positions through Dell’s website, and a few months later, Dell suddenly called and asked if I was interested in interviewing for a BIOS engineer position. They had noticed my background of majoring in electronic engineering in undergraduate and studying computer science in master’s. I was not in a position to be picky. The OPT system, which gives employment eligibility in the US after graduating from graduate school, required returning to the home country if one failed to find a job in the US within 90 days of starting OPT after graduation. I had to find a job somehow. A few days after finishing the phone interview with the Dell engineer, a flight ticket to Texas arrived, and unexpectedly, I went to Texas for an interview.

I arrived in Texas in the sweltering heat and had an interview at Dell headquarters in a city called Round Rock. I interviewed with 6 people for 6 hours. I was asked basic concept questions about C/C++ and also required to give a brief presentation about the projects I had participated in. Along with basic concepts about the computer booting process and the role of BIOS, I was also asked to answer Behavior Questions predicting coping abilities in various situations in an organization. After the tense moments of 6 hours ended, I returned to the hotel to rest and was able to have a sweet sleep for the first time in a long while that day.

Three weeks later, I received offers from two teams at Dell. After salary negotiations, the official job offer letter arrived, and the deadline was one week. At the time, I was told that the next step for the Google interview I was proceeding with could take up to 6 weeks to be decided, so I stopped the process and decided to join Dell. And so, I started a new life in Texas with my wife.

What is a Software Engineer in the US?

The job-related site CareerCast.com selected Software Engineer as the best job in 2012 while selecting the best and worst jobs. By summing up average income, work environment, stress, physical labor intensity, and employment prospects and comparing them with other jobs, the result was that in the US, a software engineer was selected as the best job where one is socially recognized, works in a pleasant environment, and can earn a high income.

The first thing I could find after starting life as a software engineer at Dell was the balance between work and family life. Although it varies by company, most US companies adhere to working hours based on 9-to-5. However, in the case of IT companies, and for people working in software jobs, these working hours become a bit looser and are often left to individual discretion. At Dell, too, there are no set working hours for me. I usually leave home at 9 am by car, arrive at the office around 9:20 am to start my day, and finish work between 5 pm and 6 pm, repeating this life for almost a year. Of course, sometimes when work is busy, I work late in the evening, and sometimes I go to work on weekends. As everyone has different concentration times, some people start work around 7 am and leave early, and some come a little late and leave later than others. Also, if there are cases where one is late or cannot come to the company due to childcare or medical appointments, a culture is formed where most managers understand if you contact them. In my case, I was given 2 weeks of vacation in the first year, but if personal business arose, I could use 2 more weeks (of course, this must be discussed with the manager). While at it, I counted the official holidays given by the company besides vacation, and there were 11 more days. It is hard to find cases like in Korea where overtime is as common as eating meals and people come out to work on weekends.

There is a website called Glassdoor (www.glassdoor.com). Here, you can find out how much salary people belonging to a specific job group in a specific company receive. If you search for the salary of a software engineer at Google, the most representative one, you can see through the Glassdoor website that although there are individual differences, they receive an average of about $100,000 within the first year of joining. Since this salary is voluntarily posted by people who say they work at Google on this site, it is not 100% reliable, but it can be good data to roughly guess how much it is.

Google Software Engineer Salary in San Jose via Glassdoor.com (Entry Level)

Google Software Engineer Salary in San Jose via Glassdoor.com (Entry Level)

In the case of Google, since it is the most successful IT company, the salary level is one of the highest. What about other large IT companies? Let’s pick famous companies like HP, Intel, and Amazon.com among the companies on the Fortune 500 list on the Internet and check the salary of software engineers on the Glassdoor site. Although it varies by person and job type, it allows you to roughly guess what kind of treatment you receive in the US.

Now let’s think about the case of Korea. Through newspaper articles, and for those who have worked in the field, you probably know what kind of life engineers in the IT field, who were once at the center of the Korean venture myth, lived. Although there are some differences by company and development job type, family often took a back seat while handling tight development schedules, enduring overtime and weekend work. This phenomenon is probably not unique to developers. If you look at Forbes’ “The World’s Hardest-Working Countries” article, it shows that South Koreans worked the longest hours among OECD countries that year. Looking at the OECD’s “Average annual hours actually worked per worker” statistics, the average annual working hours of Koreans from 2000 to 2007 were about 2400-2500 hours, the highest among 35 countries, and since 2008, it has ranked second by a narrow margin to Mexico. Since these statistics are averaged with large corporations with relatively good welfare levels, I have heard that in the case of small and medium-sized enterprises with relatively poor treatment, annual working hours exceed 3000 hours. I worked as a developer in Seoul, and to go to the company in Gangnam, I had to wake up early in the morning and take the crowded subway to get to work on time. I settled for toast sold at the subway entrance in the morning, resolved lunch and dinner at or near the company, coded while working overtime that day too, and left the company around 8-11 pm. Although no one forced me, I think I naturally got used to that life as most developers were living such a life. When I came home, it was dark night, and my body was soaked in fatigue, so I would order a late-night snack, watch TV, and fall asleep. After living like that for over 3 years, I couldn’t find much of my own life. I might have been able to live this life when I was single, but I don’t think I had the confidence to handle this life if I got married and had a family. So I think I voluntarily gave up this path.

Average annual working hours of OECD countries - Showing Korea’s murderous working hours (Source: OECD.StatExtracts)

Average annual working hours of OECD countries - Showing Korea’s murderous working hours (Source: OECD.StatExtracts)

There is a fascinating fact I discovered when I joined Dell and started working. I could see people who were clearly grandfathers with gray hair still developing software. And one day, that person was congratulated at a meeting of the entire server part, and he said he had been working at Dell for over 20 years. Looking at the software engineers I work with, I could easily see cases of working at the company for 10 to nearly 20 years. Of course, Texas is a place where the influx of manpower is not as high as Silicon Valley, but in many cases, they were satisfied with the life of an engineer. I once heard that a manager position became vacant in a team, and they tried to pick a manager from among the internal engineers, but no one wanted to be a manager, so it became difficult. In Korea, everyone would have wanted to be a manager, which was very strange. This is because, due to the nature of Korean companies where engineers move up to management positions, promotion and salary can stagnate if you don’t become a manager. But it is different in US companies. This is because even if you stick to the path of an engineer for life, if you work hard at your job, you can be sufficiently recognized by the company and receive financial rewards.

At the time of finishing my Master’s in Computer Science at Yale, my friends who studied with me also started preparing for interviews, running around to find jobs after graduation. A unique point was that there were no Americans among the friends who entered as Master’s students. The Computer Science Master’s classmates consisted of 13 students from China, India, and Korea, and most of them were international students who came to study in the US for the first time. However, after graduation, all of these friends were employed by major US companies (excluding those who went on to graduate school or voluntarily returned to their home countries). I still keep in touch via Facebook occasionally, and looking at the companies they went to, most are famous major US companies such as Google, Oracle, Bank of America, Bloomberg, and Qualcomm. In fact, this is surprising. I heard that the employment rate for foreigners who come to study in the US and graduate with a degree is around 5% due to various status issues and English problems. As someone who has seen many cases where people with Ph.D. degrees from prestigious US universities struggle to find local employment in the US and wait for several years while drifting through post-docs, it was hard to see it as just luck that all my Master’s classmates got jobs at good companies within a year of coming to the US. This was due to the US job market, which has many doors open for software engineers.

So why is the door for software engineers wide open to foreigners in the US?

First, the scarcity value of software engineers. I believe that the social value of a job is determined by scarcity. If demand is high but production is low, treatment is bound to be good. I have experienced three US universities so far. The first was UC Berkeley, where I came for summer school during college, the second was the University of Arizona, where I came for language training, and the third was Yale, where I did my Master’s degree. When I asked American friends in undergraduate what they wanted to do in the future, most of the answers were three things: Medical School, Law School, and Business School. Although there are differences by region and school, the number of students majoring in engineering and wanting to make it their lifelong career is decreasing across US society, and foreigners are filling those spots. However, while the number of students coming to study engineering is limited, IT companies in the US continue to prosper. Also, engineering has high entry barriers, so it is not a field anyone can jump into just because they want to. It is a field that can be done by passionate people who are willing to study for a long time and handle difficult and hard work in actual practice.

The second reason for the good treatment of software engineers in the US is legal reasons. US companies hire many capable foreign software engineers, but it is legally stipulated that their treatment should not be different from Americans. It is not just a formal law; if there is discrimination in salary, treatment, environment, etc., between hired foreigners and Americans, it is recognized as a discrimination problem, which is considered the biggest problem in the US, and can become a lawsuit subject to huge fines. Foreign workers working in a country other than their own often face many disadvantages in terms of money and treatment in many countries except the US. However, at least in the US, it is set by law not to discriminate against foreigners if they have the right to work legally. In fact, this issue stems from a plan to protect citizens rather than to treat foreigners well. If foreigners are hired by US companies at lower wages than citizens, confusion arises in the employment market, leading to a phenomenon where the wages of all Americans are lowered. To prevent this phenomenon, hiring foreigners is allowed only for companies that pay wages relatively similar to Americans. It comes from the intention to hire Americans if possible if the ability is the same.

Third, dependence on foreign developers in the US IT industry. US universities have voiced concerns in the IT industry as interest in computer-related departments, including computer science, has dropped among Americans every year, and the number of actual enrollees has decreased. Please remember that I mentioned earlier that there were no American entrants in Yale’s Computer Science Master’s program. In fact, IT-based companies like IBM have provided a lot of financial support and manpower to universities, requesting them to provide more manpower to the IT field. However, in the case of smart American students, the majority hope to become doctors, lawyers, or work as bankers on Wall Street, so naturally, computer-related technologies have moved away from the interests of most American students. Many IT companies leading technology development are currently based in the US, and as their business base grows, they need more engineers with high-level skills. If the scope of the labor market is composed only of Americans, it is too small to handle the demand, but if it targets foreigners worldwide, the range of engineers that can be hired widens significantly. Also, if foreign engineers are hired, they must be treated the same as Americans, so talented foreign engineers dreaming of the American Dream come to the US and settle in major US IT companies like Microsoft, IBM, and Intel. Generally, foreign engineers work harder to make their value known technically, even if their English is a bit lacking. From the company’s perspective, since these hard-working engineers produce good results and are satisfied with company life, they need more foreign talents as IT talents in the US decrease.

Conclusion…

It took 11 years from the time I dreamed of studying in the US at the age of 20 to finally come to study in the US. Although I worked as a hardware/software engineer in Korea, it was hard to be sure if I could continue this work as I got older. I tried changing my major in the middle and tried to advance into other fields, but the biggest reason I dreamed of advancing overseas seems to be that I couldn’t find the balance between work and family life according to the lifestyle I desired.

There were many difficult times after coming to study in the US. I had to find information on the internet countless times for things that would have been easy to do in Korea, ask people, and attempt phone calls, which were most fearful for me with poor English. For a year, I learned American life hard while hitting the ground running, learned a new major, and even challenged myself for local employment in the US. And thankfully, I am now living the lifestyle I dreamed of in Texas.

Yesterday, all the server engineers at Dell gathered for a general meeting. There were hundreds of people, and there was a time to applaud and thank engineers who had worked for 5, 10, 15, 20, and 25 years. 25 years… I wondered if I could work as an engineer in one company for 25 years in Korea. Seeing grandfathers and grandmothers with gray hair working as engineers, I thought that the US might be one of the best environments for engineers to work.

If your life is flowing differently from what you think, I would like to advise you to constantly challenge other opportunities. Whether it is overseas employment, changing to another job, or starting your own business, I think you can dream of a better life when you find an aptitude that suits you and constantly challenge yourself. I also spent a long time in my 20s worrying, ‘This isn’t it, that isn’t it either..’, and I think I have finally found what I want. It took quite a long time, but since I found what I wanted, I think it was a very meaningful time for me.

Whether it is the US, Australia, or Japan, it seems that more and more IT engineers are thinking about overseas employment. From the outside, Korean society is a really narrow society. It is a society where countless people are concentrated in the Seoul area on a small land, constantly competing, and busily turning like a hamster wheel. If you turn your eyes a little and look overseas, you will be able to find multinational companies that need capable IT engineers. Working in another country and learning the culture of this country anew is also a difficult process of resetting many things learned in Korean society so far and learning everything again. However, if you want to see a wider world and experience a different world, it would be good to try another adventure once in your life. Although there is the obstacle of English, doesn’t a software engineer speak with technology and skills? They said where there is a will, there is a way. I want to say that overseas employment as a software engineer is not impossible if you look for it hard and challenge yourself.

In the next issue, I will look in more detail at what to keep in mind when looking for a job in the US and what process you need to go through to work as a software engineer locally in the US.

Reference

[1]: “The 10 Best Jobs of 2012”, CareerCast.com

http://www.careercast.com/jobs-rated/10-best-jobs-2012

[2]: “The World’s Hardest-Working Countries”, Forbes

http://www.forbes.com/2008/05/21/labor-market-workforce-lead-citizen-cx_po_0521countries.html

[3]: “OECD.StatExtracts Average annual hours actually worked per worker”

http://stats.oecd.org/Index.aspx?DatasetCode=ANHRS

https://web.archive.org/web/20210920022625/http://www.stanstory.com/?p=6