At the HackNY Hackathon last weekend, we talked to Akiva Bamberger, a master’s student at Columbia, about the relative connotations of all the different words that are used to describe people who write code.
Here’s the breakdown Mr. Bamberger offered:
“‘Developer’ is good. ‘Programmer’ is bad. ‘Engineer’ is bad. ‘Engineer’ and ‘programmer’ both say, ‘I want to pay you to build things.’ ‘Hacker’ is a good thing, because ‘hacker’ says that you take control of whatever you want. ‘Code monkey’ has a negative connotation, obviously, but ‘code ninja’ has a very good one. The problem is when a company uses the term ‘code ninja’ to look for someone, it’s insulting because it means that what they’re looking for is a code monkey, but they’re trying to call them a ninja. Because they know they can get monkeys by calling them ninjas.”
This analysis gets to the heart of a tension in the New York tech world between people who know how to code and people who don’t. The tension is rooted in the fact that people in the second category often don’t consider their lack of technical skills a significant obstacle when it comes to starting a tech company. If you’ve got an idea, they figure, who needs computer skills or training when you can hire the talent and tell them what you want!
Predictably, this attitude breeds resentment and contempt among technologists. The other night there was an excellent blog post by Brad Hargreaves, entrepreneur-in-residence at the boutique VC Tipping Point Partners, which illustrates the issue very nicely. In the post, Hargreaves advises non-technical founders to treat their pursuit of technical talent delicately and tactfully. He draws parallels between headhunting and romantic courtship, noting that “the principles that apply to meeting women are a lot easier for people to intuitively grasp than the same principles applied to meeting developers.”
The whole post is pretty funny but here’s the most relevant bit:
The number of “idea guys” who don’t even attempt to understand the basics of web development is hugely frustrating, both to me and most startup developers. Even if you can’t code, take some time and learn the basics. But don’t take learning the basics to mean that you actually know anything about making high-level development decisions — it just shows that you care.