The Programmer’s Portfolio
May 7th, 2008There is an age-old question when it comes to attending an interview for a programmer/developer post at any company, and it is:
“What do I bring with me?”
I had the pleasure of being asked this the other day by a friend of a friend. He was about to graduate Computer Science and was shopping around for jobs. Thankfully for him, and for the rest of us there are plenty of jobs going around for fresh Computer Science graduates. I’d go as far as to say there are almost too many jobs available, as this guy had managed to snag his way into twenty interviews for companies within and around the outskirts of Bristol.
Back to the question. Portfolio’s are dominantly an area you’ll associate with a designer. If you look into a designers portfolio you’ll come across a collection of their best work, all nearly categorised and explained. If you’re lucky you’ll get a full case-study and documents detailing the process of how the work was created. Designers and Artists live for their Portfolio, as it’s the one thing that’ll get them a top job.
Programmer’s, Developer’s, Software Engineer’s and the rest of ‘those types’ typically show nothing in an interview, and that’s a terrible shame! A lot of the time a programmer’s work will stay with a company and/or will be next to impossible to show during an interview. If you had recently programmed an order system for a delivery company you couldn’t really take it with you one day just to show your next potential bosses.
Either way, I cannot see why programmers don’t keep their own portfolio’s! I’d argue that it’s almost essential to keep a detailed log of the work you’ve done over your time as a software professional. A fantastic paper/online portfolio showing your programming work, along with documentation standards followed, any special software you worked with, etc. Programmers live in a world of jargon and it’s become so bad that the hiring of potential employees has almost become a sport! Various websites exist detailing the process of weeding out the bad, leaving only the good, but these practices will never work one-hundred percent of the time, and the one-percentage man/woman will walk away and create something great for another company, probably your competitor…
Programming is creating from theoretical and logical concepts, much like art. Many experts and authorities in the field of Computer Science have argued that Computer Programming is an Art. I believe this to be true, and whilst we cannot show something physically working we can use the same theoretical ideas that our projects came from to show what we have achieved.
When you’re in an interview, how are you going to demonstrate your skills? You could always sit there and say what you’ve done but how would the interviewer know that you’re telling the truth, that you’re actually as smart as you say you are. Also, how are you going to remember everything you’ve ever done in every project you’ve undertaken? Most employers will want to hear more than “I made this thing with C++ and it was good”.
If you’re a Computer Science (other degrees are available) student then a portfolio is almost essential because you have no experience working on a large software project. Often enough an employer will ask to see what work you’ve undertaken at university and unless that work is actually good you’re pretty screwed. A portfolio will allow you to promote yourself how you want to, as well as introduce some of the knowledge you’ve learned that isn’t in physical code. I’ll definitely put a few of my more popular Blog posts in mine for good measure!
If a Programmer were to show a tidy and professional portfolio of their work, detailing everything that happened during a project, the final outcome, and integrate the jargon of Software Engineering into something that actually exists then it shows a person that is excited about what they do. Visit most web designers portfolio websites and you’ll see that these are the most thought-out and well-designed websites they’ve made. This is because they have a purpose to wow their prospective clients. Why aren’t programmers and developers creating portfolio’s and capitalising on this golden opportunity to show something other than a CV or a Resume to their next potential employers?