Why passion is not what you need in a programmer
stochasticgeometry.ie
stochasticgeometry.ie
It was a software startup run by someone with a management consulting background (won't make that mistake again), and since the founder/CEO didn't know how to filter good programmers, he just sought "passion" and "fire in the belly" thinking that would make great developers.
Of course, employment situations like this can be "hacked" by doing little Dilbert-esque things like closing ticket tasks at night rather than during the day to make it look like you're working later since the system sends emails to the management. That turned out to be one of my most productive career moves, which meant it was time for me to find a new job.
As the saying goes, programming is not a what, but a how. Hackers don't get passionate about the act of coding any more than carpenters get passionate about driving nails.
And also, just like carpenters, the tools they use.
I'm interested in programming as a tool to give myself a clearer mental model of language, mathematics, computation, and thought, and I'm interested in writing and reading code that I find artistically aesthetic and elegant.
(Then again, I wouldn't call myself a 'hacker'. I think 'hacker' implies a large degree of making-cool-stuffmanship.)
Which isn't to say they aren't interested in technique. After all, carpenters still like to geek out over tools once in awhile . . .
[edit: well, wikipedia has a whole pile of different things listed under carpentry, so perhaps i remember wrong, or this was a local thing (my grandfather was an odd-job man in leeds, uk)]
[edit2: ah, perhaps the distinction was between carpenters and joiners, which is explained here - http://en.wikipedia.org/wiki/Joiner - and is a uk-only thing. certainly "joiner" is a word i remember, but that you don't hear any more...]
There is real truth in the quote:
Passion is fleeting, transient, momentary on the timescales that achievement requires.
You can certainly dance around the issue and claim that passion is in fact the same as interest, but then you're redefining well-established connotations in order to do an end-around on the guy's main thesis and shoot it down a priori.
Those of us who think a passion for programming is important for programmer take it to mean a fondness or desire to do it. It fulfills a non-temporary need.
The point is that the guy did an end-around of what others meant in his main thesis. It only makes sense to shoot it down a priori.
It is the same as if someone had said 'I think programmers should have passion!' and I responded 'well, i think that is a little harsh, programmers shouldn't have to suffer!'
"Passion? Has no place in the process at all. Yes, you can use it as a motivation – but it’s worse than useless if you want to actually succeed. Passion is fleeting, transient, momentary on the timescales that achievement requires. For motivation, you need something deeper and more permanent – and more, you need something that lets you be dispassionate at the same time as remaining motivated."
His argument is that 'passion' is detrimental to the kind of diligent practice necessary to acquire mastery of a subject. So you can disagree with the thesis of the essay, but you can't really claim that the author is ignoring such a critical aspect of the argument.
I offer the following thought experiment to justify my position: Pick any ten people that everyone agrees have achieved something notable. They could be Olympic athletes, business people, and so forth. Now approach a control group of people who are ignorant of our argument and ask them: "Which of the following ten people are passionate about their sport/business/vocation/what-have-you?"
If on aggregate 25% or fewer of the ten are judged to be passionate, I will concede the point. If 75% or more are judged to be passionate, I claim that passion and achievement are not mutually exclusive.
When we refer to 'passion' colloquially, we're usually referring to something so intense that it cannot last for long (e.g. 'passionate love'). Even if you, personally, don't believe this is true, it's become the basis upon which certain wankers in our industry exploit their youthful and naive employees. I think this is the core of the essay, and it's a valid observation, irrespective of the definition of 'passion' that you happen to prefer. So the definitional debate is a dodge for the real issue: there are a ton of "entrepreneurs" these days who are dressing up exploitation in a fancy suit, calling it sexy, and describing it with words that are conventionally used for love.
---
Now, as promised, the definition rom my Mac-tionary:
passion (n): 1) strong and barely controllable emotion: a man of impetuous passion
I grant you that the third and fourth bullets below this definition concern 'enthusiasm', but it's still quite important that the derivation of the word is from Christian theology, and ultimately from the Latin 'pati', which is 'to suffer' (the implication being that 'passion' is a form of suffering for a cause). I think that's intersting, in the current context.
Have I been wrong all these years?
In any event, the second part of your reply is far more interesting, especially in conjunction with a recent HN front page page article suggesting that founders should give employees a bigger taste of early stage liquidation events.
For that reason, I am upmodding you.
I think that a lot of well-meaning people (like yourself) were using "passionate" in the 'enthusiasm' sense. My feeling of this essay is that the author was taking on the people who mean it in the other sense. Personally, I think they're much more common.
But just to be clear, if I was thinking passionate about making money in the business of software, I'd say that :-)
Perhaps a better example is going for a doctorate. Everyone with a PhD will tell you the critical requirement for getting a PhD (if they're being honest) is neither raw intelligence (beyond what you needed for the primary degree), nor passion for the topic, but the dedication to spend four to six years of your life in the focussed, deliberate and pragmatic pursuit of a goal. Passion will do nothing but cripple your efforts - you have to remain objective, be able to drop an approach if it's not proving useful without a second thought, and not get married to the central thesis lest it distort your results.
Same principle applies to programming. Dedication, professionalism, these are the real virtues - passion just produces fanboys for whatever the method de jour is.
Passion is not entirely orthogonal to the result. And further to your discussion of PhDs, there are many PhDs whose work contributes little of importance to history. The great dissertations are from those who are passionate and dedicated.
Sure, enthusiasm by itself is not helpful. Nobody serious about hiring hires passion without anything else. But I haven't read anybody saying "Hire people who are enthusiastic without accomplishing anything." So why argue that point?
The OP makes the point that passion correlates negatively with performance. This is bunk.
In the long run, some level of passion is required in order to maintain diligence. Not necessarily "work 80 hours per week because X will make me rich" passion, but a deep desire to do things well and correctly, and to learn the skills necessary in order to continue doing so.
I'm passionate about programming because I am passionate about making stuff. I'm not very handy(carpentry, etc), so in this case a computer, editor and programming language scratches that itch.
Contrary to the post I think that this is a fairly good indicator of how I am in the workplace and why I work for a (what a believe to be)cool startup. It gives me an opportunity to scratch this itch at work so when I am there it has my full effort/attention.
Passion generates ideas. Ideas have the potential to make life (and programming technique) more intuitive all around.
Get a new job. Don't hand out your single perspective gripes in the form of fact.
On the other hand, if you are building an enterprise software organization, you are more likely to look for a suit and tie than passion in a programmer.
To answer the question What does it take to be a good programmer? I would say that first the passion or drive required to work on a problem that seems impossible in an environment where 50% of the time 80% of the stuff is broken.
It took me a minute to figure out that the bold red text was actually relevant content.
The article might've been more interesting if the author had discussed it in terms of discipline being more important than passion.
Many good things spreads from playing. You can do good things with N professional programmers, but they'll not think out of the box, they'll not be imaginative. You'll be good but not outstanding.
And when I talk about superb code I'm not talking about the code itself, but from the point of view of users.
http://itscommonsensestupid.blogspot.com/2008/04/passion-doe...
+1
I think it may be helpful to extract a couple of more layers from the analysis model.
Clearly software "engineering" has been confronting the expected (required!) transition from an art and craft discipline to a full blown industrial discipline, and in my reading, the OP is really (only) addressing the required mindset and the necessary changes in self-perception of the practitioners.
Equally clearly, we are still confronting the transition and frankly are stumped by some very (very!) fundamental issues that need to be resolved before software "engineering" can be industrialized to meet the industrial scale demand for software. (Consider: data persistence and logical process impedance mismatch; concurrency; etc.)
So, in my view, to argue uniformly against "passion" (we all know what it means: software geek born to code ;) based on a completely fanciful projection of the process of software development to the analytical test bed of a established, industrialized, nearly-scientific, discipline, such as any sort of applied physics (MechE, EE, whatever), chemistry, etc. is inherently flawed.
Yes, you don't need (nor want!) "Fuck you" starlets with attitude in your engineering department. But that is precisely the type of personality that is going to be constructively useful on the road to industrialization of software development. Because it is the "passionate" geeks that typically produce breakthroughs, and that is what we need as of now.
Once we have solved the conceptual problem of how to produce software as an industrial product, then would be a more appropriate time to focus on the ideal psychology of a "worker" in the software engineering industries.
From a dictionary:
Boundless enthusiasm: His skills as a player don't quite match his passion for the game.
The object of such enthusiasm: Soccer is her passion.