Crafting your Resume

Some of the following content is by Yangshun Tay and Christina Ng and rephrased for the purpose of the wiki.

Your resume is your key to getting interviews from top companies. So having a comprehensive understanding of how resumes are screened and used in industry will greatly benefit your job search.

Another great resource is this presentation by Timothy James, an instructor at Pitt and manager at Google, check it out here.

For a quick list of common resume mistakes, check out this guide!

Recruiters 101

No matter how qualified you are for a role, not making it past resume screening also means on missing out on the job.

This section goes in detail on how recruiters work with engineers and technology to determine who moves on and who doesn't.

The Skill Set Checklist

Before opening up a position or starting the search for a candidate, recruiters will consult with the team managers to find out the specific skill set needed for the position. These skills are then classified into three groups: "Requirements", "Nice to Haves", and "Bonus."

  • Requirements --- Most positions usually require a degree in a technical field and some years of experience in a particular technology or language. For internships, progress towards a degree and some experience in programming are required instead.
  • Nice to Haves --- Familiarity with secondary languages and technologies which may not be directly relevant to what the candidate would be working on, but could be required due to some interfacing with other components of the project. Could also include proficiency in soft skills like communication ability, leadership, and ability to work with others.
  • Special Bonus --- Recognized skills, experiences, or accomplishments that are hard to come by. Probably not required, but could help the candidate's case.

After creating this list, the recruiter will then make a job posting and begin searching for candidates.

Typically, recruiters do not seek that "one perfect candidate". Instead they look for the "best fit candidate". The search is essentially a numbers game. For a specific job posting, there should be X applicants. At each stage of the interview process, some percentage of the candidates will be eliminated, leaving only a final Y% of the initial pool to choose from. Since Y tends to be a pretty small number, recruiters will try to maximize X.

10 Seconds

When a recruiter is looking at your resume, they do a keyword match against the skill set checklist. If there are a right amount of keywords, you pass. If the recruiter needs to spend more than 10 seconds trying to parse and understand your resume, you fail. If there are too many keyword matches, it signals a red flag and is put in as a "maybe" and your status depends on whether the recruiter is satisfied with the number of "pass" candidates at the end of the day.

There are lots of articles writing about how recruiters only spend an average of about 10 seconds to screen each resume. The news is, this is true because resume screening is such a menial, robotic and repetitive task. In fact, many applicant tracking systems (ATS) now are so advanced that they can parse your resume automatically, search for specific keywords in your resume, and score your resume based on the weights pre-assigned to each keyword.

Finding a job is a two-way street— the company wants someone with the relevant skills required, but it is also important for the applicant to fit in the company culture, and be able to gain something out of their stint. Hence, honesty is the single most important criteria in a resume.

There is a delicate balance between finding the right job vs. finding a job. Getting rejected does not always mean you are not good enough. Sometimes, it just means you are not a right fit for what the company is looking for.

When hiring interns and fresh grads, recruiters know that many of them will not have as much experience as someone who has years of industry experience. Hence, there is larger emphasis for soft skills, such as attention to detail, initiative, passion, ability to get things done, etc. Note: this applies only if you have met the minimum threshold of proficiency/competency in the skill set checklist.

Resume Basics

Now that you understand how resumes are used on the recruiter side, it's time to create a resume! The following provides recommendations on how your resume should be built and formatted.

Contact Info

The beginning of your resume should include basic contact information about yourself. This includes:

  • Your name
  • Your email
  • Your phone number
  • LinkedIn username
  • Github username
  • Personal website
  • StackOverflow username

Make sure you are contactable! Use professional email names (like instead of and make sure the number you list is the best way to reach you.


The importance of the Education section of a resume really varies with the stage of your career. As a college student, it should be one of your first items on the resume. As your career progresses, your education becomes less important in favor of your professional experience.

In general, your education details should consist of: College, Graduation Year, Major, GPA, Relevant Coursework, Study Abroad, Academic awards, and extracurricular activities.

As a college student expect this section to be pretty comprehensive. However, as a full time professional, the education should be much more succinct.

Work Experience

The work experience section is the most important section of one's resume. Aim to put as much relevant work experience as possible. If you are applying for a developer position, the recruiter is not interested in your experience as a barista at Starbucks. It would be better to take that space to talk about one of your programming projects.

That being said, if you don't have any relevant experience be sure to put as much work/volunteer experience as possible.

There's a lot of resources online on what to say for each work experience, but in general:

  • Highlight the impact of your work instead of the responsiblities
  • Use bullet points instead of paragraphs. This makes it much more readable!
  • Start each bullet with an action verb.
  • Quantify your achievements with numbers/metrics (improved speeds by 20%, reduced expenses by 10%, generated $50,000 in revenue, etc.)
  • Quality over Quantity. Mediocre work experiences may often not be as helpful as linking a project.
  • Put information that you can readily talk and answer questions about. Anything on your resume is fair game so you don't want to be caught off guard because you were lying.


If you don't have relevant work experience, the next best option to have is to put projects that you've worked on and completed in a Projects section as they can help show companies your technical expertise and background.

Anything you've programmed can be considered a project. This includes school projects, hackathon projects, freelance work, open source contributions, and any other personal programming project (pretty much anything on github).

When putting Projects on your resume, follow these guidelines:

  • Have a 1-2 bullets containing the Project's title, description, and github link of the project.
  • Spend two-three bullets about your role within the project, what technologies you used, what you learned, etc.
  • Not necessary, but have projects that align with the position you are applying for
  • Limit the use of technical jargon. You want your recruiter to be able to have a clear understanding of what you did!
  • Put information that you can readily talk and answer questions about. Anything on your resume is fair game so you don't want to be caught off guard because you were lying.

Curious about how to start a project? Consult our Projects guide to learn more!

Skills Section

It is useful to list your relevant skills in a quick summary section for easy reading/matching. However, many people make the mistake of listing as many skills/programming languages in the resume as possible. This may get you through the ATS scoring, but it definitely would not leave a good impression on the recruiter - the actual human reading your resume and deciding whether to call you up for an interview!

Ideally, if your resume is good enough, the recruiter should already know what you are proficient in. The skills section is just a quick summary/reiteration. Listing a bunch of technologies you claim you know without actually showing how you have worked with them is pointless.

Example Skills Section: Languages: Java, Python, C, SQL, C++, JavaScript, HTML, CSS Frameworks/Technologies: Docker, React, Git, PyTorch, NumPy, Vim

Activities and Awards

If you have extra space on your resume, you may want to list various clubs you are apart of and awards you have won. Similarly to the Skills Section, make sure you only list clubs that you are an active member of.

Avoid Spelling or Grammatical Errors

In a study across a wide range of applicants and jobs, the most important attribute of a resume was found to be the number of its typos and grammatical errors. Having errors on your resume communicates a lack of focus and care in one's work and is an instant turn-off for most recruiters.

GPA: Important or not?

Users on popular sites like Reddit and Blind, often dismiss the importance of a student's GPA, however that is largely unaccurate. Everyone wants the cream of the crop. In the absence of a standardized test, GPA serves as that indicator. While GPA may not necessarily be a good indication of how well you can code, a high GPA would definitely put you in a more favorable position to the recruiter.

If your GPA is rather low, but you have loads of technical experiences, you can try not listing your GPA in the resume. This kinda "forces" the recruiter to read through your projects/job experience, and perhaps grant you a first interview. If you manage to impress them, who cares about your GPA? But if your GPA is low and you do not have skills for the job... maybe you should work on one of them and revisit job applications later.

In a different scenario, some students have low GPA, but it might be due to some irrelevant classes which they did badly in. E.g. Student X is scoring A for all his programming classes, but did not do well for his language classes. If I am hiring a developer, Student X would still be a suitable candidate despite his low GPA. In such cases, it might even be recommended to attach a transcript along with the resume.

Also, when you list your GPA/results, try to benchmark it. Instead of simply listing 4.6, write 4.6/5.0 (First Class Honors or Summa Cum Laude). To the recruiter, 4.6 does not mean anything if he/she is not familiar with your grading system.

For Pitt CS students, a good GPA would be a 3.3+. An exceptional GPA would be a 3.75+. Note: Just because you have a low GPA doesn't mean you can't receive a top internship! Plenty of Pitt students got top tier offers with sub-3.3 GPAs.

High School?

Once you enter college, it is highly discouraged to include information from high school. Completing personal coding projects and working relevant opportunities (like research or TAing) are far superior to your HS GPA or SAT score.

Resume Formatting

Now that you have all the content you need for your resume, it's time to put the pieces together and make a beautiful resume! Read this section on how to format and lay out your resume for maximum success.

Resume Layout

For college students we recommend the following layout:

  1. Name and contact info
  2. Education
  3. Work Experience
  4. Projects
  5. Skills
  6. (Optional) Activity and Awards

Note: Each section should be laid out in reverse chronological order. Recruiters are more interested in your most recent work!

Resume Design?

Unless you are applying for a design job, just stick to the standard "table" style for the resume. There is nothing wrong with the standard style, and it helps the recruiter screen your resume more efficiently since they are trained through experience to read that format. It would also help in the automatic scoring by the Applicant Tracking System. The last thing you want is for your application to be rejected because the system could not parse your resume for it to be scored. That said, we aren't discouraging you from coming up with your own design. It is nice to read something different. Just be aware of the risks you could be taking.

Not Recommended:

  • Different colored blocks and text
  • A photo of yourself
  • Multiple pages
  • Graph and charts
  • Logos, initials
  • Any clip art or other photos

Just keep it black and white people!

Keep it one page!

This is huge. If a recruiter only takes 10 seconds looking at your resume, then he or she may never reach the second page! One page resumes are widely accepted as 'best practice', and there is no point in this case of going against the norm.

If you're struggling to cut it to one page, remember the purpose of your resume. It's not to showcase everything you have ever done, but rather to display how your relevant past experiences make you a relevant fit for the job at hand.

Consistent Formatting

Regardless of what design you choose for your resume, the most important thing is that its formatting is consistent throughout. The use of italics, underline, bold, and font sizes should all be uniform throughout.

Your dates should also be consistent (eg. May 2020 - Aug 2020). Avoid using numerals for both month and date due to the difference in style for MMDD and DDMM in different countries. Dates like "Aug 2011 - June 12" just show that you have zero attention to detail.

The File Itself

Unless .docx is required, always use a PDF. With PDFs, there is no risk that the recruiter accidentally presses 'enter' and messes up your entire formatting.

When naming the file call it firstname_lastname_resume.pdf instead of resume.pdf, unless otherwise specified. This helps the recruiter quickly find and search your resume.

What software do I use to make my resume?

Most resumes are either made in LaTeX or Microsoft Word. Use whatever you are more comfortable in. If you don't want to use either, considering using an Online Resume Maker.

Online Resume Makers

If you don't want to go through the hassle of formatting your resume on Word or LaTeX, there are a few websites that we recommend using instead.

Cover Letters

Cover Letters are definitely not required when applying. In most cases, it is better to have no cover letter than to have a bad cover letter, especially if your cover letter is "templated" content. An effective cover letter needs to highlight the fit between the job requirements and your skills/experiences. Do not just say what you have done in your cover letter; Tell the recruiter how it is a fit for what he or she is looking for.

Some small nitpicks:

  • Make sure that the cover letter is addressed to the right person (either the name of the recruiter if it is known, or to a generic hiring manager) and company.
  • Run a spell check.

Resume Writing Algorithm

Still in a rut? Follow this step-by-step algorithm to make your resume!

  1. Make a brain dump of your experiences

    • It may be helpful to jot your work experience and projects from start to finish.
    • Make sure your list adheres to the guidelines on this page!
  2. Choose a resume template/style

    • Fill out the contact, education, and skills section of the resume
  3. Curate your work experience

    • Now put your relevant work experience in.
  4. Curate your projects

    • Now put your projects on the resume until it goes over one page.
    • Prioritize your more complex and relevant projects.
  5. (Optional) Add Activities and Awards Section

    • Only do this step if there is enough space. If there isn't don't worry about fitting this section in.
  6. Cut your resume down to one page

    • Reword your longer sentences.
    • Lower margins, padding, font size, and line spaces.
    • Make sure your font size isn't too small!
  7. Check your resume for consistent formatting

    • Use the formatting checklist above to make sure everything is uniform!
  8. If you're a Pitt student, send it to us and we'll make more changes!
Last updated: Apr 19th 2022