Monthly Archives: November 2006

Why I look for open source projects on resumés

Being a good software developer implies several things like knowing a couple of languages, knowing some design patterns, but mostly having some experience. What you learn in school and what is done in the businesses are farther then the day I’ll wear a moustache. But, not all experiences are good ones. Some should make you progress in your constant quest to the absolute software Truth and some make you regress.

Lots of companies still handle bug tracking on sheets of paper (or at best on Excel) and use Windows file sharing as their source code control system. What’s an experience at a place like that worth ? And maybe when someone talks about his experience of Reviewing the documentation process, what he really meant was copy-pasting links in Word documents.

How can you evaluate one’s experience value ? By evaluating the products they’ve made on their previous company web-site ? Ask them to write code ? I don’t think so. Software development is a lot more then coding and releasing products. It’s about how you handles change request, bugs, tasks, estimating, features, source control, documentation, tests, code review, etc. It’s about lots and lots of things that you can’t judge by a final product or KLOC. You’d really have to work for a company for a certain time to know if they are good enough.

Open source projects are… open. You see how they handle bug tracking, documentation, source code control, build process, etc. All this is public. All successful open source projects have great developers involved, voluntarily. Which means, they’ve evaluated how the project work and agree with it or change it to fit the need. If not they just leave or let the project die!

It is less risky to bet on open source project experience then (closed) company. So don’t be afraid to put it on your resume. Or else, it’s never too late to start getting involved in one of those project


Filed under Misc

Lowering context switching harmfulness

Joel Spolsky today’s post was about switching developers projects when priorities changes. This will happen a lot if you’re the only developer on a project (switching back to an older version when working on the newer one) or are working on several projects at the same time.

Context switching is bad for developer’s productivity, that’s a fact mentioned way back when I was a kid, but we sometimes need to get some food and clothes and take our girlfriend out to the movies. One important thing Joel and Dmitri Zimine forgot is how it is harmful to product quality too. When a developer has been working for months on a project, he can hold almost every details of the project in is head and fix anything with a clap of a hand (or two when he’s tired). When you throw him back to some old project… everything he once knew well is now far and forgotten.
This is why automation is so important. If you can’t test, build and deploy in one click or command line you’re busted! If you still do some copy-pasting galore, maybe you should give my code generator a try or write your own. If you can’t rollback the last version you deployed on the public web server in seconds you’re better off eating raw chicken.

You might have already automated your test and build process but need to modify just that one tiny line in a Word document before making the final installation package.

This would take too long to do from the script so I’ll just edit it by hand

is a project killer. Don’t count on your memory, documentation or co-workers to remind you of something : automate and forget it, you got so many other things to think about!


Filed under Misc