james mckay dot net
because there are few things that are less logical than business logic

Passion and pet projects

Here are a few of my random thoughts on Ayende’s oh so controversial post, If you don’t have pet projects, I don’t think I want you:

1. Pet projects don’t need to be extensive or advanced for you to stand out from the crowd. The vast majority of .NET developers have no personal projects whatsoever, so as little as one evening a month spent on them should be more than adequate.

2. Can we cut out all the cringeworthy Bravo Sierra about “passionate developers,” please? There are less clichéd ways of saying much the same thing, and besides, I get the impression that some recruiters view passion as a substitute for competence. It isn’t. You get plenty of passionate developers who think that Pokémon exception handling is perfectly acceptable, for instance.

3. It’s also possible to have too much passion for programming. People who get too passionate about programming forget that it is a means to an end, and not an end in itself. A telltale sign that you are dealing with such a person is that their github account contains nothing but vim scripts and clones of developer tools and class libraries. If, as a recruiter, you want to look for personal projects, look for ones aimed at non-developers. That way, you get some indication that you’re dealing with someone who at least has some grip on reality.

1 comment:

  • # Reply from Erik at 01:03 on 8 Oct 2011

    I like your points here, particularly the one about passion versus competence. That reminds me of the Demotivator (paraphrased) “If you think that doubling your efforts can make up for a lack of talent, there’s no limit to what you can’t do.”

    I would like to pose a potential counterpoint to your item (3), though. If I see a developer that targets other developers as end-users, it might mean that you’ve got a potentially good team member. All too frequently, I see people concern themselves over the smallest detail of the end-users requirements (and rightly so), but commit code with an absolutely monstrous API for fellow developers – globals to be set, dozens of overloads, dozens of parameters, etc. That sort of inconsistency always amazed me.

    Perhaps the developer who targets other developers as users is one that will make an effort to define clean and concise interfaces and APIs. (Of course, this effect could be compounded if the attitude is “any rock-star like me would figure this out!”)

Comments are closed.