Richard Bucker

Programming Challenges are de-motivational

Posted at — Mar 30, 2012

I think the title of this article give away the ending. Sorry… I suppose you can stop reading here.Thank you for reading on… I recently applied for a programming position. In the initial response email from the hiring manager or HR I received a response like:… and then there is the programming challenge … and it should take 2 days.Really? Are you kidding? You want me to give up 2 days for what? That was my unfiltered subconscience speaking. But really, that’s a lot to ask. Specially when someone is going to take my 2 days of work and skim it for some quasi critical check boxes and make a summary evaluation.So I said no.As for the programming challenge. With over 25 years of practical experience and interviewing on both sides of the fence… I do not do programming challenges if I can help it. They are (a) subjective (b) generally insulting (c) trumpeted by junior silicon valley programmers (d) perpetuated by myth (e) and a sign of lazy managers.I’ve written about this sort of thing before and I think this summarized the many articles. But this morning I had one of those inspirational moments.I recently started reading¬†The Developers Code.¬†I’m only part way through the book but I have started to connect with the author. Reading an essay at a time as my toddlers crawled around the living room playing with their toys… I made it into the “Motivation” section.Having pets in the office was a necessity when you work 10 to 16 hours a day, however, I have to admit that I never liked ping pong, darts or pool table in the place of business. And this is where I fork into two equally important thoughts.(a) these so called “perks” require more than one person to be stimulating. In one workplace I visited all of the workspace wall are glass so if you are playing ping pong instead of your job (1) everyone sees (2) it requires two. Both have a demotivating effect on team members trying to get work done while others are at play.(b) the “perk” of our career path is supposed to be the work. I happen to like transactions and databases. Luckily for me there is plenty of work in this space as most applications today are built this way. But the work is it’s own reward.So when you ask me to take 2 days of my life to work on something that is not going to yield any appreciable results… there is simply no motivation to do the work. It also speaks to the nature of the organization.As an aside, some programmers like to talk about code as art or science. The field might actually be divided on this note. I do not think it’s either. but that’s fodder for another article.