Why bother spending the time and effort to create a clean, compelling resume? Is it really all worth it? After all, my code and projects speak for themselves. Right. Right? Besides, who else can write an orange peeling script in Bash that directly translates to assembly for deployment to my mechanical “peel a wizard” device.

Your resume is an attempt to fit everything you are and could be on an 8.5” x 11” piece of paper, and look good doing it. It’s the first step to getting a job. It’s also a way of starting and continuing conversations. Potential employers or contacts get a summary of who you are and what you’re capable of, see how well prepared you are, and the attention you give to details.

Doing it well makes all the difference in getting the job you want.

We’re going to break this resume creation guide into three primary sections: what to have, how to say it, and how it should look. We’ll follow up with a brief contemplation on what not to do.

By the way, we’ve posted an example resume. Feel free to look at it and see each design point implemented as you read on.

Figuring out what to put on your resume can be relatively daunting. The material and skills that are listed as text on a page have to somehow get you a job. At first, it can seem like an insurmountable task. Many developers try to find templates online that they can utilize. While that’s an admirable attempt, templates often aren’t tailored very well to the diverse needs of a resume.

The main point of writing your resume is to show that you fulfill the needs of your potential employer. As such, it is wise to have multiple copies of your resume with each tailored to the position and company that you are applying to. This means that you have to know the company! Do your research and speak to anyone who has worked there or is working there. Find out as much about them as you can. Ask yourself what is important to the position. Are they looking for a C++ developer creating 3D simulations? Then you might want to emphasize the seven months you spent working with UNIX crafting applications in OpenGL and downplay your experience writing enterprise applications for Java with NetBeans.

What would a resume be without a method of getting in touch with you? Ensure you have your name, mailing address, phone number, and e-mail listed and visible. Remember, you should have a professional sounding e-mail address. Hakrd00d721@hotmail.com will not score you points.

Stating your education is also important. What school did you go to? What degrees did you receive? What was your GPA? It’s generally good to state your GPA if it’s a 3.0 or above. Otherwise, it might hurt to list it. Also, enumerate relevant courses. Everyone takes freshman lit, don’t throw that on there! Instead, put down Software Architecture, Distributed Systems, and Interactive Simulations. Remember, CS320 is not the same for all schools! It also doesn’t provide an idea of what the course taught.

Showing you have technical expertise is extremely important! List your advanced skills, the operating systems you’re well versed in, the platforms you have developed for, the programs you know, and the languages you can code in. Put down the concepts you know, as well. Design patterns, finite state machines, those are all great! You must demonstrate a grasp of the needs and standards of the industry. Sure, you wrote a space invaders clone for your TI-83. That’s wonderful. Showing proficiency with TI-83 probably won’t land you a job crafting the next first person shooter for Electronic Arts.

Experience should be relevant. Key word: relevant. Summer internships, school projects, open source contributions, and side projects are all wonderful sources of knowledge. Show that you’ve gleamed knowledge from these! More importantly, ensure they’re completed projects! Anyone can “start” a project by writing half a specification and leaving it there to rot on his or her drive. That’s not good enough. Show that you were able to set goals and achieve them and that you learned and grew from your experiences and achieved something.

It’s probably a good idea to list leadership positions you’ve held. Go ahead and let them know about those hours spent organizing events to raise money for the local soup kitchen. Demonstrate that you do more than spend all of your time looking at screens. It’s sad to say, but just being able to write code isn’t enough.

Awards and honors should also go on there. List competitions you’ve taken part in. Just, remember, if you’re a PhD student and you won something way back when you were an undergraduate, it may no longer be appropriate. Recent graduates should also stay away from putting anything about high school on their resume. They should have moved on and achieved something during their college years by graduation.

Other activities show that you are well rounded. Most employers want to see that you have passions! It’s great and means you probably have a personality. Of course, this is also a risk. Stating that you’re an avid gardener might ring true with the reviewer reading your resume, or it might make them laugh, crumble up your resume, and throw it in the trash. Consider your audience.

That brings us to our section entitled, “How to say it.”

The goal, again, is to demonstrate, not state. It’s one thing to simply state, “Understanding of C++” and another to say that you spent a year leading a team of compiler designers attempting to optimize the assembly code outputted when virtual functions are utilized in C++. Stay away from saying, “Good at managing teams” or “works well in a team.” Anyone can say that! Show it!

Quantify, quantify, quantify. “I worked on a team” just doesn’t cut it. “I worked on a 12 person team that generated $500,000 in sales. We reduced software development costs by 45%.” Provide numbers, people, time, and money.

Ensure you use strong and varied words. Check to make sure each sentence doesn’t use, “developed this… developed that.” Avoid saying, “worked on.” Rather, try implemented, designed, or solved. Google for resume action words.

Remember relevance. Ask yourself, “What part of me am I trying to talk about more here? How does it relate to the job?” Don’t talk about the teams you worked on in your chemistry course if you’re attempting to apply for a development position in a company that just wants you to work with Pthreads on their tax software.

Use technical jargon where applicable. Again, this links in to showing you have an understanding of the industry. Go ahead, use abbreviations where it’s understandable to do so. Everyone knows HTML. However, not everyone will understand what AOP is, or CLR, or XP. In fact, XP is ambiguous. Am I talking about the operating system or the development philosophy?

Remember to keep in mind the level of specificity required. So, for school it’s wise to provide name, city, and state. On the flip side, employers don’t need to know you spent seven years on your college’s soccer team. It might be enough to state you were on the team.

Now we get into “How should it look?”

Simply: professional.

The design should be clean and easily readable. The information should be in a clearly defined scheme that is consistent. Essentially, follow the four elements of design: contrast, repetition, alignment, proximity (that’s right, it’s CRAP).

Fonts should be serif and be no smaller than 10 point and no larger than 12 except for special cases like headings. Under no circumstances should you ever use script fonts or anything odd like that! It’s an easy way to have your resume filed in the garbage bin faster than the JVM could ever hope to accomplish.

Your name should be bigger (16 point font). After all, it’s the most important thing on your resume!

Distinguish sections utilizing bold, capitals, lines, or a different font.

Be consistent. If you bold the title you held in one company, do it for each of them.

Remember, bullet points can be used to replace a paragraph. Of course, this is an individual stylistic choice. Regardless, it can help to remove the sense of fluff.

Margins should be no smaller than ½ an inch on any side. There should be a decent amount of white space. This will help the viewer distinguish information.

Avoid justified alignment. It can create nasty spaces.

Check your tabs. Ensure they are all aligned. Even one extra tab could be enough to ruin the flow of information and be egregious enough to ruin your chances of getting your position!

Unless you’re an individual with years of advance experience, don’t make your resume more than a single page. Put the most relevant and impressive material on. Leave the garbage and excess where it belongs. Remember, your resume will typically get a 30 to 60 second glance. Readers will not bother to find the important information in three pages.

Now, for my favorite section: “WHAT NOT TO DO!”

Oh, man. A poor, unnamed fellow posted his resume on the International Game Developers Association’s boards. He had broken a lot of the rules that we’ve created in this article. The most striking: he listed every single video game he’s ever played and if he beat it or not in an accompanied XLS file. Who is going to read that?! I would look at the contents, laugh, then trash them if I were an employer. It’s extra information. Lesson: only list what’s relevant!

Never say references will be provided upon request! If the company wants them, they will ask for them. It’s that simple.

Stay away from generics! They’re great in C#, but don’t have a place on resumes (it’s a bad joke, I know). Anyone can say they’re a hard working software developer with years of experience. That’s not enough. Show it on your resume.

Again, nothing unprofessional. NOTHING!

Do NOT: write your resume in an hour and submit it without a second glance. We can’t emphasize this enough: get peer review. Have your friends and colleagues all take a gander and give you advice. It’s important to have a fresh set of eyes and opinions. Try to get people that have the position you’re aiming for to look at it and provide feedback. The more the better.

Do NOT: forget to read through it carefully. A single typo can cost you that dream job! Any error, however tiny, is enough to disqualify you immediately. Most recruiters will examine 100-200 resumes in an hour. You have 30 to 60 seconds to make a GOOD impression. You don’t want to get thrown out for a typo.

Lastly, and perhaps most important: DO NOT LIE OR EXAGGERATE. They will find out. They will fire you. Or you’ll just sound like an idiot when the interview rolls around and they start asking questions about what a SIXMode lock is and how you’d go about implementing it! This is a great way to burn bridges! They will not even look at your resume if you apply again at a later date when you actually do know what a SIXMode lock is!

That’s it! Now, go make yourself a killer resume and get that job you’ve always wanted.

* Nick K. contributed to this article