Becoming A Microsoft Programmer

Becoming A Microsoft Programmer

How a Curious Coder Made the Transition to Programming at a Major Technology Company

The Beginning: Building My Coding Skills

My journey with LaunchCode began with their online skills test and ended with a job as a web developer at Microsoft.

I had spent the better part of my twenties teaching English abroad in China, Taiwan, and Japan before becoming interested in websites and programming. After moving to Seattle, I began expanding my knowledge of HTML/CSS/JavaScript with websites like Treehouse, FreeCodeAcademy, and Pluralsight, and I learned a great deal throughout this time. However, like so many self-taught job seekers in the current race, I found that while I had many skills needed to perform on the job, I was unsure of how to prove this to employers.

I found that while I had many skills needed to perform on the job, I was unsure of how to prove this to employers.

At the advice of a friend, I made a website for a local nonprofit, The Coalition for Refugees from Burma. It was shortly after completing this website that I discovered LaunchCode and read up on their Apprentice program. I took their skills test, passing it not on the first but the second try, and eventually was introduced to Lisa, LaunchCode’s Candidate Engagement Manager (CEM) in Seattle.

Over the course of our one-on-one conversations, I was given several pieces of invaluable advice that had a profound effect on my future.

The Middle: Much Needed Guidance

In our first conversation, Lisa gave me her honest opinion. “You’re doing well, “ she said, “but you’re not quite ‘ready’.” And what I really appreciated about this was that Lisa, being a coder herself, was able to give me concrete steps on what to do to get ready. I’ll spend a little time on each of those steps below because I think that for someone early in their journey to a career in tech, her recommendations are priceless:

1) Get a Good Coding Book & Gain Knowledge of Your Chosen Language(s).

For me, that book was Eloquent JavaScript. Looking back after the interview process, this book provided not only the basic knowledge that even the most basic browser junkie needs to know, but also more intermediate-to-advanced topics such as the mechanics of regexes, event bubbling, and control flow. Whatever your language, whatever your book, Lisa suggested, spend time on it every day, and make it a priority.

 

2) Fill Out Your Github Portfolio

Another piece of advice that was given to me was to fill out my GitHub portfolio with another project. At the time when I started the program, I had a few minor projects and one more major project. These took the form of a personal site I’d written, as well as the aforementioned site for the Coalition for Refugees from Burma. And yet, I understood that I needed to diversify my portfolio.

Employers at the time wanted React and Angular, or at least to know that you could learn different frameworks if needed. I didn’t have that. So, I created a bare-bones discussion site for Lord of the Rings lore with Angular and redid my personal site with React. Frameworks are widely used but aren’t a substitute for a good grasp of a language (see: #1). The basic rule is to ensure that your portfolio demonstrates the skills you need to do quality work.

Ensure that your portfolio demonstrates the skills you need to do quality work - Will Bjorn Click To Tweet

Get familiar with git — it’s one of those skills that doesn’t get the attention it deserves in these conversations. I can’t speak to all workplaces, but it’s an absolutely essential tool and one that most employers want.

3) Practice Live Coding

For all the positive effects of previous advice, help with peer coding was, I think, the most important aspect of the LaunchCodes job training and the one that I couldn’t have gotten by myself.

Help with peer coding was, I think, the most important aspect of the LaunchCodes job training and the one that I couldn’t have gotten by myself

Over the course of three sessions, LaunchCode gave me several coding problems and watched me complete (or try to complete) them.After each session, they helped me find errors in my logic and gave me pointers on how to tighten up my code. 

Not only did this aid me on the phone and in-person interviews that were to come, but it, simply put, made me a better programmer. That is the point, after all.

You don’t need a tutor to start practicing right this second. Sites like LeetCode, CodeFights, and my personal favorite, Codewars, are the best way to practice. Treat every problem like a learning exercise, but don’t stress when a problem stumps you. If you take even one thing away from a difficult problem, it hasn’t been a waste of time.

 

The End: The long-term payoff

Many months and many more job applications flew by. Gradually I got better, and then it paid off when I landed my first good job.

Now I’m working as a front-end developer on a Microsoft site with millions of unique visitors every month.  My journey is far from over, and there are thousands of web developers out there who could teach me a thing or two. LaunchCode helped me clear the very tall initial hurdle to get into the industry.

LaunchCode helped me clear the very tall initial hurdle to get into the industry.

With an unending thirst to learn, the discipline to keep teaching yourself, and the help of a few good people, you can do exactly that.

Liftoff: All-in<tech>

I was happy to learn that LaunchCode now has a program in Portland and Seattle,  LiftOff: All-In<tech>designed for people with tech skills who are traditionally marginalized because of education, background, or minority status, to help them break into the technology field. I can attest to the fact that the people at LaunchCode really do want to help you. They’re a non-profit whose only motive is to help bridge the tech gap. I’m extremely grateful for everything they’ve done for me. They’re great people, and they want to help you reach the next stepping stone in your career.

By Will Bjorn
LaunchCoder
Front-End Web Developer at Microsoft