That was feedback I received from my last article when I referred to someone who writes software code for a living as an “engineer.”It seems that many people who graduated with a computer science or engineering degree take umbrage at those who use the title “engineer” loosely when referring to someone who develops software.
The common theme from these highly educated folks was that not everyone who writes code is educated enough in proper engineering techniques and methodologies to warrant the lofty title of “engineer.”
I seemed to have hit a nerve, so that begged the question, “Does a title really matter to a software professional?”
And I’m not only referring to official job titles. If a manager is presenting a software deliverable to a business unit and refers to “my team of engineers” versus “my team of programmers” is the audience either positively or negatively inclined to pass judgment on the deliverable?
Or if a headhunter refers to someone as an “engineer” or a “programmer” in an initial conversation with a hiring manager, does it impact that manager’s perception of the candidate? Does it possibly resulting in a lower salary offer even after the interview process?
I asked some technical people in my network about this and received varying, but interesting, responses.
Tony Basile is a Global Project Executive with IBM Global Services, and formerly CIO for the United States Olympic Committee. His comment to me was “I think if you have an engineering degree and you are doing engineering work, then you should be recognized with an engineering title. I don’t think it’s appropriate to call a software developer an engineer just because that title may command more prestige or salary.”
Basile went on to stress the importance of creating your own brand outside of the title your company assigns you.
“You should be seeking to earn a name for yourself by creating your own unique branding,” Basile said. “So for example, at the top of your LinkedIn profile, everyone should create a professional “headline” that sums up your professional identity.”
That made sense to me, so I went out on LinkedIn to see how people who write software for a living brand themselves. Here’s a representative sampling of what I found after sifting through a few hundred:
Senior Software Engineer and Architect
Lead Software Engineer
Computer Software Consultant and Professional
Information Systems Engineer
Granted this wasn’t a methodical scientific survey. (After all, I only have an Information Science degree, so what did you expect?”)
That said, did you notice that “developer” and “programmer” were not used – at all?
Does “software developer” have a different capabilities connotation than “programmer”? I personally always thought “developer” sounded better than “programmer,” so on my resume back in the day when I wrote code for a living, I would change my “Programmer II” title to “Senior Engineer.”
Is there really a difference between developing software and programming software?
I don’t believe so, but I didn’t want to risk a less positive first impression when applying for a software development position.
And many others feel that “programmer” is, frankly, a slap in the face.
John Otroba is an HR Director at CadenceQuest, in charge of creating job descriptions. He said that most of his technical staff prefers “Software Engineer” or “Software Developer” as a title.
“Using the title Programmer is like the ‘S’ word for Secretaries who’d rather be referred to as an Executive Assistant or Office Specialist. It is simply no longer politically and socially acceptable.”
When I asked him if it impacted hiring decisions or salaries, he said absolutely not, adding, “It is more of a vanity thing” for the employee.
When I talked to those who had jobs writing software, the ones with computer science or engineering degrees had a common theme summed up best by Justin Pihony who writes code for an IT department in Pittsburgh (home of the Super Bowl champion Steelers! Wahoo! )
Sorry, my hometown roots forced me to digress. Back to Pihony, who has a computer science degree yet has the title Programmer Analyst. He and others I talked to feel that having “Analyst” in their title makes up for the Programmer part, making it more respectable.
Pihony went on to say that whether or not someone designs the software should make a difference in how they’re labeled.
“A software engineer is kind of like an architect in construction who creates the blueprints, realizing that a bad design could result in the whole building collapsing. Whereas, the programmer is like a construction worker who takes the blueprints and uses them to create the building,” said Pihony.
“Designing requires much more knowledge than coding, where you just need to know the programming language and implement the design.”
Wow, so programmers are blue collar and engineers are white collar?
Well, I went to the official source for everything these days, Wikipedia, where Programmer is described as follows.
“A programmer is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to programming may also be known as a programmer analyst.”
Hey, right on the money so far! But it gets better:
“A programmer is not a software developer, software engineer, computer scientist, or software analyst. These professions typically refer to individuals possessing programming skills as well as other software engineering skills. For this reason, the term programmer is sometimes considered an insulting or derogatory oversimplification of these other professions. This has sparked much debate amongst developers, analysts, computer scientists, programmers, and outsiders who continue to be puzzled at the subtle differences in these occupations”
Wow, insulting and derogatory! Well, let the debate continue.
I decided to ask someone who worked in Quality Assurance and had to deal with software developers daily in their job.
Now, interestingly enough, those who work in QA are most often referred to as Engineers, even though many of them write no code at all. One of my friends who has worked in QA for many years (and asked not to be named) had this comment when I asked his opinion on titles for those that write software:
“I just refer to them as “Primadonna, gas bag, egotistical, etc.”
Oh. Perhaps the relationship between QA and Development is best left for a separate article.
Yet the response from Tim Jackson, a consultant based in Maryland, seemed to confirm this perception. Jackson has been writing software for decades and is a self proclaimed solutions architect.
I asked him why he chose “solutions architect.”
“The title ALMIGHTY SUPREME was already taken.”
Other articles by Eric Spiegel:
Eric Spiegel is CEO and co-founder of XTS, which provides software for planning, managing and auditing Citrix and other virtualization platforms.