Stack OverflowWriting a good resume/CV
[+38] [11] David
[2008-08-08 13:30:59]
[ interview-questions job-hunting resume cv ]

An experienced programmer writing an effective resume/CV can have difficulties presenting the information they want whilst Keeping its length under the suggested 2 pages.

What's the most effective way to summarise your experience in languages/tools/methodologies etc ?

For example: do you present the information in tables or bulleted lists ? What terms do you use to indicate proficiency in a specific area: beginner, proficient, guru ?

Also, how do you draw attention to your online reputation in the document beyond specifying URL's ?

[+72] [2008-08-08 13:43:46] Patrick McElhaney [ACCEPTED]

Ater scanning dozens of resumes myself, I realized there's two questions I want to answer quickly.

  1. Do you have skill X?
  2. What are your strongest skills?

I wanted others scanning my resume to have a pleasant experience. Keeping those two goals in mind, I put my skills in a tag cloud. Skills are listed in alphabetical order, and the ones with which I have more experience are in larger fonts.

People really seem to like the skills cloud idea. I've gotten a compliment on every interview since.

(3) I hadn't thought of that. I really like this idea. - Jason Baker
Great idea about skill cloud. Thanks a lot! - Alex Koshelev
+1 for skill cloud. - Kapilg
(1) Can we see ur resume? - Jitendra Vyas
@jitendra Here's what the skills cloud looks like. - Patrick McElhaney
@Patrick McElhaney - thx for quick reply. here mainly u mentioned programming languages. Should i mention tool in same tag cloud like; Photoshop, dreamweaver, fireworks, Visual studio etc or for tools and IDE experience we should make different category? - Jitendra Vyas
"Personally, I don't care about tools" - This not necessary for programmer. But i make design and XHTML CSS too so to show experience of design we have to show tools , is there any other way? - Jitendra Vyas
On second thought, I think you should put the tools in the same cloud. There's no good reason to list them separately. I deleted my earlier comment, in which wrote "personally, I don't care about tools." - Patrick McElhaney
[+4] [2008-09-15 15:08:19] belwood

Of all the tips/suggestions offered by myriad job-hunting resources, the 2 key things I've learned over my 20 yrs of being in software development are:

  • Emphasize what YOU CAN DO for the employer rather than WHAT YOU'VE DONE.

In your resume avoid excessive technical detail about your accomplishments and ADD the IMPACT you made through each accomplishment.

eg. Doubled sales by integrating legacy lead-management and accounting systems so that to generate an innovative lead-performance reports.

  • When you talk about your experiences, think "War Story" (exciting, passionate) rather than "Report" (BORING). Too many people I've interviewed just recite what's on their resumes - ZZZZZ!

eg. The tech suppport team was nearly planning a coup d etats over the high frequency of downtime of their custom ticket-managing software. Only one day after being given the job, I recognized a flaw.... the downtime has been 0 days out of the last 240 so far.

[+4] [2008-11-02 19:49:23] unintentionally left blank

Some good advice here already. A couple more things I would add:

1) Don't lump C and C++ together (as in C/C++). If you have used both you should separate out your C++ experience.

2) Be honest when it comes to your skills - it's no use getting an interview if it becomes obvious to the interviewer that you exaggerated your experience.

A technique that I have used in the past is to put language keywords that are buried deep in the resume in bold. People seemed to find that convenient.

Also, some general advice: try to make your resume sound enthusiastic and passionate (again, assuming that you are!). That can go a long way.

Good luck!


(2) This happened to me in an interview. Having done C++ I put C/C++ in my resume. I can tell you all about advanced C++ templates and so on... but I got asked in an interview 'Oh, C, eh. What's a longjump then?". I had to sheepishly say "well I've never used one, but I think it's <blah>" :-( - Orion Edwards
its a good thing you didn't use it. There are certain things such as longjump that you'd be better off not knowing at all. - Zenikoder
[+3] [2008-08-08 13:41:29] Tanerax

A few things I have done and have seen others do that help are:

  • Research the company your applying to, technologies they use, methods that they use.
  • Customize your resume towards the company and job your sending it to.
  • List languages and tools that the company uses that you know and your experience.
  • Include a Cover Letter directed at the job and company your applying for.

Many people just send out a bunch of premade resumes that are generic, Employers look at them all and get tired. If yours stands out and shows that you did the work to make one specifically for them, with detailing of your job experience that they really care about. Yours will stand out amongst the herd.

As for Online reputation, In your contact information that has your name, email, etc you can very easily drop your url after your email. If the Employer cares to look you up they have your name, email and url and will have all the info they should need.

(1) Customizing CVs is getting hard as most of us these days seem to be putting our CVs on Job Boards where you don't know who will be looking at it. - Martin Brown
(1) True - it's a right pain in the ass. Perhaps sending a CV and cover letter to companies you'd like to work for regardless of advertised vacancies might be a good idea in that case, as you can still customise then. Even if there turn out to be no vacancies at that time, if your CV's good enough, it might well be kept on file. - Mal Ross
[+3] [2008-08-08 13:41:31] Dillie-O

The one thing I saw when I was on a search committee that I thought was really effective was to take the top two or three "featured" projects at a given position and provide a brief description of what you did in those projects. In the description, make sure to hilight the technologies used, how you integrated them, or if you beat a timeline or something to that effect. I've put it in my resume since.

That way you can demonstrate a broader depth of skill and also present it in an engaging way other than a bullet list of technologies listed (though I do tend to list that at the bottom since there are still some folks out there looking for a magic keyword. 8^D

[+2] [2008-11-02 19:16:41] Martin Brown

This is a hard question to answer. Different recruiters and companies have different preferences and most people have very little data to base any advice on. A lot of it is to do with being in the right place at the right time.

I started contracting with a short two page CV and a number of people commented that it wasn't very long and as such it didn't look like I had done very much. I don't think they were interested in reading the CV to find out otherwise. The important thing I have found is that people should be able to easily find the information they require and skip the bits they are not interested in. This means that having a well structured CV with clear headings is far more important than keeping it short. I've given the current layout of my 4 page CV below. This works well for me but other people will get different millage.

It is worth noting that a lot of recruiters are looking for business skills rather than technical ones. If you can combine C# and Financial Instruments or HTML/CSS and Marketing you are probably onto a winner.

My CVs layout

  • Page 1

    • Name and Contact Details with simple formatting so agents can chop it out easily.
    • Paragraph of preamble explaining what specialize in and the kind of employer I want to work for.
    • Key Achievements - 5 Short bullet pointed paragraphs giving the highlights of my career.
    • Testimonials - 3 sentences written by IT Directors of companies I have worked for singing my praise.
    • Skills - Bullet Point list of Skills that I have.
  • Page 2 - 4

    • A table of the contracts I have had. Two columns and one row for each contact. In the left column I have Company, Duration and Number of Renewals. In the right column I put a description of the role and my achievements while I was there.
  • End of page 4

    • College qualifications and certifications.

[+1] [2009-02-12 11:47:25] Evgeny

I like the advice of the Manager Tools Your Resume Stinks [1] podcast and have followed it for my own resume. (Don't be put off by the word "manager" - this applies to everyone.) Essentially their recommendation is that you have a one page resume and most of that one page briefly lists your achievements.

The reason it resonated with me so much is that while I was reading resumes for potential developers I found it such a huge waste of time, not to mention boring as all hell! That's considering that I only had to read 10 or so at a time - recruiters read thousands! You have to remember that the point of the resume is to get you an interview, so you resume should somehow stand out from the rest (in a good way). You won't stand out just because you have the required skills - most applicants will have those. You need to show that you've not just done your job, but you've done something impressive. I'd be reading these resumes for mid-level developers, which were on average about 5-6 pages (!) and it was all just standard stuff... blah, blah, blah... waffle, waffle, waffle... Tell me you've done something good already, so I want to interview you!

Of course, this all assumes that you have done some good work. I'm not suggesting that you make stuff up. If you only have 1-2 notable accomplishments in each job - that's fine, but burying them in a page of "fluff" means that they won't get read. Hence the importance of keeping the resume brief.


[+1] [2008-08-08 13:52:52] Jon Limjap

I blogged about this a while back here: Is your IT resume ready to go primetime? [1]

One thing you should realize is that your resume usually goes through two stages: first, through a generalist HR personnel who may or may not understand the technologies stated in the resume: they only have keywords (dare I say buzz words) to search for you to merit that first phone call. The second stage is when someone who knows their technical stuff goes through your resume, usually the team lead or project manager of whatever employee position the opening is going to fill up.

So I think it's very important that in the first page you bullet list your list of skills, with your core competencies first -- that's the first step.

As for stating proficiency, I think that the only things that you should bullet list are things that you have intermediate to advanced knowledge of, OR, only if you have used them in a real world project. If you have beginner skills in, say, Lisp or Python, the fact that I only have rudimentary knowledge in either means it doesn't belong on my resume.

Reputation is a more tricky problem. Some institutions and/or managers would rely on things like certifications (whilst a lot of people, like me, actually abhor paid certifications). Community recognition like Microsoft's MVP program might be a better gauge at reputation. As for online reputation -- it really is just that, URLs. If you're lucky, however, your interviewer might have come across something you've written or have seen you in discussion forums and would have a rough idea of your competency at least online.


[+1] [2008-08-08 13:54:47] graham.reeds

I once had a massive 3 page resume, which listed everything that I used professionally and non-professionally, my schooling, education - the whole kitchen sink. Most job agencies will then chop most of that out as employers don't really care apparently. My current CV is a lot sparser at 1.5 pages.

The best way to summarise your experience in my view is to list them as part of your job. ie: I encouraged my colleagues to adopt unit-testing and enhanced our build system to use them as part of the overnight build or I moved our team towards more agile processes by adopting unit-testing that...

[0] [2010-10-14 06:15:50] Billworth Vandory

As a contract developer for 15 years, my CV stands at 5 pages, but the first page is a summary of skills, accomplishments and the value I added to the client. Having a long contracting career makes it difficult to extract the information to present, especially if you're proud of (mostly) everything you did.

However, I don't think an employer would get to excited about the 1997 web site I wrote using Netscape Livewire that could generate EDI orders. But to me, it still has a soft spot in my heart.

Also, with being on the other side of the desk, I can't tell you how many resume's I've seen which lists the entire JEE stack, with 10+ years experience. Last year I had a resume where the person listed JPA(10) (ten years experience). uh huh. Must have been a time traveler.

[0] [2008-11-02 19:40:53] Orion Edwards

An experienced programmer writing an effective resume/CV can have difficulties presenting the information they want whilst Keeping its length under the suggested 2 pages.

I'm not sure how it works in the US, but here in NZ, a CV is expected to be a longer document, and contain detailed information about your past career. Mine is 9 pages or so.

When applying for specific positions, you're expected to send a "cover letter". If applying via email, then usually this is just the email body text (and the CV is attached). This is meant to be short, and how I generate these is to specifically target the position. If the job is a Java job, then concisely highlight that you have 18 years of Java experience and worked for NASA building websites in java.

You can then note at the bottom "more detailed information is available in my CV" (or you could call it "full Resume" or somesuch). If the "cover letter" grabs their interest, they'll want to find out as much as they can about you, and a longer document will at that point be entirely appropriate.

A one or two page resume is typical when applying for US-based IT positions. Much more than that and you could get dinged for being too verbose. - unintentionally left blank
Makes sense, but could you not at the bottom of your one-page resume "Please see my full resume at for more info?" - Orion Edwards