3 Reasons I Prefer The Title Software Engineer Over Software Developer

Bill Salak
billsalak
Published in
4 min readMay 11, 2019

--

Many people will tell you that titles don’t matter,

… and I believed this myself for most of my career. This is a story of how that changed for me.

The events that led to my change of mind were kicked off during a conversation between myself and a seasoned Software Engineer I was working with at the time. In this conversation I was using the terms engineer, developer, and programmer interchangeably without much thought.

In the middle of speaking I was interrupted by my conversation partner with an irrelevant point he couldn’t hold back any longer — “Where I come from programmer is a derogatory term.”

I needed to know more so I prompted him for further explanation and he replied — “Programmers just enter instructions into a machine. I build software.”

Programmers just enter instructions into a machine.

This statement kept popping into my head over the following months. It seemed like such an exotic idea at face value. I kept imagining a room full of people somewhere clacking away at their typewriter sized mechanical keyboard interfaces, rotely transliterating instructions scribed onto off-white index cards into keystrokes that fed an unseen machine. After the imagery faded my thoughts would wander to what it meant to be a Software Programmer vs a Software Developer vs a Software Engineer.

I sought out opinions on the topic online, from my colleagues, and from my network of associates. After many discussions and online articles I concluded that in software creation and management organizations these terms are interchangeable for all practical purposes. While there were strong opinions about theoretical differences, there were no real world examples of an implementation of these titles in any way that meaningfully differentiated them from one another.

I let the topic remain in mental limbo for many months afterwards but resolved to train myself to use the term engineer when referring to a person who wrote code in the organizations that I manage.

At the time that I made this decision it was vanity driving my preference. Being an engineer sounded better to me. I wanted to be called an engineer and I wanted to work with people called engineers.

Not long after this personal decision was made it was time for me to do an official titling exercise for the company I was working for*. As I performed the process of designing the organizational roles and titles for the technology workers in the company I chose to standardize on the term Software Engineer and eliminate “Developer” in all official titles.

Why do you call them engineers, they don’t have Engineering Degrees ?

This question was asked of me after the titling exercise was complete and the new titles were rolled out. This was the question that forced me to catalyze my thought process and justify why engineer “sounds better” to me.

I use the title Software Engineer in my organizations because…

#1

The common requirements for a formally trained Engineer of any discipline (Mechanical, Electrical, etc.) are the same requirements for a person working as a Software Engineer within my organizations.

An Engineer is expected to achieve outcomes systematically through the application of math, science, and technology and has :

  • The ability to design and conduct experiments, including data analysis and interpretation
  • The ability to design a system, component, or process to meet desired needs within realistic constraints
  • An ability to use the techniques, skills, and modern tools necessary for their engineering practice
  • An understanding of professional and ethical responsibility
  • An ability to communicate effectively
  • A recognition of the need for, and the ability to engage in, life-long learning

#2

The use of the term engineer in official titles within my organization communicates to the members of my organization my expectations of them as professionals in their field. When building a Culture of Excellence it is important to communicate expectations of excellence. Titles which accurately reflect the professional expectations of those who hold them are one piece of a larger strategy in communicating this message.

#3

The use of the term engineer in official titles within my organization is part of the communication to the rest of the company about our commitment to professionalism and our expectations of ourselves.

I still think the title of Software Engineer sounds cooler…

…than the title of Software Developer but I use this term in my official titles with purpose now. I would still rather be called a Software Engineer than a Software Developer and I would still rather work with people called Software Engineers than Software Developers, but it’s not for the sake of vanity.

I take my profession seriously and I perform the practice of building technology in a professional manner. I’m proud of the work I do and I work hard to ensure that I can say that. I strive to be constantly learning and improving. I want to work with people of the same mindset and expectations of themselves and their colleagues.

As the CTO at Brainly, I go to work with a focus on making sure every person who builds technology at my company is an Engineer.

*It’s important to note that this was not related to my newly decided preference but rather, it was a coincidence in timing.

--

--