Career advice 5 - Publish your projects

Posted by Patrice Neff Mon, 03 Apr 2006

Software developers can be judged best by their work. A CV or even an interview can never really be trusted. While I try to very honest in my CV I have seen some CVs that will make me double-check every claim an applicant makes in his CV. Some of my classmates of my apprenticeship would write they had a "good" understanding of C++ while they just barely knew that it was some object oriented programming language. And I have gotten requests by friends where they asked me to define some terminology. It later turned out, that they needed that to put into the CV. "Ouch" is all I can say about that.

But how can your potential employer ensure that you actually know your stuff? Recommendations are important. Can they call your former coworkers and ask about your performance? This can also be dangerous though if you left the job with sour feelings. The company may give you bad ratings because you criticised the company strategy a bit too loudly. I haven't had that experience myself but have friends who did.

What nobody can influence though is the quality of the projects you publish. An extensive software project shows your creativity, problem solving skills, communication skills, code quality (if you publish the source code). And it shows that you are actually able to deliver and know the programming language you are using. All things that your employer will want from you.

There are several ways you can do that. The most obvious is to implement some idea that's floating around your mind and publish it as free software. Or you can put out some Web project. Be aware that this requires quite a time commitment, though. Something not everybody is able or willing to do.

The second option is to participate in an existing open source project. Found a bug? Fix it. Have feature request? Build it. All of that is visible as well and gets an URL. Document the work on your Web site (as you now have one, don't you?).

And the third option is to make the work of your current job public. Are you working on something that could be bundled as a product? Publish it as free software. Of course, that's not your decision but has to be approved by your boss. If you need a case study, point your boss to Ruby on Rails. Published by David of 37signals, that company is now extremely well known and produces a lot of buzz on the Web. Rails was originally created as part of Basecamp and then extracted and made public.

No matter which way you choose, make sure that the code you publish is of good quality. Take pride in your code and see it as a piece of art. Actually you should always do that no matter whether the code is public or not.

To some extend I have taken all three routes. I have published a lot of projects (blog directory, Swiss weblog statistics, Media Manager, Bookmark Manager, though I'd like to remove that code from the Web because it's horrible). Also I have contributed patches to some open-source applications. And I was able to publish a research document I did at namics (Web application security).