Do you like to program? I mean really like to program? Apparently you aren’t in the minority if you said “no” to that question. I got into an interesting discussion about hiring good programmers last week and the consensus was that the best programmers were the ones with a passion for it. This isn’t all that revolutionary to those of us who are passionate about it, but perhaps you disagree. Isn’t programming just about converting needs into code? It seems as dry as materials engineering on the surface (no offense to materials engineers out there), and yet discussions about languages, algorithms, and design patterns bring about something akin to a holy war. Somehow I doubt that materials engineers end up flaming each other over the general advantages of various alloys – independent of any specific application!
It’s always been amazing to me how polarizing computer science issues can become. Though everyone agrees (in a general sense anyway) that the tools and language are dependent on the scenario, once you start talking specifics, no one can agree on anything! Though this isn’t productive most of the time, it does certainly demonstrate a passion unmatched in many fields. People who are really into programming get really passionate about every detail. Conversely, people who tend to code as a job and nothing more don’t care about the details – they are just tools to get the work done.
Why is one programmer “better” than another? Maybe that’s too strong a way to phrase it. Why would I be more interested in hiring the passionate developer? Well, even though I might need to face heated discussions about design and implementation from time to time, I would know that the person was putting a lot into the effort. Hours spent at home learning new technologies, time spent at work to eek out every bit of performance and efficiency, and the attitude that the final work reflects personally on the code all mean that a passionate developer is more likely to create good code. On the other hand, I’ve worked with developers who just like to argue because their knowledge base is narrow and they want to keep designs in their comfort zone. We need to eliminate this too!
Thus, the programmers that I would look for would be passionate about the field, and their passion would lead them to explore new features and tools to provide more options. A passionate programmer will consider coding more than just a job and will keep up to date as technology changes. Does this mean that “day job” programmers can’t write great software, or that passionate programmers don’t have a life? Not at all. They aren’t mutually exclusive attributes. Just like any field though, it’s passion that usually leads to the best solutions.
Posted Saturday, February 27th, 2010 at 12:51 pm by Arian Kulp
1,078 views