Your resume is the most important part in getting an interview, but it's rather painfully overlooked by so many. Without an interview, you have nothing to prepare for.

Unfortunately, I physically can't get to everyone who sends me their resume for a critique (which has entered the "thousands" range), but I've seen so many common patterns and wanted to collate my suggestions into one place to hopefully help out a larger group.

Bear in mind that everything I suggest is subjective! If you disagree with anything I say, feel free to disregard. Alright, let's begin.


At the top of your resume you should have your name and contact information. This includes:

  • Email
  • Phone
  • Any relevant links (Github, portfolio, LinkedIn)

You don't need things like your home address here.

💡 Extra tip: You can make your LinkedIn URL more human-friendly here.

Try to keep the header short and sweet. It shouldn't be overwhelmingly large in size, either.

Below the header, I list my education. This can also go at the bottom, but I prefer the top personally. Up to you! List your school, program, and graduation date. You can optionally add your GPA and some relevant courses.

No need to list every technical course you've taken, though. It's expected that if you're in a CS program that you'll have taken some technical courses 🎓

Below education I like to list my skills. I've seen countless ways to list skills. Here's my preference:

Proficient: A, B, C, ...
Comfortable: D, E, F, ...
Familiar: G, H, I, ...

I then list the skills in descending order of familiarity. This includes relevant languages and frameworks, but doesn't include concepts like OOP and Data Structures.

Below skills I have experience, which is the most important part! For each experience you list, you should have 3-4 bullet points describing what you did and the impact you had. The way you phrase these bullets points is very important!

❗️️If you take nothing else away from this post, remember this: You need to phrase your bullet points with an impact mindset.

What does this mean? Here's an example, which one do you prefer?

Option #1: Worked on paralellizing API and UI builds.

Option #2: Reduced build time by 40%+ by parallelizing API and UI builds, saving over 6 minutes per build.

I hope you picked Option #2 😄 What was good about it?

  1. The entire focus is on the impact!
  2. Quantifying the results with the use of metrics makes the impact much more evident.
  3. Shows exactly what value was brought to the team/company.

I know that thinking of metrics can be difficult, especially for your projects which may not be live. Try to think about:

  • Number of users
  • Percentage gains (speed, accuracy, etc)
  • Revenue increases/cost savingsTry your best to think of metrics as they really help quantify your impact and make you stand out.
But what if I have no experience?

That's totally fine as well. Check out How to Get a Programming Job with No Experience.

Ok, great. Hope you got the idea.

Under experience I list some (1-2) relevant projects. If you end up using bullet points, be sure to follow the same impact-minded approach I mentioned.

That's all for structure! What do I not like to include?

  • Objective statements. I think these are a little outdated and not really necessary. Your application to the job is likely enough to show your objective.
  • Links to every project and coursework. Again not needed. If you have your Github or a portfolio link at the top, you're covered.
  • Personal hobbies/interests. It's obviously optional, so I like to use the saved space for other things.


Alright, let's move on to formatting. A lot of this is preference, but there are some do's and don't's. I'm going to assume you have spelling and typos in order already.

How many pages should I have?

Single page. No questions asked. There are not many people on this Earth who are qualified enough to have a two page resume (let alone four).The reality is that recruiters will only spend a few seconds on your resume. They need to go through hundreds, if not thousands, per day. The easier you make it for them, the better your chances are.

One column or two?

It depends on your preference! I like to keep a single column format. I find it much easier to read at first sight since my eyes can follow a straight path down the page.

Two columns can work well too, just be careful to keep things clean. I'd stray away from three columns.

Coloured or black and white?

This is also subjective. In my personal opinion, I think adding a subtle amount of 🌈 colour can do wonders with helping you stand out. It definitely gives the resume a more modern feel.It can be very easy to overdo this.

Try to keep the colour to a minimum. Definitely keep your main text black, but don't be afraid to add some colour into the header or subtitles.

Font size?

Be sure to keep your font size readable! Around 12pt is a good reference. Your resume should be as clear and easy to read as possible. Try not to make the font super small to squish in more details.

General Tips

  • Make it visually appealing. It should be pleasant to look at and read.
  • Limit the irrelevant information. Every word on your resume should serve a purpose.
  • Focus on impact. You're probably sick of me saying this by now.

I apologize if you reached out and I didn't have time to reply back! I hope this helps improve your resume 😄