4 ms·
And in a slightly oblique way, when I was studying at engineering school (University it is called in Australia) the joke among the students was that at Uni we h
by airbreather 7y ago
And in a slightly oblique way, when I was studying at engineering school (University it is called in Australia) the joke among the students was that at Uni we had two hours to get four questions half right(exams), but once we were engineers we would have as long as it takes to not make a mistake.
The lecturers that had actually worked in real industry for any period of time had another line, "Most of what you do as engineers could be done by many people, but it the engineer that does it safely in a predictable time, budget and quality".
There is no, "move fast and break things" in designing bridges, the electrical grid, chemical plant, airplanes, or even the town sewerage system. If there is it is normally baked in as a "proof of concept" phase very early on.
When it comes to unwanted consequences, the whole engineering approach is built around conservative, known approaches with low risk of harm to humans, demonstrable in court if need be.
Often the exposure of humans to harm from engineering decisions is involuntary, whereas to software is voluntary. There are even special branches of engineering that use software in preventing harm to humans that are tightly controlled and have certified practitioners (Functional Safety - IEC 61508)
I don't think people who write software for a living are any less, or less important, than engineers. In recent times it is hard not to argue that production of software has been instrumental in changing the world more rapidly than any other one profession or pursuit in the history of man.
But I do think that a lot of the time the workflows and methodologies employed in the pursuit of these very rapid developments we have witnessed are not of an engineering paradigm.
The majority of software development lives by different rules (appropriate for the outcomes, consequences and potential rewards) and should be considered as a different kind of activity, with it's own approaches.
- lifeisstillgood 7y agoBrilliantly put. Thank you
- jacquesm 7y agoThis big difference is in a single word: responsibility. The software industry has somehow gotten away with conflating engineering and the disclaiming of responsibility. In the long run that is not tenable.
- ksec 7y agoThank You. And I am glad this topic got bought up once again. I did Computer Engineering in EE, and I think there are much more Engineering involves in that doing very low level, direct to hardware and Firmware stuff. But to me anything above OS is purely Software Writer, especially on the web. I remember DHH said something similar in one of his talk. It is more like you don't really know how it works, but it works and that is ok. No one bother about writing Spec anymore, mainly because your spec changes in the mid week. You don't "design" before you code. And these software engineers gets to be paid a lot higher than other engineers in different fields. You get to be Engineers within 3 months of a BootCamp.
- healsjnr1 7y agoIn a way I understand these comments, but I think they are drawing a very black white line in a grey area. I trained as an electrical engineer (but I'm now %100 software), yes there was a lot about responsibility, safety etc, but to me the core of engineering and in being an engineer is to be able to apply theoretical math and physics concepts to real world problems. That is why I did what I did, I didn't want to be an engineer to be an on time, on budget, project manager. I did it to combine design, maths and physics to build real world solutions to problems. And this is why I would 100% consider myself a software engineer. The accreditation and certification is missing (so far) because we are still figuring out the best ways to apply engineering to building abstractions (which is what I believe our field is). To me this doesn't make us any less engineers.
- pjmlp 7y agoIt does exist, but sadly not widespread enough for those that care about quality.
- vlovich123 7y agoQuality isn't the end-all be-all. Engineering is about understanding tradeoffs so that you can actually have a profitable business. It has always been tightly coupled with business. You can't build a bridge if no one wants the expense. Government is OK to regulate outcomes (like bridge can't fall down) but it's not OK for it to start mandating that every bridge must be a suspended bridge.
- airbreather 7y agoThis is the first misunderstanding of people not involved with QA in any way. (IS9000 series). In this sense, quality doesn't mean "goodness", rather it implies predictability and repeatability. eg Are you doing what you said you would do to make something of "goodness" you defined? Under the ISO standards it is entirely suitable to have a quality assurance system in your company that says, "we will make minimum effort to make to minimum quality, to the measurable metric of x failures per y products and intended product life span of z days". The colloquial use and technical use of the word quality are quite different.
- amelius 7y agoSpeaking about safety, the problem is that most companies don't want to allocate time and resources to it. E.g. security is often at the bottom of the budget list. You can't really blame the programmers/engineers.