8 minute read

I’m sure most of you already know what a resume is, but in case you’re new to the whole thing (like I was a couple years ago), a resume is simply a piece of paper that reflects your professional experiences and qualifications.

When you apply to any position, you rely on your resume to represent you as an amazing candidate. Then ideally, someone seeing your resume will be so impressed that they’ll give you an interview. That’s all to say that people (ie. hiring managers, recruiters) will read it and judge the f*** out of you when you apply for any position for better or for worse.1 Well, that means you should probably write a banger resume that puts your best foot forward so that someone reading it will swipe right on your application.

The biggest problem? No one really teaches you how to write a resume. There is no definite “right” or “wrong” resume, but there certainly are dos and dont’s when it comes to resume writing that you figure out with time and experience. This post will be a collection of best practices for writing resumes that I’ve picked up over the past few years from people I trust.

As a forewarning, I should emphasize the following:
1). This post is pretty f***ing long and a huge mess/collection of many ideas
2). These are my personal opinions so feel free to disagree with me on anything
3). Building a resume takes a lot of investment - don’t expect an overnight fix

Resumes at a Glance

A recruiter probably spends about 5 seconds looking at the average resume. First impressions really matter and if your resume looks unappealing you’re already off to a bad start. These are general points that reflect how your resume should look.

  • Avoid a super sparse resume - it looks too empty
  • Avoid a super dense resume - it gets too overwhelming
  • 1 page max - cut down content to fit comfortably
  • Balance text on both sides of the paper - but avoid columns
  • Maintain similar line lengths - like the bullets above
  • Use a professional intelligible font - sorry wingdings
  • Black and white only - excessive color is unnecessary
  • No typos/mistakes - seriously, it’s embarrassing
Varying resume densities at a glance (based off real resumes shared with me)

Resume Organization

You should organize your resume into general sections to help someone reading it quickly understand the most important bits of information you want to convey. Reading your resume should make sense. Make it effortless to follow.

  • Group related information under common titles - duh
  • Use simple horizontal dividing lines to section parts off
  • Sparingly use bold / all caps to emphasize organization
    - it also helps call attention to important details
  • Order content by impact - higher up = more likely to be seen
    - you want your most impressive things to be focused on
  • Maintain general chronological order of dates within sections
  • Keep everything simple and stylistically consistent
    - pattern of bullets, lining up of words, capitalization, etc
    - sentence type (full sentence vs. incomplete), verb tense, etc
    - essentially just choose a pattern and stick with it
Resume Template

Easiest way to accomplish the above is to use a resume template. Not all resume templates are created equal. Seriously, the default templates that Google Docs provides suck a**. Feel free to use my template by clicking to the right!

Now onto the actual content of resumes!

The Header Section

The topmost section of your resume should contain your basic contact information. It should be large and clear for anyone reading.
You should have the following sections:

  • Legal first and last name - I’d omit middle name
    - parenthesize preferred names: ie. ZhuoHao (Steven) Xing
  • Phone number - no need for parenthesis or extension imo
  • Email address - this is the main way people will contact you
    - make your email as clear and legible as possible
  • Personal links - LinkedIn, GitHub, personal site, no social media

Omit your home or mailing address. No recruiter needs that information.
Furthermore, it’s a safety and privacy issue to list it on your resume.

The Education Section

Immediately following your header, should be a section about your educational background. Make it extremely clear to understand at a quick glance.

  • Educational institution - university, high school, etc
  • Majors and minors - ie. B.S in Computer Science
  • Expected graduation date - ie. June 2024 or Spring 2024
  • GPA? - list if over ~3.3, otherwise I’d probably omit it
  • Coursework? - avoid if you can, it’s just filler, but if you do
    - list as the course name (ie. Machine Learning, not CSE446)
Sample resume header and education section

The Experiences Section(s)

Probably the most important section of your resume. This is what recruiters are looking for the most. They want to see what type of work you’ve done in the past since it reflects an application of your skillset. There’s a lot of flexibility as to what you can include in this section. The biggest thing you want to show off is that you’re involved with computer science beyond school. There’s more you could list here but in general you can find experiences that fit in the following categories.

  • Programming Job / Internship
  • Teaching Assistant / Tutor / Teaching Position
  • Research / Work with Faculty or Established Lab
  • Leadership / Role in anything STEM/CS related
  • Hackathon / Personal Projects 2

Writing About Experiences

You also have to write a description that gives a reader an overall sense of what you achieved. This is arguably the hardest part about writing a resume since it takes effort and lots of revisions. At a high level, you should employ some of following as you see fit.

  • Overall Context - aim to provide a high level overview
    - aim for a quick impression and leave off technical details
    - ie. what team you were on or what problem you’re solving

  • What You Did - address this to your techincal readers
    - describe what you did with the right amount of detail
    - avoid vagueness - otherwise it’ll look like you’re bulls***ing
    - avoid too much detail - otherwise it’ll overwhelm and distract
    - list what specific things you accomplished/implemented
    - callout any programming languages or frameworks used
    - include measurable success metrics with numbers if possible
    - ie. time, money, error rate, scale, customer satisfaction, etc
    - use action verbs - (see Harvard’s action word guide here)
    - Stick to consistent tense throughout - I prefer past tense
    - Either use full sentence or bullet points - don’t mix the two

Other Sections?

Some other sections on a resume you can include. Honestly, I don’t particularly care for these sections so avoid them if you can. These mostly just fill up space to make your resume look balanced and can give your interviewer something to ask you about.

  • Awards - I have no experience here sorry3 :cry:
  • Languages - only if you’re multilingual and fluent
    - High school Spanish 101 ain’t cutting it
  • Skills - anything here you list is fair game, don’t bs this part
  • Hobbies - really justify this since it’ll most likely distract

Final Thoughts

A resume is a living document that constantly needs to be updated to reflect one’s accomplishments at any given point in time. Expect to constantly edit your resume. It won’t ever be perfect.

  • Phase out sections that become irrelevant over time
    - high school stuff, list of classes taken, other filler
  • Ask for frequent feedback from peers and incorporate it
  • Make copies of your resume whenever you make sizeable edits
    - it’s useful to keep old versions if you ever want to revert

Your resume is your first impression to recruiters/companies so you should think of giving your resume to someone as the very first interview of the recruiting process. The difference between a solid resume and poor one is extremely apparent so make sure you’re proud of the resume you submit.

Beyond the Resume

There’s plenty of related topics maybe I’ll cover later:

  • Cover letters nah lol4
  • Applying for positions, handling rejections, imposter syndrome
  • Leetcode, behavioral interviews, technical interviews
  • Juggling deadlines, negotiating offers, and more…

This a super lengthy post so thanks for reading to the end. Feel free to contact me if want me to take a look at your resume or even better yet give feedback on mine!

Happy recruiting and good luck!5

  1. I personally really dislike resumes. I think so much truth stretching, creative liberty, sugar coating occurs. Actually working with the person or talking to people who have worked them is much more effective at judging how someone would perform in a position, but that’s unrealistic, so resumes are the best proxy we have to gauge a person’s skillset. Not ideal, but it’s the best there is. 

  2. I’d be wary about including school projects done for class if it’s not unique. Most class projects are the same for every single student taking it. It gets even worse when you realize that different universities also use the same common projects as assignments. The worry here is that these class projects won’t set you apart. Anyone who has taken the same course has also completed the exact same project. However, some classes (ie. capstones) force you to design, ideate, and create a project from scratch within a quarter. Those are great to include since it’s a novel idea that is unique to you! 

  3. On a serious note, you’ll have to justify having this be a separate section. If someone is going to ask you about an award, they’ll most likely ask you about the work you did that earned you that award, which will most likely be in the experiences section anyways so why not include the award description there? 

  4. For real, I wouldn’t bother :smiley: 

  5. As a last note, it’s important to remember that a resume is just a piece of paper at the end of the day. It doesn’t define your worth or value in the world. 

Updated: