Measuring Programming Love

by Krishna on January 9, 2009

One of the biggest dangers of being very enthusiastic about something is that you sometimes create a self-congratulatory community of similar believers, who think anybody unlike them is beneath them and not worthy of respect. This has always been a trend in the programming communities and shows no sign of abating. A good example was the recent Jeff Atwood “Love it or Leave it” post which was based on a Joel Spolsky reply to a person wondering if he should leave the industry. Justin Etheredge had a big rant on it. After digesting that, I waited till I heard the follow-up discussion on the post on the Stackoverflow podcast before posting my own thoughts.code

Let us talk reality. Programming is a profession that continues to require ever-growing numbers of people. Even with outsourcing increasing, the number of programming jobs in the United States has increased. Last year’s H1 quota for technology jobs was over-subscribed by around two and a half times. What this means is that there will be no “weeding out all the people who don’t love software development”. Any temporary weeding will be quickly overcome by greater demand in the coming years. As far as this recession is concerned, unfortunately, many of the unlucky ones who lose their jobs may be the ones who actually love programming, because many layoffs simply don’t discriminate much among employees.

In many cases, the emperor has no clothes. In my experience, many programmers who think of themselves as top-shelf programmers have deep deficiencies in their knowledge and practice of programming and writing code. Some of it is natural: you have to practice programming over a period of time before you become an expert. But in other cases, there is a deliberate charade put on by programmers to position themselves as more knowledgeable for various reasons (career, ego, insecurity, etc.) The truth is that even the real elite programmers know a small sliver of vast and rapidly expanding areas of knowledge.

Also, be careful when you define “true love”. Because your yardstick about measuring truly loving programming may be different from what other people think. The last few sentences of Atwood’s post show that he equates it to working on holidays. As I said before on my essay on workaholics, this is simply using the proxy of “time spent doing office work” for “loving programming”. Any person who does not have a social life can easily fake programming love unless you happen to be closely looking at their code and productivity.

This kind of thinking is very dangerous, because for one reason, you simply don’t know much about other people. Like what people do in their free time. For all you know, they may be working anonymously on some open source systems software that you are using and admiring daily. You don’t know their goals or their interests, unless they open up to you. You don’t know their constraints or personal needs. And you judge them by a limited view of their demeanor and interactions with you.

In fact, what you are doing is judging using stereotypes, so that if someone does not meet the eccentric behavior of a 20’s-something male computer nerd, then that person does not meet the “coding lover” category. This is so terribly wrong. Some of the best programmers I have seen include female developers who produce extremely competent and bug-free code, and 50-year olds who write the most elegant code. They are also quiet and conventional, which means that they neither have Windows tattoos, or roller skate to computer fairs.

Now, what if there is someone at your workplace whose quality of work is terrible? Well, the answer is to apply the direct solution. Do you have the ability to fire them? If so, let them go. If you don’t, let their manager know if it is affecting your work or the output of the company, so that they can sack the person. That is the best way to “clean house”. Here, my assumption is that you know what quality is, and it is not some random, correctible mistakes that led you to condemn the person.

I think the usage of the term “love it or leave it” (and the associated image) is a particular bad way to advocate programmer enthusiasm. The term has bad political associations, as it is used by brain-dead debaters to squelch any dissent by implying betrayal and treachery. Someone visiting a programming forum is already committed to self-improvement and if they ask a sincere question, it is really poor form to call them whiners. One should not have to prove one’s love for coding just as one should not have to prove one’s love for their country.


[Image licensed under a Creative Commons license from davestfu]

{ 3 comments }

Kalpesh January 10, 2009 at 3:06 pm

Love cannot be measured (also in case of programming). It becomes apparent when you see or listen or read the guys, who are visible.

There are others who are invisible & still love what they do.

The H1 quota is not a measurement of all people love programming. I bet there are a lot, who are in just for making good money (making money is not bad. It is just that not all care about work they do as long as it is done – by hook/crook).

And people putting tattoo is some kind of an expression. I need not evaluate them by comparing them with myself. Everyone is different.

Krish January 11, 2009 at 5:49 am

Nice points, Kalpesh.

Just to be clear, I meant H1 quota to be one indicator of the demand for programmers in the United States. It cannot and should not be interpreted as having any relationship to the number of people who love programming.

dootzky October 9, 2009 at 4:01 am

good article. gotta LOVE programming after this for sure ^_^

Comments on this entry are closed.

Previous post:

Next post: