The Power of a Programming Portfolio |
Portfolios have been used for years by architects, artists, and designers, but why not for computer programmers? A programming portfolio is a great way to showcase your best work, and highlight your involvement in challenging projects. It provides a great talking point during an interview, and gives more insight into your work than a resume alone could. A programming portfolio can help you stand out from a sea of other candidates.

Stand out from the crowd.
Very few programmers have portfolios. Judging by the candidates I have interviewed, I would guess less than 5% take the time to put together a portfolio of their work. So just having a portfolio in the first place can put you ahead of a large number of potential candidates when looking for a job.
Using your portfolio during an interview provides the interviewer with visual cues that bring your work to life. Showing not just telling is a powerful thing. It makes your achievements concrete and memorable, which makes you yourself memorable.
What to include?
Obviously, you only want to include your best work - this is a chance to showcase your talents. If you have experience on a lot of projects, you have the luxury of choosing projects based on the image you want to project. Do you want to show that you have a wide breadth of knowledge? Or do you want to leave the impression that you are an expert with a specific language or technology stack? Chose the work to include based on how you want an interviewer to see you.
After narrowing down the project list, include relevant details for each project. Basic details that should always be included are the project name, your role in the development cycle, a description of what the code does, a high-level description of how it works, and the skills, programming language, and technology stack used.
Think about any other optional information that should be included. If any of the work was open source, you could include source code examples. Provide the name of the client / company the work was for, especially if they are well-known. Including lines of code or number of source control check-ins can provide some measure of the size of your contribution to the project. Consider taking a page from the book of our graphic designer cousins and include relevant images. Or write about any challenges that were overcome during the course of development. There are quite a few optional elements that can be included, but I would suggest choosing a couple things that give the most insight into the projects and yourself so that the portfolio stays succinct.
Showing the portfolio.
The time to show your portfolio is not during the initial contact with the company. A potential interviewer isn’t likely to look at a portfolio before you pass a resume screen. I know I have trashed a few resumes that tried to be both resume and portfolio at the same time (it’s very hard to do both well at the same time). That said, if your programming portfolio is online, it probably won’t hurt to include a link to it on your resume.
The interview is where the portfolio will really pay off. Bring plenty of copies, and make sure that everything is well organized so that you can quickly point an interviewer to specific examples when they relate to interview questions. This gives you the opportunity to show what you have done, not just talk about it. Use the portfolio as a talking point and visual aid. I tend to get mildly panicked during interviews, which can make me forgetful; a portfolio gives a quick overview of my important work that I can use to jog my memory and keep myself focused.
Portfolio Examples
Leave a link to your own portfolio in the comments if you think it would make a good example, or if you would like it critiqued. And of course feel free to critique the examples above (including my own).
Related |
|





GaMerZ
Thanks for including my portfolio link. I have to agree that I got quite a number of friends who are programmers are too lazy to put up their portfolio.
Veera
Very valid point. I will create my own portfolio soon.
willCode4Beer
I don’t think it’s fair to say most programmers are too lazy to put together a portfolio. Most companies require employees to sign NDA’s. This means putting your best work into a portfolio could leave you open to legal action.
An alternative is participation in open source projects. But, if you are working on an open source project, it doesn’t need to be in a portfolio. It can stand alone.
I’m not against having a portfolio, in fact, I think it’s a great idea. Just be sure to understand the issues that can prevent people from having one. I often recommend that developers have their own web site. They can post code from personal projects and answers to problems they’ve faced. It can serve as both an online notebook (that’s what mine is) and a portfolio at the same time.
I’ve been in interviews where at the end we are just talking and discover that the interviewer had actually found solutions to their problems from my website. Now, that’s a big ego booster.
Doug
Thanks for your post,
I strongly agree that we, as programmers, need to have portfolios for future reference. I sometimes have great difficulty writing resume because I am not sure what I should put in. The number of projects/technologies you’ve been using getting larger and larger over time. having a portfolio is a great wy to organize your thoughts. And also, it show prospect employers your commitment to your job, and that you’ve been taken proud in what you were doing.
Doug
fluminis
Interesting article.
I’ve got one for a couple of years now, but I never had the possibility to show it during interviews.
In most of them, I was in reunion rooms with no computer…
So it’s a good thing to have a live portfolio but don’t rely only on it during your interviews.
It could be interesting to put the url of your portfolio on your resume.
Joel Parker Henderson
If your portfolio includes work you have completed for others or with others, it’s wise to check with them to let them know you want to share it in your portfolio.
Robby Slaughter
Like George Bernard Shaw, I’ll quote myself in response:
Read the rest and see my portfolio at http://www.robbyslaughter.com/consulting/portfolio/
Edward J. Stembler
Here’s my portfolio: Projects
It’s not comprehensive list of all of my projects and I still need to fill in some descriptions and screen-shots…
Daniel Benamy
I really like this idea. Would you mind if I copy the format of your portfolio?
jess
I should have included a word of caution about respecting NDAs and asking for permission before including something in the portfolio. These are very valid concerns, and nobody wants to be left open to litigation. Thanks for bringing it up in the comments.
@fluminis Great images on your portfolio! They really make the portfolio interesting. Have you thought about bringing printed copies to an interview?
@Robby True that a portfolio isn’t proof of expertise, but really what is? A resume shows even less proof of expertise, and it can be hard to show expertise in an interview if you are flustered or just don’t interview well. I guess I like the portfolio approach because say I am the only developer on a project, an interviewer would be able to tell pretty quickly with some basic questions about the project if I really did the work or not. I suppose this is more true of application developers than of web developers & designers though.
@Edward I like how your portfolio is searchable by platform and technology. It makes it really easy to find relevant experience when there are a lot of projects.
@Daniel Sure go ahead and copy the format!
Jack
That’s all very well for web developers where your work is publicly available, but what about other programmers who don’t have things publicly available or that don’t even have a user interface? Wandering into an interview with a large sheaf of printouts of previous companies’ proprietary source code might not give the best impression.
Also, what happens when there are many people working on the website… you’d need to be very careful to explain precisely what you were responsible for.
Robby Slaughter
@Jess, you agreed that a portfolio is not proof of expertise, but wondered what really is. Did you see my sidebar? Quoting me again:
The best proof of expertise is demonstration. As has been pointed out by many people, 99% of applicants for programming jobs can’t actually program and fail simple interview tests like “write a program that prints all the odd numbers between one and a hundred”.
Portfolios can be a useful source of talking points for an interview and sometimes clients or employeers will review portfolios to assist in their decisions. It’s something everyone should consider, but it’s not nearly as important as actually knowing and demonstrating your stuff. Like when hiring a juggler, always ask candidates to code in interviews, and never take a job where they don’t care to see you write code.
Working at Home on the Internet
[…] j presents The Power of a Programming Portfolio posted at GrokCode, saying, “How to for creating a portfolio to promote your work. The tips […]
vBharat.com » The Power of a Programming Portfolio
From vBharat.com » The Power of a Programming Portfolio…
Portfolios have been used for years by architects, artists, and designers, but why not for computer programmers? A programming portfolio is a great way to showcase your best work, and highlight your involvement in challenging projects. It provides a gr…
Programming Portfolio : [ mkhairul.com ]
[…] reading The Power of Programming Portfolio, I’ve decided to add one myself, My Programming Portfolio. Currently there’s only two. […]
Arthur Abogadil
Yes, i agree putting a portfolio online is helpful in letting potential client evaluate your skills, mine is at and it landed me quite a few project already.
Nicholas Baiborodin
Thanks for your article! I haven’t got my portfolio as software developer, but now I’ve got decision to make it. Thanks one more