3 ms·
I still find this sentiment hurtful after all these years. It comes across as demeaning of my credentials and my work. Let's start with my degree. My master's
by david-gpu 5y ago
I still find this sentiment hurtful after all these years. It comes across as demeaning of my credentials and my work.
Let's start with my degree. My master's degree reads "Informatics Engineer", a title that was approved at the national level by the EU country where I graduated. That alone should be sufficient in my opinion.
Degrees don't matter? What about people? When the exact work I do is performed by "true Engineers" then does that make it true enfineering? Most of my co-workers are Electronics Engineers and while they perform the same tasks I do, I have yet to see anybody question their worth.
Or perhaps my colleagues may be true Engineers, but the work they are doing is mere programming, as evidenced by a simple programmer like me doing it.
Maybe it's the processes we follow that matter. True engineering work involves design, documentation and review processes, after all. Well, the processes we follow come directly from EE best practices because that's the nature of the work we do (computer architecture). Software engineering also has its own similar design processes tailored to their needs. Not significantly different, I must say.
Maybe it's not the accreditation, the people or the processes. Perhaps the demarcation between engineering and programming is in the systems we design. They must be designs worthy of being patented, systems so important that people's lives are at risk if they malfunction.
I have a dozen patents -- none of them in software. I have worked on safety critical systems where death and dismemberment were expected consequences of malfunction. Importantly, not all "true engineers" work on safety critical systems either.
What else, then? The article talks about certification -- I wish they allowed us to become licensed so that we had less competition and higher software engineering standards.
- atoav 5y agoAs a programmer who does a lot of electrical engineering as well: It is not completly out there to question whether programmers are really engineers. When I want to do the electrical wiring for a house there are close to 2000 norms each stuffed with formula and details, that I have to get right or I will have to fear the consequences. When I write software it is more like "Lol this framework looks interesting, lets try it together with that code from coolcoder1982 on GitHub". I know there are programmers who try very hard to specify and write good software, with formal correctness, tests and so on. And maybe those would be closest to the term "engineer", but there are so many people who just aren't, that the whole field suffers. When something went wrong due to a software error for the past 3 decades it was (and still is) usually excused as if nobody could have done something to prevent it. Software error. Oh god. Nothing we can do. Jikes. If my electrical installation starts a fire, I pay or go to jail. If the norm I based it on was wrong and that started the fire, the norm will get changed and everybody from now on has to follow these updated rules. Existing buildings might need to be updated. There are laws specifically regulating how often such checks have to be done. Because this is what engineers do: they follow boring norms, try to apply them to the problem and if they fail they personally suffer for it. In fact all that stiffness, all that lack of fun, all these rules can be seen as the engineers way of surving their career without landing in jail. Meanwhile as a software engineer you can write code that processes the healthcare data for millions of people, leak all that data through a combination of bad decisions nobody should have made again since the early ninties and still stay a programmer, Buffer overflows, SQL injections, DIY crypto, unsalted MD5 hashing, you name it. Again: maybe individual people have higher standards (me for example), but the lived practice is so bad, calling it engineering would really border to an insult against those who really put their careers, families and wellbeing on the line in other engineering professions. If electrical engineering was like programming electrical fires and electrical shocks would be the leading cause of death.
- detaro 5y agoIs the person doing the electrical wiring for a house an "engineer"? Here in the German-speaking countries a vocal subset of Electrical Engineers will be very insistent that you recognize the mere tradesperson wiring the house/substation/factory floor following the norms is not an Engineer and fundamentally different, even if they are legally qualified to inspect and certify it. (unless they happen to also have an engineering degree, but that's not the common path) Which I think translates to software: lots of development work is not necessarily engineering, but that doesn't mean engineering doesn't happen in software or that the field of Software Engineering is not a thing. And since we do not use the degree to distinguish, it gets tricky who gets that title and who doesn't, and what part of an individuals work is which. (And that's not just a software thing, e.g. aviation flight engineers don't really fit that scheme either, despite aviation being a serious field)
- atoav 5y agoNo, the person doing the wiring is not typically an engineer. Even the person planing it might not be, in German speaking countries you would have to be a Meister or a VEFK. This roughly translates to other nations definitions of engineers. E.g. look at civil engineering
- david-gpu 5y ago> There are laws specifically regulating how often such checks have to be done. But that is true in software as well, as long as you are working on safety critical systems. Sure, most software engineering is not safety critical, but that doesn't make it less engineering. In the same way that an electronics engineer doesn't stop being so just because they happen to be working in non-safety-critical systems. In essence the argument of safety boils down to "if it can't kill people then it is not engineering", which I find rather humorous.
- atoav 5y agoSure, not killing people plays a big role. However in ELV consumer electronics there are also norms you have to follow and liabilities that could happen (burning batteries, EMI interference, etc). Usually extensive testing and processes of certification get rid of auch a thing. I know certification in Software can be a flipping nightmare, but sometimes I wish they just had some hacker and data privacy lawyer look at it for a weekend and if they find something they cannot release it to the market.