5 ms·
Yep, I'm an Electrical Engineer, and I also write code. I don't like the term Software Engineer, because there is none of the of the regulated safety and quali
by raggles 2y ago
Yep, I'm an Electrical Engineer, and I also write code. I don't like the term Software Engineer, because there is none of the of the regulated safety and quality mechanisms required for software that are normally associated with professional engineering.
- theideaofcoffee 2y agoSame, which is why I bristle at my title containing "engineer" as I don't have a PE. If most software engineers want to legitimately call themselves engineers, the field should be formalized as an engineering discipline, including coursework, certification/licensure and, better yet, apprenticeship-like experiences required for "real" engineers working toward their Professional Engineer license. Edit: I'd add this goes double when working on safety-critical code, or anything touching protected health data, or payment/financial data. It's just too toxic and valuable to leave to a chance change.
- pxc 2y ago> If most software engineers want to legitimately call themselves engineers, the field should be formalized as an engineering discipline, including coursework, certification/licensure and, better yet, apprenticeship-like experiences required for "real" engineers working toward their Professional Engineer license. I agree, although in reality it's not chiefly developers themselves who are responsible for quick, lazy approaches, is it? Developers are typically the parties most pained by technical debt. If the discipline of software development is to become software engineering in earnest, there will have to be some pressure all the way up the management chain— pressure strong enough to outweigh software's low cost of iteration. I imagine this is really rare outside of highly regulated industries and very specific applications, and even with a formalized software engineering discipline, many companies will prefer sloppy software development and many competitive markets will 'select for' such companies.
- ethbr1 2y ago> although in reality it's not chiefly developers themselves who are responsible for quick, lazy approaches, is it? Developers are typically the parties most pained by technical debt. I'd agree with you, except... ooh, a new, shiny, untested language / framework / platform to rewrite the codebase in!
- hello_moto 2y agoYup, like for example: Rust!
- pxc 2y agoRust isn't really new or untested, though. I issue with RIIR isn't Rust so much as the act of rewriting, which carries inherent risks. I think the temptation to rewrite also reflects how messy and unworkable we let codebasee get— sometimes that impulse is more about the pain of working with the existing codebase than anything else.
- ethbr1 2y agoTo me, the tragedy of rewriting is the underappreciation of why the gnarliest 5% of the codebase is there. Occasionally, usually because initial requirements were sorely lacking or changed, you can simplify the system via rewrite. More often, everyone ends up realizing they didn't actually understand that last 5% of edge cases. And then you've either replaced the working system with a 95% complete solution (so common in modern software) or you produce a system equally ugly once you handle that last 5%.
- paulddraper 2y ago> I bristle at my title containing "engineer" as I don't have a PE Lol HN. Outside of civil/structural disciplines, PE is not required for engineering. Mechanical, Chemical, Electrical, Nuclear don't require it. I've literally never met an Aerospace engineer with a PE, and they build planes 'n sht. --- It's a pure resume padder, like Cisco or AWS certifications.
- theideaofcoffee 2y ago"Nah, those uppity software engineers don't need any additional training. How dare they think they have any right to tell us how to manage this roll-out" says management, "We'll just cowboy this update and wipe out 8.5 million systems. Besides, it's not like they're working on nuclear reactors, yeah? How complex could it be?" You're just proving my point in that it's a CTO that dismisses the argument in a rather childish way. They would be the one to be told 'no' by the now-professional software engineers when their license and livelihood is on the line while being pressured to do something that goes against their recommendation. Funny how that power dynamic changes when there's something real on the line and not just an inflated title, huh? Perhaps if those aerospace and software engineers that attempted to blow the whistle at Boeing were successful and were empowered via their license to say enough and stop development on MCAS, there wouldn’t be 300+ dead people because of a software change rammed through by management. The licensure ain’t just window dressing. It has real, actual impact on real human lives. Don’t be so dismissive.
- ffsm8 2y agoHe isn't dismissive about the problem, he's dismissive about the proposed solution. A certificate would not change the status quo at this point. Software developers/engineers are - for the most part - seen as essentially blue collar workers. Replaceable gears that MBAs can just "scale up" or "down" to fit their currently desired velocity. Let's ignore the fact that this fundamentally isn't true, but it's what they believe. The work they do is decided by MBAs, and the time they have to implement these changes is heavily influenced by other MBAs. Adding a certificate to this mix will change literally nothing
- 2y ago
- TacticalCoder 2y ago> ... because there is none of the of the regulated safety and quality mechanisms required for software that are normally associated with professional engineering. And then a lot of "real" engineering now require software anyway: self-driving cars (written in part by people who are hacking together webapps by pulling in thousands of NPM dependencies) comes to mind. The future is honestly a bit scary looking. On the bright side things are going to get "interesting". At some point in the past we had many "Uber but for ...". Soon we'll have "Clownstrike but for fridges", "Clownstrike but for cars", etc. Should be fun.
- _heimdall 2y agoWhile I agree based on the quality of software development I've seen over 15 years in the industry, I don't think the hard requirement should be a regulatory structure. That absolutely can work, and does for plenty of industries, but it also creates the potential for a false sense of security until planes start falling out of the sky. My frustration, and disappointment, in the software industry has generally been the complete unwillingness at scale for us to take on the responsibility to ensure safety and reliability without regulations enforcing it. Plenty of this responsibility (blame?) falls on companies led by individuals who are solely focused on profit and self-interest, but we have to own some of the responsibility as we're the ones agreeing to write and ship bad code.
- beardedwizard 2y agoI have often blamed software engineers for being complicit, however we should avoid a system that forces a worker to bear the cost of this choice in the first place.
- _heimdall 2y agoThat's a bit of a chicken and egg problem, isn't it? We can only avoid a system that forces a worker to bear the cost if they first decide to bear it.
- beardedwizard 2y agoIf we force people to choose between paying the bills and cutting corners we know what happens - we have seen this movie many times in history. I prefer the idealistic view that each individual can make a change through choice, but the reality is that choice is a privilege that isn't evenly distributed across the population. For example some can afford to not shop at Walmart, others can not - paradoxical as it may be from a local economics perspective. Regulation is the typical blunt instrument to move the incentives to the business leaders rather than the individual. Other commenters don't think regulation is the answer, but I think most agree doing nothing won't change the status quo soon enough.
- petermcneeley 2y ago"none of the of the" Genius level comment that demonstrates the need for a quality review of ones work.
- eddd-ddde 2y agoVery interesting. I'm fairly young and I have never associated the term engineering with regulation. When I think engineering I just think problem solving.
- threatofrain 2y agoAn engineer is just a distinction to separate practitioners from people who develop the actual science that engineers depend on. For example, do American engineers who work on food or cosmetics have safety or quality mechanisms? Food and cosmetics are things applied to the body, and thus have a more direct relationship to biological safety or harm. Using science is not the reason why people should face regulations. Some engineers work on legos. Other engineers work for the armed forces. The Crowdstrike incident is worth billions and people may have died. If you look to the engineer you won't be able to recover billions. Hospitals must absolutely be on the hook as they are the direct interface to their customers; hospitals in turn can sue Crowdstrike. An event worth billions must have billions in liability in order to prevent perverse incentives. Otherwise hospitals will just say "well McKinsey said it was a good bet, so what gives?"