13

Employers love seeing that you work on side projects in your spare time, and most programmers do just that. However, I've never been completely sure as to what magnitude of project is appropriate to list on a "personal project" type section in a resume. In other words, I'm not sure how to tell if some projects are too small to be of interest for someone examining my resume.

I'm still in college (a senior graduating this spring), and I realize that certain projects, like my senior design capstone project, are obviously worth mentioning as I begin a search for a full time position. But, what about smaller projects/assignments I've worked on? For example, a simple Javascript interactive shell, and a basic lexer in C++ are two side projects I've been playing with fairly recently. Should things like this be included? What about larger or more difficult assignments from courses I've taken? Is there an obvious line that can be drawn?

I'm curious to hear both what other developers have included on their resume and what those of you involved in hiring look for in personal side projects of developers.

13

There are several points that you have to take into consideration here.

First off, you are pitting the relevance of the project (given the job description) versus the physical length of your resume. Most employers do not want to scan 6 pages of individual database projects you've been involved in, no matter what the job is. You have to really concentrate on highlighting relevant projects, and leave lesser items for discussion during the interview.

Secondly, it is quite often your side projects that will even get you the interview in the first place, no matter the magnitude. For example, I once wrote a ridiculously simple cartesian mapping application in an ActiveX control that would allow you to assign a coordinate grid to an image, and then track little boat icons on it given the coordinate of a real boat. It took probably 8 hours to write. I didn't even get around to making it update from a live gps feed or database.

I later interviewed with a company that makes an online mapping application. I made sure to include the project with links to a sample, and I'm convinced it's the reason I got in the door (and eventually hired), since they asked me about it endlessly during the interview. The relevance of the project vastly outweighed the actual size of it - what was important was that they found out that I understood the concepts they were looking for.

And on top of all this, you have to weigh the "feel" of the company, based on what you can discover about it. Is it a "cool" company, that might cater to idiosyncratic developers? Maybe put some more "fun" kind of projects on there. Is it a large bureaucratic company that is looking for people that follow directions and conform? Maybe limit the projects you include a little bit more.

And above all, don't overhype a project and make it sound like you did more than you really did. This will come out in the interview and leave you embarrassed and them disappointed. Stick to what you did do and what you do know. I've interviewed developers that put projects on their resume that they did 3 years ago in school, and then can't recall a single thing about the project. This just makes them look terrible. I'd say it's the #1 mistake from people that I've interviewed.

8

As a hiring manager, I can say that the biggest things I'm looking for (other than basic competence, established via other means) are curiosity and initiative. Thus, any programming project is fair game for inclusion on the resume so long as it shows one or both of these. The two examples you cited are ok because they reflect your independent initiative. Programming projects you had to do for class work are not very interesting to me unless they either show proficiency in a very specific area I'm looking for or unless you went well above and beyond the class requirements.

I like it when the project shows that "I did this because I wanted to learn it and because I thought it was fun." I don't like it when the project shows that "I did this because someone asked me to and I didn't really learn anything from it."

With that said, a project with a public URL is better than one without. Contributing to an open source initiative is better than random hacking. Having Stack Overflow karma is better than... well, you get the point.

I should add that, as noted in one of the other answers, there is nothing worse than having something on your resume that you can't answer questions about. If you put a programming project on your resume I am definitely going to ask you what was hard about it, what you learned, what the biggest challenge was, etc. You had better not say "um..."

6

I'm not sure if this will properly answer your question, but it may be somewhat helpful...

A project which has been released and has a URL that you can point someone to could be considered better than something you conjured up but never released to the wild. But it depends on the circumstances. If your unreleased personal project is of sufficient quality to release, or wasn't released because it was for someone in particular, it might be worth including anyway.

Just like your list of previous jobs, your list of projects should only include things relevant to the job you're applying for. Relevance may be difficult to measure. I've done a lot of game-related stuff, but I'm very hesitant to include it on my resume because it's not applicable to my career path.

2

If you consider the projects to be relevant to your personal development, I wouldn't doubt on putting those on for a second.

Me, I consider every project that has some exposure to several users (actually, I only call "projects" applications that have exposure to more users than just myself and/or my family) a part of my personal self-development--so I put all of those in.

2

Hi Pete,

You should be looking at this on a case by case basis, and including anything relevant to the role. You could combine many of the little projects and list them under one topic. at the end of the day you are trying to land a job, therefore it is important that you mention anything you feel is worthy. Have a look at this article, it has lots of useful tips

Write a resume that will land you a programming job

1

If it is publicly available (on the web) and you are proud of it, why not. Also, if it had some complexity that you are able to explain in 2 minutes or so.

1

When writing my resume, i included programs that were small, but showed creativity or intelligence. for example a differential equation solver that was probably 40 lines of code, but showed i was comfortable in the abstract realm higher math. Some other answers mention that the project should be relevant to the company you are applying too, but most interviewers looking for college grads understand that general intelligence and problem solving ability are the important qualities of a software engineer. Also, for any program that you include, you should have a reason for why you think it belongs there. Did you solve an issue with this program in an elegant way? Is the program original or creative in a way that is unique to your strengths? hope this helps and good luck with the job search.

EDIT: ah i forgot to mention group projects. If you include projects where you worked on a team, mention on the resume specifically what you did. in the interview you can talk about where you fit in on the team, leader? workhorse? meticulous detail guy?

1

If it's big enough that I shipped it. That means (a) they can see it, and (b) I ship things.

As someone who's interviewed programmers, it's not uncommon for people to lie on their resume. ("Oh, yeah, Lisp. I actually only wrote some C code that talked to a third-party Lisp system. Uh, no, I can't write a simple function for you in Lisp.") If you put down "wrote a lexer in C++" on your resume, and it's not at yourblog.com/lexer/ so I can check it out ahead of time, then I'm going to grill you on it to make sure you mean it.

1

I typically list projects that I feel relate to the job that I'm applying for, while providing a link to my personal project repository. If the hiring manager is curious, they can simply browse code on line through the Mercurial web interface. Each project is clearly described.

I give most emphasis to projects where I have commit access, even when its not quite related to the job that I'm applying for. It more or less says "Heres the work of a few thousand people that I get along with quite well, who trust me to make changes."

And, you never know, your manager may see something you wrote which the company could really use .. at which point you get paid to improve your own open source project .. it doesn't get much better than that :)

1

When I interviewed with Google, I didn't include any of the voluntary positions that I'd had in the IT sector (debian ubuntu, various open source projects etc) . The recruitment agent from Google told me to add them all. It tripled the length of my CV :( I got through to the 4th interview though ...

0

I just put a link to the SourceForge page of my pet project at the end of my resume.