You Can't Detect What You Can't See: Illuminating the Entire Kill Chain
On-Demand Webinar
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?
Next Page: The programmer/developer debate, asking the Ultimate Source
IT Solutions Builder TOP IT RESOURCES TO MOVE YOUR BUSINESS FORWARD
Mobile
Security
Networks/IoT
Cloud
Data Storage
Applications
Development
IT Management
Other
What about Php Developer? I just landed in a software co. as a Php Developer. I am still confused about the title.?
From a programmer's perspective: Software Engineer, Computer Programmer, Software Developer -- pftt, SAME THING. There's really no difference between the three: they all write programs/develop software, solve problems regarding software and are organized, etc. Software Engineer is just another politically correct title that people give them selves to appear more sophisticated or skillful. Look at all the titles that software companies give their programmers -- "Software Engineer, Software Development Manager, Analyst" the list goes on. I mean, which sounds more professional -- Senior Software Engineer or Computer Programmer. Yeah you see how appealing the term "Software Engineer" is, it's bogus. Anyway, just my $0.02 cents on this matter. And don't get angry "Software Engineers", lol.
Engineers should work on pure science problems but programmers should worry about implementation problems. That of course, if the programmer is not a physician in the first place. But! software engineering have nothing to do with engineering. ���Software engineering is a systematic and disciplined approach to developing software. It applies both computer science and engineering principles and practices to the creation, operation, and maintenance of software systems.��� And in software development, well everybody is agile so that's all elitist bull***
Would you call an achitect a draftsman?
I'm a self-taught 'programmer.' My college was a world top 5 EECS program, and let me tell you, coming from that kind of school, I know how important it is to engineers to be called engineers. Especially to the younger engineers that went to good schools, it is an absolute abomination to not be called an engineer. It is very important for them to highlight the fact that they completed the "hardest degree possible in the world," and equally important to let non-engineers know that they are in fact worth no more than dirt. Knowing this, I think it is extremely important to recognize the difference, for all parties involved. Engineers get to maintain their elite status, and non-engineers get to avoid any association with the world's next Hitler, who will certainly be an engineer.
Here is my thought on the breakdown: A Programmer writes code. They are probably part of a team or directly managed and they don't do a great deal of architectural design. A [good] developer, on the other hand, is a combination of a programmer, analyst, architect, project manager, and documentation specialist who will be able to take a project, write a scope, design the system, write or lead the writing of the system, document and test it, and implement it. I have a BS in CS, but that doesn't make me an engineer. However I do want to point out that this is not because what I do doesn't require learning, or isn't extremely complicated. Developers are not generally engineers because engineers are developers of applied physics, they build physical objects. Developers are practitioners of applied math and logic, we codify thought processes.
Titles do get us all in trouble don019t they and even more so when they are misused although with good intentions. I for one see the distinction between programmer, developer and engineer as very unique and distinct in their role within an organization or more importantly a project. Here is my low down on each. Programmers were historically punch card operators. They programmed software that already existed to do a specific function. For example how many of you programmed your VCR/TIVO/DVR? Yeah I know it019s not the same but you get my point. Now developer 013 someone that developed a product from scratch 013 and I don019t mean if you developed a rash by scratching but rather created the software that enabled you to program that VCR/TIVO/DVR. Now the big important god like guy 013 The engineer 013 This has been so overused simply because it commands respect. Think about it. Engineers build complex things. Bridges, roads, skyscrapers, spaceships, engines, etc. They can put together complex systems that actually work using a wide variety of high level skills such as math, science, physics, etc. So unless you are truly on par with the complexity of 01Cengineer01D 013 try not to offend.
I think the title "engineer" should be reserved for people whose work has something to do with engines. I think "computer programmer" is proper term to describe someone who writes computer programs. Whether such a person can also be described as an engineer depends upon whether you consider a computer to be a kind of engine. Clearly Charles Babbage did (calling one design a "difference engine"). It is true that people with "engineering degrees" have completed a rigorous college-level program. But most employed engineers tell me that very little of what they learned in school is directly applied on the job.
Has the classic definition of 'engineer' now been replaced by 'railway transportation operator'? (I've wondered about 'customer engineer', a term which seems to designate a 'support technician' who is customer-facing. Then again, I've known some customers who felt railroaded by their support resources...)
Interesting column. You said: I personally always thought 01Cdeveloper01D sounded better than 01Cprogrammer,01D ..., I would change my 01CProgrammer II01D title to 01CSenior Engineer.01D ?? I agree developer sounds better than programmer (has for years - especially if you know that US gov considers a 'programmer' as a non-exempt position subject to OT provisions) But without knowing how many levels of Programmer your company had, I would suspect title inflation in changing a "II" to "Senior".