October 12, 2004
Building up a portfolio (a collection of your work) is essential. Many employers will require it before they consider you for a job. Take the time you need to produce something that will impress them--it'll really pay off.
That's part of the job description for a graphic designer, but why shouldn't this rule apply to software developers, too? When I've interviewed developers, they rarely bring any samples of their work to show. This puzzles me. Anyone can put together boilerplate resume text, full of assertive verbs and fancy keywords. Blah blah enterprise blah blah strategic blah blah architect blah blah. The benefits of "show, don't tell" are much more compelling. But don't take my word for it. Compare for yourself:
No, you don't have to be working on a web application or website to have something worthy of putting in a portfolio. As a fellow developer, I can appreciate the beauty of a well-designed console application, or a clever applet with hardly any interface at all. If you've written code you're particularly proud of, show me that.
The portfolio is important, but what's more important is that you are excited about what you worked on. If you took the time to highlight the cool stuff and bring it with you, that already puts you far ahead of every other candidate I've ever interviewed.
If, on top of that, you can effectively communicate to me exactly what made your past projects fun and challenging to work on, then heck-- let's get married. Or at the very least, let's work together building something cool.
Posted by Jeff Atwood
I recently graduated with a bachelor's in computer science, and I had my first big interview at a company called Raytheon (gov contractor). I really blew that interview because I was unable to demonstrate my skills effectively. I was frequently asked to tell about my previous projects, and I was like:
"uhh, well... there's this one that used C++.. and, uhh... it was pretty neat..."
You get the idea. So, I decided to throw together a portfolio that I could use as a guide to show off my works. The URL is:
If any one would be willing to look it over and tell me what they think, I'd greatly appreciate any feedback.
Some things to keep in mind: I am a recent graduate and my experience is not all that great (I haven't been involved in any commercial projects), and I wanted to keep the design simple for printing purposes.
Looks good to me; that's exactly what I would want to see in a portfolio. Even if you're not looking for a job, a portfolio is a good way of documenting what you've been doing over the last few months or even years. I can barely remember what I did last week...
One purely design related suggestion: I really dislike white on black layouts; they are hard to read. I suggest switching to something more standard on a white background.
This works well for us "plain-text" developers, too. My girlfriend and I managed to get jobs a week apart with code portfolios being a major part of our self-presentation.
This seems to be a very little-known concept, though. While interviewers seemed impressed by the portfolio, it was for most the first time they'd ever seen one.
Thank you for your words of encouragement regarding my portfolio, Jeff.
I think I will keep the colors as they are--personal preference, I guess.
Now, I just need to get an interview set up so I can show off my portfolio. Unfortunately for me, inexperienced programmers don't seem to be a hot commodity right now here in Omaha, NE. I have sent out dozens of resumes over the last few weeks without a lick of interest. **shakes fist**
I took a look at your Portfolio Kevin and it looks great to me, I am currently working to finish my bachelor's degree in programming and will be showing my work in the same fashion you have showed your work. Unfortuanatly I am in Oklahoma, and in the town I live in there is no hope of finding a job in programming so I will have to move no matter what I find 8(
Great topic, albeit somewhat outdated. However, I was hoping to acquire any new information on the broken links if possible. I am currently working on a portfolio but since I am still in the beginner stages of my university(even though I am an older than typical student), I recognize the importance of this subject and I am looking for inspiration. My current display of projects I've completed is nothing more than showing my ability to write clean and clear code via plain-text files. Viewing some of the sites above I am tempted to go with a more visual display, even though most of my projects have been C/C++ systems and small applications programming.
Thank you for this key topic.
great topic. I'm trying to put together a resume and a portfolio. Kevin, your link is broken at the moment and if you have a new link, please update us.
For the portfolio, is a website necessary? Or can you take in a 'folio with code samples and screenshots?
I'm obviously lost with this topic and any help would be appreciated. TIA.
Wow, it's been a while since I posted my portfolio link (Oct 2004!).
Unfortunately, I can't put it back online for you guys right now. But, I can give you a brief description of its content:
My portfolio basically just displayed information on the projects I had completed during my undergraduate. On one side of the page, there was a css navigation bar that allowed you to select which project to view. Each project entry had a description, some code snippets, and maybe a screenshot or two - nothing phenomenal. I didn't make entries for completely noobie "hello world" programs; each project was unique and displayed some level off difficulty. Also, I made the portfolio website easily printable through the use of print-only stylesheets (css).
That's about it.
Here's kind of a cool update, though. About a week after I finished my portfolio and made the comment post above (from Oct 2004), I landed an interview at a small, local company (www.genesissys.com). I had printed off my portfolio and taken it with me. The owner of the business wanted to view it online, so I pointed him to the website, and the other interviewers passed around the binder with my printed portfolio. For about an hour they glanced through my portfolio, asked questions, etc.
They must have been impressed, as they offered me a job right away, despite the fact that I had 0 work experience as a programmer.
I worked for that company for about 8 or 9 months until I moved on to a much higher-paying position at another company. But, the moral of the story: that portfolio totally helped get me "in the door" for the programming industry.
Link to UrbanCode portfolio is broken
Way back in 2004, I posted my portfolio's link (see the first comment on this post). That site has been down for a long long time. After several requests to bring it back, I finally dug around and found all the old files and code.
So, it's up again at http://kevin-portfolio.brightmix.com
It mostly all works; I had to disable some of live code samples due to hosting limitations.
Hopefully this helps some peeps out there!
Can't believe it's been five years since your first post, Kevin. You surely keep track of your posts :-)
This old post still is inspirational for someone who has not kept a portfolio.
I've been doing this since 1995, although I call it my "project-based resume". It is over 40 pages long, generally each project is broken down into at least a 1-page case study, detailing everything relevant.
I take screen shots along to interviews as a visual aid to talk around the projects I've been on.
It's cool how relevant this post is even after years of it's original date. Online IT schools encourage the same type of portfolio, as I've learned. Great post!