Does Passion Make a Better Programmer?

Medusa by Caravaggio

We’ve all seen the ads: “Must be passionate about coding.” “We’re passionate about our craft.” “Why are you passionate about applying to this job?”

What does it mean to be passionate about programming? And is it really desirable?

I picture a wild-eyed young man, untamed hair falling over his eyes, sweat-drops flying as he flails at the keyboard, face bearing a look of grim concentration like an overdramatic pianist. In a split second he reacts. “What do you MEAN undefined reference?!” he shouts, spittle dotting the screen. “It’s defined right there! It’s defined. Right. There!”

I also picture some of the more dogmatic, argumentative types I’ve worked with; those who will spend an hour reformatting someone else’s code to use the “right” type of indentation.

To give the advertisers the benefit of the doubt, those are probably not the types of passion they mean. A quick scan of the dictionary reveals 12 separate definitions, so it’s understandable that there would be some difference of opinion of what a passionate programmer looks like. We can safely eliminate all of the sexual meanings, because that would be just weird. And we can remove those meanings that refer to suffering or dying on a cross, unless you work for Amazon.

And I don’t think they mean “violent anger.”

That leaves us with “a strong or extravagant fondness, enthusiasm, or desire for anything.” Okay, sure, we want someone who is fond of programming, someone who is enthusiastic. I’ll buy that. That’s true in most professions; we don’t want Eeyore showing up to work. I would cross out the word “extravagant” though. That’s a bit much. It takes away from the methodical, diligent nature of a good worker. An extravagant programmer hacks away on a problem over the weekend rather than taking the time to plan a sound architecture.

But to give even more benefit of the doubt, let’s forget the dictionary, as we know computer people like to overload terminology. Let’s consult Stack Overflow. What do our question-answering friends say passion looks like?

The first answer centers around enthusiasm. We’re on the right track!

All you have to do is ask him to tell you about one of the projects he’s worked on that he most enjoyed. You’ll find out more about his enthusiasm in the following 60 seconds than you ever could showing him photographs of deceased notables.

Robert Harvey

 

Not much else there though. Let’s continue down the page.

There are several answers centered around programming outside of work hours. That’s a topic best saved for a whole other post, but in my opinion whether someone spends his or her free time programming is irrelevant to whether they will be a good member of a team. Hobby programming requires much less discipline, organization, and communication. It can even lead to bad habits of “cowboy coding.” Besides, many people have outside commitments and interests that preclude extracurricular development.

So much for Stack Overflow.

So where does that leave us? Does passion make a better programmer?

If we interpret it as “enthusiasm,” then the answer is yes, of course. However, there are other equally important personality traits I would look for:

  • A strong work ethic
  • Diligence
  • Patience
  • Diplomacy
  • Ability to communicate well

Steve McConnell says in Code Complete: “By all means, get excited about programming. But excitement is no substitute for competency. Remember which is more important.”

Trendy buzzwords come and go. But in the end the qualities of a good worker are fairly steady through the years and industries. As part of a complete package passion can fit in nicely, but only if carefully defined.

 

4 thoughts on “Does Passion Make a Better Programmer?

  1. I’ve been in this industry for decades, and I’ve worked with a wide variety of developers. One thing that has been consistent in my experience is that the truly great developers also work on code on the side. Being a passionate programmer means you find great interest and enjoyment in the art of creation – not just the science of the how – but the artistic expression of creating something new. Programming is partly an engineering discipline but it’s also an art. Sometimes we get to create something from nothing, but that’s pretty rare in the industry. This is why passionate people code on the side; creating your own thing and exploring is fun and we often don’t get to express that side of our technical selves during the day.

    I’m a manager now, which gives me the opportunity to guide younger developers and to shield them from politics while they develop solutions and build good experience. When I hire new people, I look and listen for a few key things: a) can they write a simple program (e.g. FizzBuzz), b) do they enjoy programming, and c) do they have any interests for development outside of the 8-to-5 job. Yes, people have commitments that may preclude their _ability_ to code outside of work, but it doesn’t preclude their _interest_. I’ll ask questions like, “If you were given time to work on something on your own, what technologies / languages / platforms would you want to explore?” You can glean a lot about somebody’s passion for development by listening to how they answer that question. Also, “Tell me about a challenging problem you’ve faced in a program.” Every competent engineer I’ve met has many war stories about elusive bugs. People who shirk responsibility onto others because they don’t care to dig deep into problems often don’t have these same stories. Again, you can glean much by listening to the answer.

    1. Interesting on c). I often ask applicants, what are their hobbies in order of importance. Most programmers that do their major hobby along the line of their main job usually have more passion for development and often better at it. Someone that said I like go hiking, fishing or that they are not doing anything after work usually shows that they are not really focusing on their art. If hired, they are there to collect paycheck.

  2. In my experience (30 yrs), what I’ve seen is, without the enthusiasm sort of passion you’re talking about, you don’t get the kind of diligence you need. If your developers don’t have passion, you get unfinished products with more bugs. I’m 100% aware that this is anecdotal evidence. But 30 years is a long time, and I’ve seen a lot of programmers come and go.

Comments are closed.