By YK Sugi
Hi everyone!
On my programming-education YouTube channel called CS Dojo, many people have asked me to explain how I would go about writing a résumé for software engineer positions.
So, here’s my article about it.
In this article, I’m going to first walk you through the résumé I personally used to get a software engineer job at Google.
Then, I’m going to show you how I would change it today based on what I’ve learned since then.
I’m also going to give you some general tips and advice on how to build your own software engineer résumé.
I don’t really consider myself an expert on résumé writing, but hopefully I’ll be able to provide some insights based on my personal experience, as well as some research I’ve done to write this article.
See my résumé here.
If you’d like, you can download my résumé here as you follow along with this article.
The Structure
First of all, let’s quickly go over what sections I have on my résumé. Then, we’ll go over each of them in turn to talk about them in more detail.
From the top, I have:
- Experience
- Education
- Technical Skills
- Other Skills
- Awards
- Projects
Experience
This is the part where you include the work experience you want to show. You don’t have to include every single position you’ve ever held. That’s why I didn’t include my math tutoring position. It’s less relevant than my other, more technical positions.
If you have significant non-work experience that’s relevant, you can also include it here. For example, if you led a team for a coding competition, you might want to include it here. You could also include it in the project section, but it will stand out more in the experience section.
I have four positions in my experience section:
- Program Manager Intern at Microsoft
- Data Science Intern at Microsoft
- Founder and President at Data Science Club at UBC (University of British Columbia)
- Software Development Intern at Moneytree (a startup in Japan)
Let’s take a look at the first position as an example.
In my résumé, it looks like this:
The headline has the following structure:
at <Company>, <Lo</strong>cation>, <Date> as in:</p> <p><strong>Program Manager Intern at Microsoft, Redmond, WA, 5/2015–8/2015</strong></p> <p>This is a fairly standard format.</p> <p>Then, below it, I have a description of what I did:</p> <blockquote> <p>I was responsible for designing and implementing a specific feature within Microsoft Dynamics CRM with developers and other PM’s. My responsibilities included the initial research, planning the project, designing the product, creating wireframes, and writing and executing on a spec.</p> </blockquote> <h4 id="heading-how-i-would-change-it-today">How I would change it today</h4> <p>When you write your résumé, don’t necessarily assume that the reader knows all the technical terms, especially company-specific ones. In the above description, I mentioned Microsoft Dynamics CRM, but many people are not familiar with it. So, I would change it to the following:</p> <blockquote> <p>I was in the team that was responsible for Microsoft Dynamics CRM, which is a piece of customer relationship management software. I led the effort to build a feature that allows users to easily keep track of business expenses. My responsibilities included the initial research, planning and managing the project, designing the feature, creating wireframes, and writing out our specs.</p> </blockquote> <p>Note that in addition to clarifying the term <strong>Microsoft Dynamics CRM</strong>, I added a quick explanation about what exactly I built.</p> <p>Now, let’s take a look at another position I have in the experience section.</p> <p><img src="https://cdn-media-1.freecodecamp.org/images/b-XuUMHc9S7CNEMmUv4J07Vf89jqheEEA4qZ" alt="Image" class=""></p> <p>The headline is: <strong>Founder and President at Data Science Club at UBC, Vancouver, BC, 10/2013–5/2014</strong></p> <p>I have three bullet points below it:</p> <ul> <li>Responsible for acquiring more than 120 members</li> <li>Organized meet-ups to exchange our ideas on data science</li> <li>Formed a team of several students to work on a machine learning competition on Kaggle</li> </ul> <p>First, note the use of bullet points here. Sometimes it makes it easier to read and skim the résumé.</p> <p>Also, note how I used a specific number in the first bullet point — <strong>Responsible for acquiring more than <em>120</em> members</strong>. Using a number often makes your accomplishment clearer. Of course, you don’t <strong>always</strong> have to use a number. Use it when it makes sense.</p> <h4 id="heading-how-i-would-change-it-today-1">How I would change it today</h4> <p>I wouldn’t make any major edits in this one. Only minor grammatical edits.</p> <h3 id="heading-education">Education</h3> <p>This is, of course, the part where you list your relevant education.</p> <p>Here’s what I have:</p> <p><img src="https://cdn-media-1.freecodecamp.org/images/UXkXS16A18w79glLagkNylDEtnFWlhiuOwqt" alt="Image" class=""></p> <p>For each university, I have the university name, location, a type of degree (BS — Bachelor’s of Science here), a major, the expected graduation date, as well as the GPA listed.</p> <h4 id="heading-about-gpa">About GPA</h4> <p>According to an <a target='_blank' rel='noopener' href="https://careercup.com/resume">article on CareerCup</a>, the general rule of thumb is to show GPA only if it’s higher than 3.0 out of 4.0. I agree with this recommendation.</p> <h4 id="heading-how-i-would-change-it-today-2">How I would change it today</h4> <p>I would keep this section as-is. Let’s go to the next section.</p> <h3 id="heading-technical-skills">Technical Skills</h3> <p>Here’s what I listed under this section on my résumé:</p> <ul> <li>Wireframing: <strong>Balsamiq, Microsoft PowerPoint</strong></li> <li>Visual Design: <strong>Adobe InDesign, Photoshop, Illustrator</strong></li> <li>Statistical Analysis: <strong>R</strong></li> <li>Machine Learning: <strong>Python with NumPy and Pandas, Ruby, Spark (prior experience)</strong></li> <li>Programming Technologies: <strong>SQL, MATLAB, Ruby on Rails, Java</strong></li> <li>Programming Technologies, front end: <strong>JavaScript, HTML/CSS, LaTeX</strong></li> <li><strong>Version Control: Git, GitHub, Bitbucket</strong></li> </ul> <p>I would say that I listed way too many things here. I would cut it down to just these two:</p> <ul> <li>Data Science: <strong>R, Python with NumPy and Pandas, Spark (prior experience)</strong></li> <li>Programming Technologies: <strong>SQL, MATLAB, Ruby, Ruby on Rails, Java, JavaScript, HTML/CSS</strong></li> </ul> <p>I would only list these two, because the other skills were less relevant in this case.</p> <p>Also, note how I put <strong><em>Spark (prior experience)</em></strong> to show that I have some experience with Spark, but I’m not proficient with it.</p> <h3 id="heading-other-skills"><strong>Other Skills</strong></h3> <p>You can use this section if you want to include other relevant skills. I included Japanese and public speaking in this section.</p> <h4 id="heading-how-i-would-change-it-today-3"><strong>How I would change it today</strong></h4> <p>I would cut this section out entirely since it’s not that relevant to the software engineer position I was applying for.</p> <h3 id="heading-awards-and-projects">Awards and Projects</h3> <p>Include relevant awards and projects in these sections.</p> <p>The word “relevant” is important here. If you won second place in a regional karate championship, for example, it’s probably not that relevant.</p> <p>However, you might want to include it if it’s <strong>really</strong> impressive — for example, competing on a national or international level with karate.</p> <p>I have one award and three projects on my résumé.</p> <h4 id="heading-the-award">The award</h4> <p>Here is the award I have on my résumé:</p> <blockquote> <p><strong>TELUS / IEEE Student Innovation Challenge</strong><br>Our team won a third place at the pitch contest where we presented an idea for a device that helps the blind. Our idea was a device that converts 3-dimensional spatial information into sound so that blind people can “see” the environment by hearing. We were awarded a $3000 grant to develop a prototype.</p> </blockquote> <h4 id="heading-how-i-would-change-it"><strong><em>How I would change it</em></strong></h4> <p>I would clarify my wording a bit so it’s easier to read. Maybe something like:</p> <blockquote> <p><strong>TELUS / IEEE Student Innovation Challenge</strong><br>At this technical product pitch contest, we presented an idea that helps blind and visually impaired individuals. Our idea was a device that converts 3-dimensional spatial information into sound. It would convert the proximity of the object in front of you to the loudness of the sound, and the height of the object to the pitch of the sound. We were awarded a $3000 grant to develop a prototype for this idea, and we are currently in the process of developing it.</p> </blockquote> <h4 id="heading-projects">Projects</h4> <p>Now, in addition to this award, I listed three projects which I thought would be the most impressive.</p> <p>One of them was this one:</p> <blockquote> <p><strong>YamBomb! ,</strong> August 2014<br>A colleague of mine at Microsoft and I created a gaming app with which one would send a “bomb” that “explodes” in 24 hours unless they pass it to somebody else. It started with a few users and organically grew to more than 70 users within a week of its launch. We developed the application with Ruby on Rails and Yammer API.</p> </blockquote> <p>Note how I used a specific number (70 users) here as well. I also mentioned the tech I used for this project — Ruby on Rails and the Yammer API. (Yammer is a website by Microsoft, and it’s kind of like Facebook that’s used to communicate internally within a company.)</p> <h4 id="heading-how-i-would-change-it-now"><strong>How I would change it now</strong></h4> <p>No major edits here.</p> <h3 id="heading-how-i-would-edit-the-entire-resume-today">How I would edit the entire résumé today</h3> <p>Now, there is one major issue with this résumé I used back then — it was too long. It’s about 2 pages, and ideally, it should be one page.</p> <p>Let’s see if we can get it down to a single page.</p> <p>I was, in fact, able to get it down to one page. Here are some of the major changes I made:</p> <ul> <li>I took off <strong>Founder and President at Data Science Club at UBC</strong> from the experience section. It’s good, but less relevant than the other ones.</li> <li>I took off <strong>Suffolk University</strong> from the education section. It’s not too relevant since I had already transferred out of it.</li> <li>I combined the awards and projects sections into just <strong>Projects</strong>, and listed only 2 projects.</li> </ul> <p>Now, what I omitted would’ve been perfectly good information to show on my résumé. It’s just that they were less impressive and relevant than the other things I listed.</p> <p>Just by omitting those pieces of information, my résumé became much easier and quicker to read.</p> <h4 id="heading-okay-heres-the-edited-one-page-version-of-my-resume">Okay, here’s the edited, one-page version of my résumé:</h4> <ul> <li><a target='_blank' rel='noopener' href="https://www.csdojo.io/s/yk_sugi_resume_new.pdf">PDF</a></li> <li><a target='_blank' rel='noopener' href="https://www.csdojo.io/s/yk_sugi_resume_new.docx">Word (.docx)</a></li> <li><a target='_blank' rel='noopener' href="https://www.csdojo.io/s/yk_sugi_resume_new.pages">Pages (.pages)</a></li> </ul> <p>Feel free to use it as a template.</p> <h3 id="heading-now-here-are-some-key-takeaways">Now, here are some key takeaways.</h3> <h4 id="heading-1-put-yourself-in-the-shoes-of-the-recruiterhiring-manager"><strong>1. Put yourself in the shoes of the recruiter/hiring manager.</strong></h4> <p>Don’t automatically assume that they will be familiar with every technical term you are familiar with. Think about what’s commonly used and not so commonly used in your particular field.</p> <p>Also, keep refining your paragraphs so they are easy to read. Use short sentences. Clarify what’s not clear. It’s probably a good idea to have a friend of yours read it for you to make sure everything is clear.</p> <h4 id="heading-2-omit-anything-thats-not-too-relevant"><strong>2. Omit anything that’s not too relevant.</strong></h4> <p>Speaking Japanese is a good skill, but it wasn’t relevant for the particular position I was applying for. So, I didn’t really have to list it.</p> <h4 id="heading-3-its-not-about-the-quantity-its-about-the-quality"><strong>3. It’s not about the quantity. It’s about the quality.</strong></h4> <p>If you show 4 projects instead of 2 projects, is it always better? Well, not necessarily.</p> <p>Having more information on your résumé clutters it out, and it makes it harder to find important information.</p> <h4 id="heading-but-you-might-say-you-still-got-the-job-without-doing-any-of-these">But, you might say — you still got the job without doing any of these!</h4> <p>Yes, that’s true. I think it’s important to build an easy-to-read résumé, but it’s even more important to build strong skills and experience first to show on your résumé.</p> <h3 id="heading-some-additional-tipsadvice">Some additional tips/advice</h3> <h4 id="heading-should-i-list-education-first-or-work-experience-first"><strong>Should I list education first, or work experience first?</strong></h4> <p>The general rule of thumb is, list whichever one’s more impressive/relevant.</p> <p>For me, I had some good experience with Microsoft, which was more impressive than my education. That’s why I listed it first.</p> <p>If you’re still in school, my default choice would be to show your education first. But if anything from your experience stands out, then put the experience section first.</p> <h4 id="heading-should-i-include-my-email-address-phone-number-and-location">Should I include my email address, phone number, and location?</h4> <p>You should always include your email address, but other than that, it’s up to you.</p> <p>I only included my email address in my résumé to keep it simple. However, if you want to show that you’re in a certain location, or if you want to include your phone number, go ahead and do so as well.</p> <h4 id="heading-what-if-i-dont-have-that-much-experience-to-show-on-my-resume-yet">What if I don’t have that much experience to show on my résumé yet?</h4> <p>Basically, you should think about all the skills and experience you’ve gained up to this point, and think about how they might lead to the next step.</p> <p>As an example, here’s how I did it:</p> <ul> <li>I had next to no experience a few years before I applied to Google.</li> <li>So, I built a simple website with Ruby on Rails, which I learned on my own.</li> <li>Using this project, I got my first technical internship in Japan.</li> <li>Using this, combined with my statistics background, I got a data science internship at Microsoft.</li> <li>Using that experience and the connections I built there, I got my second internship at Microsoft.</li> <li>Using all of these, I got my full-time software engineer job at Google.</li> </ul> <p>I like to think of it sort of like a snowball.</p> <p>It might be just tiny at the beginning, but if you keep building on it, it will just keep growing.</p> <h4 id="heading-here-are-some-additional-resources-for-writing-a-software-engineer-resume">Here are some additional resources for writing a software engineer résumé:</h4> <ul> <li>There’s a nice overview about this topic on CareerCup <a target='_blank' rel='noopener' href="https://www.careercup.com/resume">here</a>.</li> <li>My friend <a target='_blank' rel='noopener' href="https://www.freecodecamp.org/news/heres-the-resume-i-used-to-get-a-job-at-google-as-a-software-engineer-26516526f29a/undefined">Zhia Hwa Chong</a>, who is a software engineer at Twitter, has a <a target='_blank' rel='noopener' href="https://medium.freecodecamp.org/how-to-write-a-great-resume-for-software-engineers-75d514dd8322">nice article about it here</a>.</li> <li><a target='_blank' rel='noopener' href="https://www.freecodecamp.org/news/heres-the-resume-i-used-to-get-a-job-at-google-as-a-software-engineer-26516526f29a/undefined">Quincy Larson</a>, Teacher / Founder of freeCodeCamp, also has a nice article on this topic <a target='_blank' rel='noopener' href="https://medium.freecodecamp.org/you-in-6-seconds-how-to-write-a-r%C3%A9sum%C3%A9-that-employers-will-actually-read-fd7757740802">here</a>.</li> </ul> <p>Okay, good luck, and thank you as always for reading my article!</p> <p>If you have any questions about this or anything else, please feel free to let me know in a comment below or on <a target='_blank' rel='noopener' href="https://www.instagram.com/ykdojo/">Instagram</a> or <a target='_blank' rel='noopener' href="https://twitter.com/ykdojo">Twitter</a> (@ykdojo on both).</p>