|
Non-degreed Software Engineer from the USA here, weighing in with biased opinions: Depends on the field you are in. Here at least, use of the title as it relates to software is currently driven by the hiring agency/company. If you are hired on as a Software Engineer without a degree, then you are a Software Engineer (at least in title, at that position). You damn well better be able to perform. But you can legally write "Software Engineer" on your tax forms. In my personal opinion, what differentiates a software engineer from a software developer is the level of engineering rigor required for the development and application of your software in a given environment or system. Are there standards in place that recommend (mandate) you provide certain reasonable assurances (e.g.: verifiable proof derived through specified means) that your software will not yield unexpected behavior? Are there standards in place for a given industry that confine the way you use specific languages (to attempt to ensure the aforementioned unexpected behavior will be minimized or eliminated)? I'm thinking of DO-178B/C, IEC 62304, & MISRA as industry representatives here. If you can digest and navigate these standards, and prove to the applicable regulatory body that you adhered (designed, developed, and tested) to their respective guidance documents, they couldn't give a damn about a degree. You've proven you're aware of the risks your software can pose and how to mitigate them through thoughtful application of standards, rules, and hopefully best practices. Here's where I'll piss some people off: Would I call a front-end UI developer a "Software Engineer"? Probably not, unless that UI is destined for a system where a developer error could cause harm, property damage, etc. What about a trading system where performance losses measured in nano-seconds could accumulate millions in losses? Possibly, depending on the complexity. My personal metric (based on my own career experience) is "will a screw-up cause harm, loss of life, or irreparable damage/destruction to expensive things". Losing millions in a trade and losing millions in an *craft crash are not equivalent to me personally. Background: Non-traditional EE trained on avionics hardware who moved into developing safety critical avionics and medical device software and hardware. |
The thing you are describing is something different altogether, where the distinction is more about status (e.g I do more important work than you). Usually we handle this with appropriate compensation, but if you are looking for nominal respect, that’s a losing battle. I just saw some kid on LinkedIn, graduates a bootcamp with no job experience at all, changes his title to ‘aspiring developer and data analyst’. Title pimping is a lost cause, and the integrity required to derive status from it is infinitesimally small.
Tech in general has always had this problem, as we mostly got lumped into ‘aren’t you an IT guy?’ for years. It had very little status, and we sort of have the same problem all over again except it’s the barbarian horde of newcomers that give themselves titles that would takes years to sincerely attain. Three month bootcamp straight to a ‘full-stack’ developer, huh? This stuff hurts us in general, and we might as all go back to being called ‘IT people’.
I do agree that software is too big to have a blanket term like ‘Software laborer’. There are ‘ui laborers’, ‘options trading laborers’, ‘infrastructure laborers’, ‘backend laborers’, etc. I wouldn’t want to create classism amongst laborers (you know, real laborers vs not so real laborers), but rather have descriptive branches of our field properly described so we understand what part of this field you specialize in - no status involved. I guess the same way we know what a Podiatrist does exactly, compared to an Orthodontist. There is no Medical Professional or Seriously-Better-Medical Professional.
I wouldn’t put too much weight on the term, marketing values ‘full-stack’ ahead of anything else anyways, which flys in the face of specialization. Probably why such a topic even comes up, if we’re all meant to be generalist, what sets us apart?