jiahao.blog

21 Apr 2025

Evolution of Resumes

How my resume has changed over my polytechnic and university education

10 min read

I was reading Kenneth Lu’s page on his evolution of resumes and felt it would be interesting to look back at my past resumes and reflect on the lessons learnt at each junction, and explain my thoughts on crafting a good resume and building a strong portfolio. [1]

Before starting, I would like to make a disclaimer that this is by no means a definitive guide to creating a good resume, nor is it your golden ticket to landing internships. I believe a lot of my success in finding internships thus far has been a mixture of incredulous luck and technical interview preparation. Having a good resume is just one step in the process, so you should be focusing on improving all facets of the technical interview preparation process, not just your resume. [2]

By focusing on both resume building and developing a portfolio over the years (and with quite a bit of luck), I was able to secure internship offers from companies like Citadel, Palantir, Google, Paypal, and Stripe. I hope that you find my experiences useful and insightful in your own journey.

General advice

Your resume should follow these general principles:

  1. Keep it to one page
  2. Highlight your most relevant experiences first
  3. Use action words (verbs) for each bullet point
  4. Use a legible font like Arial
  5. Avoid cramming content, whitespace is good

You can find more on the r/EngineeringResumes wiki, so I will not go into repeating everything.

Polytechnic year 3

I went to DBS Bank during my polytechnic internship placement.

I will admit that I was pretty “privileged” that I did not start out from absolute zero. During my first two years in polytechnic, I was building various side projects such as Taiga and working on several school projects like BookIt!.

These led me to land a short-term unofficial stint as an Android developer for MightyAim, a startup that I was introduced to by a friend, Li Haoquan, where I was able to build some experience in working on real-world engineering problems.

These experiences opened the door for me to give a workshop, teaching students the fundamentals of Android development using Kotlin, a language I was obsessed with back then.

So, going into my internship job hunt in my final year of polytechnic, I had the following going for me already:

  1. A good GPA that would stand out amongst other candidates
  2. Some relevant work experience through my time with MightyAim
  3. Substantial projects with technical depth that I could talk about
  4. An interesting extracurricular activity that was relevant to tech

“These are great Jiahao, but what can I do if I do not have such a starting position?” you might ask.

It is definitely not a lost cause, I would focus on the following:

  1. Include any projects you might have worked on previously. Something is better than nothing, even if it is a school project that other students may have attempted as well.
  2. If your GPA is good, include it, it is something to be proud of.
  3. Include all past work experiences, even if it is not immediately relevant. A data entry job may not be software engineering related, but it can demonstrate that you possess some of the skills that employers might care about.
  4. Think about what employers want to see and frame your experiences and projects that way. This might differ based on the role.
  5. Pursue your interests and develop your portfolio that way, focusing on going deep rather than trying everything at a beginner level.
  6. Meet new people and network to unlock more opportunities. I am admittedly not the best at this still, but it is always worth attending events and talking to people.
  7. Make your relevant skills and experiences clear and apparent with dedicated sections and emphasis.

Polytechnic year 3

Post polytechnic

After graduating from polytechnic, and while awaiting for my enlistment into the Singapore Armed Forces, I decided to pursue an internship in research, a field I was unfamiliar with. This led me to do an internship as a Natural Language Processing (NLP) research intern at DSO National Laboratories.

I kept using the same LaTeX template, but this time, I had included my experience from DBS Bank, along with a different set of projects, all self-initiated. I also started including my academic achievements, like graduating with a Diploma with Merit and receiving the IMDA Gold Medal. I also moved my skills down to the end, highlighting my work experience first.

These are some comments on this resume:

  1. Focus on including the impact of your work on your resume using concrete numbers. I don’t think I was the best at representing it then, but looking back, this was something I would have done differently.
  2. Prefer side projects over school projects. Once you have established some set of personal projects, they are often more impressive than mandatory school projects.
  3. Bubble all your experiences to the top, prioritizing experiences and projects that demonstrate your skills over simple lists of technologies you know.
  4. Use action words (verbs) for each bullet point. One thing I don’t like about this resume is the fact that I placed my “role” at the start, but the bullet points should allow readers to infer the role.

Post polytechnic

University year 1

I have shared about my struggles in finding an internship in the first year of university. Despite having relevant experiences, I did not have the right technical interview skills to overcome the interviews. [2] However, I was very fortunate to have still received three offers: one from the Computing for Voluntary Welfare Organisations (CVWO), an internship that NUS students have access to, another from Nodeflair, a tech career platform, and the final one from Betafi, a startup building a unified user research platform. I eventually took up the internship at Betafi.

I did not receive these offers because I was a good technical interviewee. Instead, I was able to leverage my experience from building past projects and technical writing.

  • The CVWO application process involved building a project over the winter break, and I had spent an obscene amount of time on it, refining the product. [3] The online interview was a discussion on my engineering decisions. The process was not simple, but having used the technologies in other projects reduced the barrier to entry.
  • The Nodeflair interview process was the most similar to the traditional technical interview process. However, the questions revolved around the application of programming to solve common software engineering problems (like reversing words in a string). This process allowed me to tap into my general problem solving skills that I have developed, as opposed to knowing specific data structures and algorithms.
  • Ethan Sherbondy, the CTO of Betafi, reached out to me via Linkedin about interning at Betafi. However, this was not because I was a “stacked” engineer, but rather because I was very deeply involved in writing about Elixir, and I had written several articles on my personal blog (here!) and for a company called AppSignal. He noticed my portfolio and reached out because Betafi was building their platform in Elixir.

The key points I would hope you take away from this is:

  1. Play to your strengths. Apply to companies that have processes that best align with your strengths and interest. This may not always be possible, but there are some that are like that.
  2. Building your portfolio and doing things you are interested in matters. I do not think I would have been able to secure as many opportunities if I had not spent my time working on projects or writing technical articles about things I enjoyed.
  3. Highlight the things that make you stand out. For me, it was my teaching and writing experience, so I included those as a dedicated section.
  4. Pursue all possible opportunities. Rather than optimizing for glamorous internships, try applying for all opportunities, you never know what could happen.

University year 1

University year 2

Learning from my struggles from the previous summer, I started preparing for technical interviews religiously [2] and eventually was very fortunate to receive offers from Citadel, Palantir (in London), Google, and Paypal. I eventually accepted the offers from Citadel for the summer, and Palantir for the fall.

I also added some tweaks to my resume:

  1. Moving to Google Docs. [4]
  2. Squeezing as much content by shrinking the margins. While this felt like a good idea then, looking back, I think it would have been good if I kept some whitespace to allow readers to breathe when reading my resume.
  3. De-prioritizing old experiences. Rather than trying to fit every experience I’ve had, I decided to trim my experiences to only include my most recent three internships.
  4. Removing my polytechnic education. In Singapore, polytechnic is similar to high school, so there was no reason to include it now that I have been in university for two years.

University year 2

University year 3

I did not apply to as many companies as I did the year before because I had other commitments and was too busy having fun in London. Naturally, I received fewer Online Assessments (OAs) and interviews, but I still managed to get interviews with companies like Hudson River Trading (HRT), Jane Street, and Stripe. I was fortunate to have friends who provided referrals to both HRT and Jane Street. Ultimately, I received an offer from Stripe.

Regardless, I would still like to point out the following changes to my resume:

  1. Moving to Typst. [5] I wanted to consistently generate sections without tweaking Google Docs.
  2. Highlighting my work authorization. I was also applying to firms in the US and UK, so having my work authorization at the very top helped to cut through the uncertainty these firms might have about my ability to work abroad. As a Singapore Citizen, you have access to the H-1B1 US visa, and as a graduate of NUS or NTU, you have access to the HPI UK visa.
  3. Including objective metrics of impact. I started quantifying my impact in numbers, focusing on demonstrating the improvements made through my contributions.
  4. Using ChatGPT to paraphrase bullet points. I would first write a couple of sentences for each bullet point, and then use ChatGPT to summarize and paraphrase the bullet point, tweaking the result. A simple prompt could be, “Can you help to generate a resume bullet point of this contribution? Emphasize the impact of my contribution.”
  5. Ask for referrals from people you know. It might seem embarrassing, but asking for a referral from people who you have worked with, and can vouch for you, is super helpful in getting a foot in the door.

University year 3

Conclusion

I have been so fortunate to be where I am today. As much as I would love to claim that all you need is passion, having a support network of friends and seniors, being in the “right place, right time”, and having the privilege and time to work on things I enjoy, have all significantly contributed to my success thus far. If you would like to see a more exhaustive list of my working history, you can check out my Linkedin profile.

All the best!


[1] My reflection on my time in tech: Ten Years in Tech

[2] If you are starting the technical interview preparation process or are looking to polish your skills, I have prepared a technical interview study guide with my notes that got me into firms like Citadel, Palantir, and Google: Technical Interview Study Guide

[3] My CVWO web forum project: hermes

[4] I have moved over to using Typst to generate my resume, but my Google Docs resume template is still available: Jiahao Woo Blank Resume Template

[5] My Typst template can be found in this Github repository. Use the repository as a template and get started: woojiahao/resume-template

Enjoyed reading?

Consider subscribing to my RSS feed or reaching out to me through email!

You might enjoy...

15 Mar 2025

Reframing Failure

08 Jan 2025

Ten Years in Tech

17 Dec 2024

Maximizing learning at internships