Friday, June 18, 2010

Intense Development: Why We Need Passionate Programmers

At a conference a few years back, I formally met someone who I had been speaking with online for a few years. One of his comments was "wow, I didn't realize you were this intense". At the time, I was surprised as while enthusiastic about the conference, I didn't think I was being that noticeable. But I will admit - I am very intense or passionate about the things I do. I think that's very important to the developer and consulting world and far too often, it's missing.

Programming is an analytical and (supposedly) fact-based process, which is why most programmers tend to be left-brained. This discernment is more myth-based (as logical sciences such as maths are handled by both) but more creative or emotional types are said to be "right-brainers".

Today, when you need both programmers and designers rolled into one (or at least combined in a single project), this can get tricky.

As a consultant, I deal with a number of clients. Some I have had the pleasure of working with for years, while others have been shorter-lived. However, I always try to find something in their work that excites me. Yes, I'm there as a "contractor", a repairman or mercenary of sorts - but without that excitement or commitment, why would I care about doing a good job?

There are arguments for why you don't want too much enthusiasm. Being more pragmatic and analytical, you may tend NOT to make mistakes (ask any programmer after a late night session if they think their code is bug free). But you may also alienate the client or worse yourself. In programming, it's very easy to become overwhelmed with the possibilities for failure and paint yourself into a corner where all you deliver is the least-risky, least-powerful piece. That's not to say that it can't be usable but it may not deliver on expectation.

Sidebar:
(there's a reason why Apple tends to either delay products or take away features - when they deliver something that they describe as powerful or impressive or "magical", they truly believe it themselves).

If you haven't seen Steve Jobs' interview at D8, watch it. Forgetting all about the conversation about AT&T, sex, Flash and Google, there's a very interesting part about what he found when he returned to Apple 12 years ago. To summarize, he found a lot of amazing and skilled developers and he asked them "why are you still here?". The common response was that they had "six-color blood", a term that throws back to the second Apple logo. Some might say that kind of passion is more of a tear-jerky look back at history, although we have certainly seen what Apple has done since then.

End of Sidebar


I would rather have a passionate programmer or consultant than anything else. When I first meet a consultant on a job, I ask what areas of work do they "love". When asked, I'm always pretty much a "data-head" - I love data and turning it into information. Others love pure coding; others refactoring, etc - why someone who loves one area would bother taking on the responsibility of another area distresses me - because it means that there is one less person who cares about the project.

Even in a hard economy, such as this one, where people are struggling to find work, and perhaps even more importantly in such an economy, is passion necessary. You have to find a job, you have to get work - if you get it, at least be excited or passionate about it. If you don't want to do it, then get out of the way. Recently, I started at a client site with a colleague of mine. While I was consulting directly for myself, he was consulting through a parent company. While his other workload was hard, he immediately saw that he couldn't do a good job at the client site because he just wasn't interested in delivering the type of solution they wanted. He left the job within two weeks. The client may have lost money during those two weeks - but at least they weren't stuck with someone who didn't care about what they were delivering.

Early in my career, I was at a company working with a team of about 4 or 5 other guys and while I was likely third in terms of being there, I was by no means the most computer-educated or technically knowledgeable. But we all had our areas that we had to work on, and there was one section that was taking longer than the others. The guy working on it had his masters in Computer engineering but just wasn't into it. He would stare at the screen and it just didn't make sense, like the Matrix falling down in front of him. What was a relatively simple task was not getting completed. At one point, I even said "I can't think for you". The project wasn't something that I had started but it was the job at hand - it had to get done and I was intent on getting it done. I was, coming back to my first story, "intense".

I refuse to apologize for my intensity or passion on projects. I think it does a disservice to the client and to the project itself. Yes, it might be a small project in the grand scheme of things (and what isn't - unless you're really changing the world), but it's still *your* project or *your* client. If you don't care, get out of the way and let someone who does take that role.

No comments: