Skip to main content

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.

Comments

Popular posts from this blog

Blogs and RSS come to Microsoft.com

MS has just introduced their portal and it's pretty comprehensive. Nothing quite like learning that some people use AIM instead of MSN messenger, or that there really may be a need for supporting 4 monitors ( Cyrus Complains ) However, it's really a great sign that MS is serious about supporting the blogging community which seems to have um, exploded in size in the past year. Blogs and RSS come to Microsoft.com

Elevating Project Specifications with Three Insightful ChatGPT Prompts

For developers and testers, ChatGPT, the freely accessible tool from OpenAI, is game-changing. If you want to learn a new programming language, ask for samples or have it convert your existing code. This can be done in Visual Studio Code (using GitHub CoPilot) or directly in the ChatGPT app or web site.  If you’re a tester, ChatGPT can write a test spec or actual test code (if you use Jest or Cypress) based on existing code, copied and pasted into the input area. But ChatGPT can be of huge value for analysts (whether system or business) who need to validate their needs. There’s often a disconnect between developers and analysts. Analysts complain that developers don’t build what they asked for or ask too many questions. Developers complain that analysts haven’t thought of obvious things. In these situations, ChatGPT can be a great intermediary. At its worst, it forces you to think about and then discount obvious issues. At best, it clarifies the needs into documented requirements. ...

Programmers vs. Developers vs. Architects

I received an email this morning from Brandon Savage 's newsletter. Brandon's a PHP guru (works at Mozilla) but his newsletter and books have some great overall perspectives for developers of all languages. However, this last one (What's the difference between developers and architects?) kind of rubs me the wrong way. Either that, or I've just missed the natural inflation of job descriptions. (maybe, it's like the change in terminology between Garbage man and Waste Engineer or Secretary and Office Administrator) So maybe it's just me - but I think there's still a big difference between Programmer, Developer and then of course, architect. The key thing here is that every role has a different perspective and every one of those perspectives has value. The original MSF create roles like Product Manager, Program Manager, Developer, Tester, etc - so every concept may pigeon hole people into different roles. But the statements Brandon makes are often distinction...