Are Software Engineers… Engineers?
As the move to solve all of our problems with technology becomes more and more ubiquitous, the varying roles programmers play in building and maintaining this new empire changes every day. One title that seems to have entirely ruled them all in terms of LinkedIn job descriptions is ‘software engineer’.
Without their title telling anyone anything about what they actually do or what technologies they are involved with, software engineers are the mysterious heart of all of our daily conveniences. Smartphones and computers are the clear examples of this influence, but on the less obvious part of the list live cars, refrigerators, boats, cash registers, and much more. We can safely assume that almost any man-made thing from the last 30 years was either designed or directly integrated with software of some sort. The minds behind all this metaphorically have their fingers all over everything — and literally on the keyboards behind everything.
Before getting into the title question, let’s take a step back and establish the fundamental issue behind this whole thing — software roles are ambiguous and unclear. Anyone who has spent time on LinkedIn or Glassdoor knows this. Why, then, doesn’t the job marketplace make more distinctions between the roles of ‘software engineers’?
My theory — the nature of the education behind software development.
All programmers worth their salt understand the ‘data structures’ and ‘algorithms’ involved in their trade. The software languages they use are full of nuance that doesn’t really change the fact that ultimately, they all understand the same principles. ‘Data Analysts’ might have some special processes that ‘Data Scientists’ don’t but considering the caliber of human that fills both of these rolls, one is not more than a stone’s throw, again, metaphorically, from becoming the other.
I get this impression from my brother-in-law, who is a PhD Astrophysicist. He is so qualified in his specific field that his education makes him a top candidate for companies like Amazon and Google that, outside of the personal adventures of one Jeffery Bezos, don’t have much, if any, business with the physical properties of space.
If my PhD astrophysicist BIL can convert to an engineering role from an astrophysicist, why then can’t a database programmer become something similar? Therein lies the reason the term ‘software engineer’ has become so commonplace — to avoid confusing the layman and, more importantly, the management responsible for writing their paychecks. Ultimately, nobody cares about the specifics as long as the job gets done.
That is the foundation behind all this confusion. Which brings me back to the main question — are software engineers actually ENGINEERS?
What is an engineer then?
Simple, an engineer is a person who has passed the requirements necessary to be licensed as an engineer by an engineering standards association. Just like there are different types of lawyers or doctors, there are different kinds of engineers with different specialties.
Likewise, engineers are accountable to those engineering ethics and standards organizations like lawyers are to the Bar or doctors are to medical licensing boards — and likewise can (and do) have their licenses and privileges revoked for misuse.
If the term ‘software engineer’ is a blanket term and not literal, then one could argue that throwing around that language leaves a lot to be desired.
At least, Canada thinks so.
In two court cases, one in 2019 and another in 2020, judges in Alberta and Quebec fined individuals who falsely claimed to be engineers but were not associated with the professional standards agencies for engineering.
Why does that matter though? People lie about who they are all the time, even in the professional space!
Because fraud is real and hurts people.
An agency looking for engineering consulting relies on the background of the engineering firms they are consulting with to produce projects that have real-world consequences. Maybe lying about specifics on a resume can fool some employers long enough for the hire to get the job and try to keep it, but when that job can mean the correct calculations for building skyscrapers, there is a much higher demand for accuracy than in, say, a call center. Those impersonating licensed specialists are putting everyone they fool in harm’s way.
That is the argument behind these fraud cases in Canada, and the enforced dropping of the term ‘engineer’ from software related professions that don’t answer to engineering standards organizations.
Which is where all of this boils down to.
Calling yourself a software engineer without being a licensed engineer may be a common practice but that is not a good excuse for misuse of the term. Canada has been proactive in regulating the term in their technical job marketplace, and the US and other countries should follow suit.
If you can’t call yourself a lawyer or doctor without the correct licensing, you shouldn’t be able to call yourself an engineer either.