Synopsis: “Developer Speak” has unintended overtones when interpreted by non-developers and may be misperceived.
I often hear/read words and phrases in professional business settings that make me cringe a bit. I hear them in internal meetings, client meetings, and even interviews. I read them in emails and resumes. It could just be me, but certain words, while seeming innocuous, can give a bad impression. (I’m not talking about foul or insulting language, either.)
With that in mind, I decided to begin a list of these words. In the last week or so I have heard the following words:
PROGRAMMER/CODER
Have you ever been introduced with something like the expression, “this is one of our coders”? Personally, I have been introduced this way to clients and potential clients and usually the person to whom I was just introduced fails to be impressed regardless of what technical expertise I bring to the discussion. The introductory phrase, “this is one of our coders”, doesn’t command any respect or gravitas. There are better options to describe people who write software. Similarly, in my opinion, someone who happens to write code should not refer to themselves as just a programmer or coder. Perhaps, most importantly, I would recommend against using the terms “programmer” or “coder” on a resume.
Phrases like “I’m a programmer” or “this is one of our coders” could easily be morphed into “Here’s our (I’m a) Senior Application Developer in charge of x, y and z”. Why not eschew “programmer” for “Software Developer” or “Software Engineer“?
According to the dictionary a programmer is “a person who writes computer programs”.
While simple and accurate, I think the definition implies a limited set of skills that does not fully encapsulate a programmer’s abilities. Or, to say it differently, the term does not properly project a programmers domain knowledge. In my experience, programmers almost always possess database skills, analyst abilities, client skills, and business knowledge. I suppose it’s a bit like a plumber referring to himself as just wrench-user or like a firefighter, when asked what he/she does, replying “I use a hose”.
NERD/GEEK
These terms are really an extension of the Programmer/Coder explanation above. I know it is a badge of pride for some developers, but referring to yourself as a Geek can have a detrimental affect in business relationships. While you may mean it as a complimentary term, there is no guarantee that the person hearing or reading it will share the same stereotypical view of the term.
HACK/KLUDGE
I hear these terms frequently. Sometimes, I hear them in derogatory remarks referring to another’s work. Other times, in a response to a functional question: “Ya, we could just hack it”.
By way of disclaimer, “hack” or “kludge” can be useful and/or appropriate when used to illustrate that a particular action or process should not be done: “Yes [deliberate pause], we could do it that way [deliberate pause], but it would be a HACK”.
Developers, myself included, often use these terms to mean “…a quick fix solution to a frustrating problem”. However, depending on the circumstances this can easily be interpreted as “a quick job that produces what is needed, but not well” or “…write clumsy or inefficient computer programs”. Essentially, to some people, these terms can make is sound as if you are saying that you don’t plan to do a good job, when, in contrast, you probably mean that circumstances out of your control necessitate that something less than perfect be done. That being said, you don’t want to create the misunderstanding that the problem lies in your response to an issue rather than with the situation in which you find yourself. Furthermore, you don’t want to tie yourself to a word with a potential negative connotations.
Instead, I would recommend using “feature” or “enhancement“.
Attribution Note: The quoted definitions can be found at http://dictionary.reference.com/browse/Hack or
http://en.wikipedia.org/wiki/Hack_(computer_science)#In_computer_science
REFACTOR
If you want to see an upper-level manager’s blood pressure go through the proverbial roof, innocently suggest that the application, which the development department just spent three months rushing to market, should be refactored. It sounds too much like “redo” or “remake”…and in fact, a nice latin definition of “refactor” would be just that, “remake”. There isn’t a manager or client on the planet that wants to hear that something previously completed needs to be remade or redone.
Wikipedia has a fine definition: a “disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior…” This sounds good and logical to me, as a developer, but it is easy to see how it be construed to mean “redo” or “do over” by management.
Instead, I recommend using “optimize” as an alternative
As I come across more “Developer Speak” that does not translate properly, I will at it to the list. I have a few more in mind, but have not actually heard/read them recently.
Also, if you read this and have your favorites, please let me know.