4 ms·
Shocking in his case as he was a true programmer (computer scientist). Today, people say they're "software engineers" with a straight face, which is a disservi
by throwaway676565 10y ago
Shocking in his case as he was a true programmer (computer scientist).
Today, people say they're "software engineers" with a straight face, which is a disservice to real engineers. I know because I get paid to code.
If bridges were built like software is...
- Xophmeister 10y agoThere's more to engineering than building bridges. Would you discredit electrical engineers, for example, because PCBs aren't hydroelectric dams? While I generally agree with your rhetoric that software engineering is perhaps not as disciplined, it is still a legitimate engineering discipline, imo.
- throwaway676565 10y agoRight, I wouldn't discredit electrical engineers. I can reasonably expect my house not to burn to the ground due to an electrical fire, and my washing machine/fridge will probably fail safe as well. Hardware engineers mostly get a pass in my book, too (when was the last time your CPU hung?). Meanwhile, Toyota is allowed to ship buggy, untested, unauditable ECUs[0]. How can SE be considered a legitimate engineering discipline when such examples abound? The "Software engineer" title ought to be reserved for those doing formal verification or at least aiming for high code coverage and otherwise employing proper design and testing methods. Think programmers of NASA shuttle avionics or airplane autopilots. It's not for your run-of-the-mill startup coder (which includes me). [0]: https://users.ece.cmu.edu/~koopman/pubs/koopman14_toyota_ua_slides.pdf https://users.ece.cmu.edu/~koopman/pubs/koopman14_toyota_ua_...
- hga 10y agoMeanwhile, Toyota is allowed to ship buggy, untested, unauditable ECUs[0]. How can SE be considered a legitimate engineering discipline when such examples abound? In the bad old days, steam boilers would blow up a lot; check your state and maybe local laws and you'll likely see a section to regulate this. Bridges were also prone to failing, and still do due to design errors: https://en.wikipedia.org/wiki/I-35W_Mississippi_River_bridge#Investigation https://en.wikipedia.org/wiki/I-35W_Mississippi_River_bridge... (and even then, the bridge was sufficiently over-engineered that it lasted a long time before failure) As for the EE examples you give, it just so happens I'm about to personally totally rewire a house I just bought that was built in 1910. Relevant things I've noticed include: The National Electrical Code is drafted and revised in an open fashion, is thoroughly sane, and anyone can buy a copy. My city also makes copies available for free for perusal, and at the counter were you apply for permits and such there was a copy of the combined complete code for residential housing (1-3 stories, 1-2 or 3 families). That version is also online: http://publicecodes.cyberregs.com/icod/irc/2012/index.htm http://publicecodes.cyberregs.com/icod/irc/2012/index.htm (that's one revision behind the current, many cities like mine prefer to not be at the bleeding edge). Then there's the permitting and inspection process: while it's obviously ignored a lot, by law you're required to apply for a permit, including plans of what you propose to do. Upon approval, you post the permit at the work site, and call in city inspectors for "rough in" inspection(s), where they will check whatever will eventually be hidden, and they do a single final inspection when all is done. So there's enforcement of the code (at the very least backstopped by insurance companies who will look askance if your unpermitted work results in a loss), in a rather open way, and the city's top dog for this, the Building Official, certainly knew the electrical code when I asked him about the interpretation of one detail. All car makers, by comparison ... well, there's not even a PE system for this field (https://www.nspe.org/resources/licensure/what-pe https://www.nspe.org/resources/licensure/what-pe), it's too new, and and there's no consensus on even the most fundamental of things. Everything they do is in secret, with no outside oversight mechanisms, and one company we though really had their act together, such that we'd trust their code with our lives, turned out to be utterly unworthy of our trust, that is Toyoda, of course. My take on this is that this sad state of affairs will continue until a software error kills 4-6 figures of people, and of course there are many domains of software where the rigor that's in theory demanded of embedded systems like cars isn't required. Like, say, this social media site we're using right now.
- fratlas 10y agoI find this interesting - I changed degrees halfway through electrical engineering to computer science (which is still under the engineering school at my university). You're right, EE is much more disciplined, however, computer science/SE still requires an extremely logical thought process, and is applying science/maths to solve real problems. For these reasons, I believe it is engineering (even if somewhat softer than other strands).
- mac01021 10y agoFrom Wikipedia: Engineers design materials, structures, and systems while considering the limitations imposed by practicality, regulation, safety, and cost. Perhaps many programmers don't do this, but many do.
- tribaal 10y agoAs it's been said several times on hacker news (sorry for repeating it one more time here): In some countries calling yourself an engineer without having an appropriate degree issued by an engineering school is a crime (although, seldom enforced in software). Whether the school should have a software department at all was a big discussion at my school at the time. They decided to keep it. EDIT: Sorry, to be clear, we agree: it's just adding a bit more information to your point.
- jean_claude 10y agoI earned a B.S. in an ABET accredited Computer Science program taught by the College of Science and Mathematics at a state University. Before that, I designed electrical control systems and software for industrial machinery, and I still don't consider myself an engineer. That said, I think 'Software Engineer' is an acceptable title, and is more representative of the work we do in the profession than simply 'Computer Programmer'.
- tribaal 10y agoMy point is that "Engineer" (software or otherwise) is a legally protected term in many countries (Canada, Switzerland,...) How much you consider yourself an engineer is irrelevant in this case: you either are one because you have a degree from an engineering school (not a university!), or you don't (it's a civilian title in Switzerland's case at least, "Eng." similarly to "Dr.") Calling yourself a "software engineer" in Switzerland (and according to wikipedia, in a slew of other countries [1]) if you have a university degree is technically illegal - although of course, seldom enforced. [1]: https://en.wikipedia.org/wiki/Engineer https://en.wikipedia.org/wiki/Engineer
- IkmoIkmo 10y ago> Shocking in his case as he was a true programmer (computer scientist). How was that shocking? Someone has to be the first to introduce or pioneer a distinct profession to the rest of the world, he was pretty much among that select group. It's like saying you're a 3d printer in the past few years, without anyone having a clue this was an actual profession people spent their days on. And that's today, in a world where we're more educated and more open to the notion of rapidly changing professions. If you want to know, the people who work those desks at the municipality usually have only a high school degree, the mandatory minimum (not for the job, but as a person raised in the Netherlands). And in the 1950s that minimum was only six years of education, i.e. primary school only. None of this strikes me as shocking in this full context, unless you're shocked by the notion there had to be someone to pioneer a profession for the first time in their municipality and we happen to be talking about him and his anecdote.
- peferron 10y agoYou say that you "know because you get paid to code", but that's only half of the picture. To really know you would need to work on the other side, in what you call "real" engineering. An insider is much more likely to see the flaws in their own discipline. I worked for 3 years in power plants all over the world, including dams, and there were delays, cost overruns, structural defects, flouted safety measures, etc. Not really the civil engineering utopia that HN raves about. Note that I'm not saying that it's OK for software engineering to suck because civil engineering also sucks. Both should try to improve.