Tips on Writing  A Good Resume

Tips on Writing A Good Resume

Learn to write the best resume that will get you into major tech companies like Google, Facebook, Amazon, etc


4 min read

Resume Screeners

Resume screeners look for the same things that interviewers do. They want to know that you're smart and that you can code. That means you should prepare your resume to highlight those two things. Your love of tennis, traveling, or magic cards won't do much to show that. Think twice before cutting more technical lines in order to allow space for your non-technical hobbies.

Appropriate Resume Length

In the US, it is strongly advised to keep a resume to one page if you have less than ten years of experience. More experienced candidates can often justify 1.5 - 2 pages otherwise. Think twice about a long resume. Shorter resumes are often more impressive. Recruiters only spend a fixed amount of time (about 10 seconds) looking at your resume.

If you limit the content to the most impressive items, the recruiter is sure to see them. Adding additional items just distracts the recruiter from what you'd really like them to see. Some people just flat-out refuse to read long resumes. Do you really want to risk having your resume tossed for this reason?

If you are thinking right now that you have too much experience and can't fit it all on one or two pages, trust me, you can. Long resumes are not a reflection of having tons of experience; they're a reflection of not understanding how to prioritize content.

Employment History

Your resume does not and should not include a full history of every role you've ever had. Include only the relevant positions, the ones that make you a more impressive candidate.

Writing Strong Bullets:

For each role, try to discuss your accomplishments with the following approach: "Accomplished X by implementing Y which led to z:· Here's an example:

  • "Reduced object rendering time by 75% by implementing distributed caching, leading to a 10% reduction in log-in time:· Here's another example with an alternate wording:
  • "Increased average match accuracy from 1.2 to 1.5 by implementing a new comparison algorithm based on windiff:'

Not everything you did will fit into this approach, but the principle is the same: show what you did, how you did it, and what the results were. Ideally, you should try to make the results "measurable" somehow.


Developing the projects section on your resume is often the best way to present yourself as more experienced. This is especially true for college students or recent grads. The projects should include your 2 - 4 most significant projects. State what the project was and which languages or technologies it employed.

You may also want to consider including details such as whether the project was an individual or a team project, and whether it was completed for a course or independently. These details are not required, so only include them if they make you look better. Independent projects are generally preferred over course projects, as it shows initiative. Do not add too many projects. Many candidates make the mistake of adding all 13 of their prior projects, cluttering their resumes with small, non-impressive projects. So what should you build? Honestly, it doesn't matter that much.

Some employers really like open source projects (it offers experience contributing to a large code base), while others prefer independent projects (it's easier to understand your personal contributions). You could build a mobile app, a web app, or almost anything. The most important thing is that you're building something.

Programming Languages and Software

  • Software: Be conservative about what software you list, and understand what's appropriate for the company. Software like Microsoft Office can almost always be cut. Technical software like Visual Studio and Eclipse is somewhat more relevant, but many of the top tech companies won't even care about that. After all, is it really that hard to learn Visual Studio? Of course, it won't hurt you to list all this software. It just takes up valuable space. You need to evaluate the trade-off of that.

  • Languages: Should you list everything you've ever worked with, or shorten the list to just the ones that you're most comfortable with? Listing everything you've ever worked with is dangerous. Many interviewers consider anything on your resume to be "fair game" as far as the interview.

One alternative is to list most of the languages you've used, but add your experience level. This approach is shown below: Languages: Java (expert}, C++ (proficient), JavaScript (prior experience). Use whatever wording ("expert'; "fluent'; etc.) effectively communicates your skillset. Some people list the number of years of experience they have with a particular language, but this can be really confusing. If you first learned Java 10 years ago, and have used it occasionally throughout that time, how many years of experience is this? For this reason, the number of years of experience is a poor metric for resumes. It's better to just describe what you mean in plain English.


Where possible, try to truly diversify. The languages in the cluster of {Python, Ruby, and JavaScript} are somewhat similar to each other. It's better if you can learn languages that are more different, like Python, C++, and Java.

Thanks for reading this article and don’t forget to be friends with me on:


Cracking The Coding Interview Book