Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I graduated with an ME degree and I now work as a software developer. I find that the traditional engineering coursework is more difficult than what I find with regards to CS. It's pretty easy to become a self-taught developer and even go through the online courses coming from MIT, etc. It's significantly more difficult to do the same for traditional engineering.

In addition, as someone mentioned elsewhere in the comments, the cost of failure in software doesn't often result in death.



In addition, as someone mentioned elsewhere in the comments, the cost of failure in software doesn't often result in death.

That's nice; perhaps you should tell it to the victims of the Therac-25. Or maybe I'll remember it next time I'm writing some real-time software to control something silly like missile guidance. More and more software every day goes into controlling vital systems in our world . . .

And how often do certified professional engineers design something critical? Does every circuit that goes into a consumer electronics device need to be ultra-safe?

I'll grant you, there are a lot of shitty "software engineers" that have no business writing critical software. And many CS programs are severely lacking. But I picked up electronics in high school in my spare time, which makes me about as much an EE as your self-taught development skills make you a software engineer or architect.

What gets me is the arrogance, in particular since the Iron Ring is supposed to carry with it a reminder that everyone is fallible, and to have humility in the face of that. More often than not, things like the iron ring set people apart, for better or for worse. There are plenty of hard things that people's live depend upon that nobody gets accredited for. Having some humility, and empathy, would go a long ways towards making Professional Engineers not just better people, but better Engineers.


I agree that there is a lot of arrogance in engineering (I can't say I'm innocent either). I think the big difference is that the term "engineer" gets thrown around in software way more than it does in traditional engineering disciplines. The result is that the term "engineer" gets diluted for both software engineers and traditional engineers. That sort of dilution is not common in fields such as mechanical or biomedical engineering.

Having picked up electronics in your spare time, I doubt you'd go around calling yourself an electrical engineer. On the flip side, it happens all the time where self-taught programmers will call themselves software engineers.

Finally, I don't see how you can disagree that software failures don't often result in death. I never said they "never" result in death. It's just that software applications that have life-threatening consequences aren't nearly as common as in traditional engineering. See: cars, bridges, building structure, ropes, pulleys, levers, bolts etc. I'd argue these are more commonplace than missile guidance systems.


cars, bridges, building structure

Those three things right there commonly have embedded software monitoring or controlling them. As far as levers and bolts go, a lot of them have sensors monitored by software for stress.

I really don't think most people, even software developers, realize how pervasive software is in their lives.


"As far as levers and bolts go, a lot of them have sensors monitored by software for stress."

That's in the far minority of situations. As part of my ME curriculum, I've worked with these types of sensors. It's very rare you'll find them monitoring bolts and levers.

It's true that software is extremely pervasive, however I believe you're overestimating the critical nature of it in most applications. Cars, bridges, buildings: Most critical failure points are mechanical. There's certainly a lot of software the goes into regulating a car, but if there's a failure in either the software or mechanics of the car, mechanical failure will most often be the more serious issue.


> Most critical failure points are mechanical.

Given that many mechanical and structural components are designed with the assistance of software that analyzes the stresses they are subjected to (and sometimes little or no analysis is performed beyond software simulation), one might question if it’s even possible to underestimate the role of software.


You make an excellent point. Though I think that the 'responsibility of an engineer' that is discussed in regards to the Iron Ring relates to it. It's up to the engineer to ensure that his design is sound regardless of any other factors.


You can't take a static view of the situation. More and more mechanical linkages are moving to microcontrollers, software and actuators.

The point is that software is an ever-increasing percentage of the most common items around us and as a result, its impact on our lives grows every day.

mechanical failure will most often be the more serious issue When the software is so tightly interlinked with the sensors and mechanisms that they are otherwise useless, you can no longer make that statement.


"they are otherwise useless" That's simply not the case for the most common mechanical components or engineering constructions. Bridges are fully functional without software. The same goes for buildings (and the majority of components that make up a building including stairs, doors, windows, walls, floors, thermostats, lighting, etc.). Even cars, which have software integrated to regulate many functions are still driven primarily by basic mechanical functions (ignition, combustion, power transmission, suspension, power generation via alternator, etc.).

At a more fundamental level, all components related to mechanical advantage that are so prevalent in our lives, yet mostly forgotten (gears, screws, levers, pulleys, wedges, etc.) are not being replaced by microcontrollers or actuators. You'd be hard pressed to find a better software+electronic component solution to solve the problem that the screw solves.

I assure you, I love software far more than I've ever loved mechanical engineering, but it's naive to think that it will overtake (or even come close to being more critical than) fundamental mechanics. Aside from information and communication, software only serves as a proxy for control over our physical world. I guarantee you that if you were to take a look around, the amount of pure "stuff" derived from basic engineering greatly dwarfs that derived from software.

While we could live in a shittier version of our world without software, we couldn't live in a world without traditional engineering.


From experience, most of the software engineers working in the defense, automotive or aerospace industries are reconverted EE or ME. No one at <Defense Contractor> read Hacker News or knew what Heroku was..


> That's nice; perhaps you should tell it to the victims of the Therac-25. Or maybe I'll remember it next time I'm writing some real-time software to control something silly like missile guidance. More and more software every day goes into controlling vital systems in our world

Yes. Totally agree. This idea that software engineers (perhaps I should use a different title in this thread :-) can fail without consequence is nonsense these days. I actually find it quite amusing (terrifying?) that so many engineers I know think they are a-okay with only a very basic understanding of CS. In fact, often "CS" is too strong a term to describe their knowledge. There's a very pervasive sentiment among engineers that they don't like programming, don't want to program, and shouldn't need to know about programming, let alone the deeper concepts of CS. Of course, a huge chunk of them go on to work with systems that involve computers. :-/

>And how often do certified professional engineers design something critical? Does every circuit that goes into a consumer electronics device need to be ultra-safe?

Indeed, every PCB that goes into your microwave doesn't need to be EMP hardened and fault tolerant, and likely is not. But then also many of those applications that have become "commodity engineering" are no longer done by north american trained, "certified professional engineers". In any case, I think the point is you need to be trained so that you have the background to deal with a critical situation if it comes up.

>What gets me is the arrogance, in particular since the Iron Ring is supposed to carry with it a reminder that everyone is fallible, and to have humility in the face of that

Well, I have to mildly disagree with this. The ring is there to remind you that you are morally and ethically bound to the public good, at least insofar as your work is concerned. Many engineers are fiercely arrogant and could use a lesson in humility, but that's the job for parents/teachers/themselves/society in general, not a stainless steel torus or their professional association. As with many "old boys club" type groups, there is a serious amount of hazing and dues-paying that happens on the way up, and that has the effect of seriously distorting the perceptions of a lot of engineers. Also, a lot of the folks who are hotheads and spew arrogance are the types who would do that no matter where they were, be it on the soccer pitch or on HN. Being an engineer simply gives these types more opportunities, and an appeal to authority.

>Having some humility, and empathy, would go a long ways towards making Professional Engineers not just better people, but better Engineers.

Having some humility, and empathy, would go a long ways towards making <social segment> not just better people, but better <members of social segment>.

Agreed :-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: