3 ms·
In terms of engineering (QC, processes etc), modern day software industry is worse than almost any other industry out there. :-( And no, just plain complexity
by RetroTechie 3y ago
In terms of engineering (QC, processes etc), modern day software industry is worse than almost any other industry out there. :-(
And no, just plain complexity or fast-moving environment, is a factor but not the issue. It's that steps are skipped which are not skipped in other branches of engineering (eg. continous improvement of processes, learning from mistakes & implementing those. In software land: same mistakes made again & again & again, poorly designed languages remain in use, the list goes on).
A long way still to go.
- jacquesm 3y agoAnd reading this thread it doesn't look as if there is much awareness of that.
- fredley 3y agoIn any other field of engineering, the engineers are all trained and qualified. In software 'engineering', not so much.
- LeonenTheDK 3y agoThis is exactly why I support "engineer" being a protected term, like Doctor. It should tell you that a certain level of training and qualification has been met, to the point that the engineer is responsible and accountable for the work they do and sign off on. Especially for things that affect safety. Many software engineers these days are often flying by the seat of their pants, moving quickly and breaking things. Thankfully this seems to largely be in places that aren't going to affect life or limb, but I'm still rubbed the wrong way seeing people (including myself mind you) building run of the mill CRUD apps under the title of engineer. Is it a big deal? Not really. It's probably even technically correct to use the term this way. But I do think it dilutes it a bit. For context, I'm in Canada where engineer is technically a protected term, and there are governing bodies that qualify and designate professional engineers.
- zvmaz 3y agoAre all "engineers" trained on human error, safety principles, and the like? The failures described in the article are precisely not software failures.
- jacquesm 3y agoThe important distinction is that engineers are professionally liable.
- mrguyorama 3y agoYes? Most engineering programs (it might even be an accreditation requirement) involve ethics classes and learning from past failures. My CS degree program required an ethics class and discussed things like the CFAA and famous cases like Therac-25, but nobody took it seriously because STEM majors think they are god's gift to an irrational world.
- jacquesm 3y ago> Thankfully this seems to largely be in places that aren't going to affect life or limb I've seen Agile teams doing medical stuff using the latest hotness. Horrorshow. I've also seen very, very clean software and firmware development at really small companies. It's all over the place and you have to look inside to know what is going on. Though job advertisements sometimes can be pretty revealing.
- freeopinion 3y agoI'm curious how you think the word "Doctor" is protected. Do you mean that History PhDs can't call themselves Doctors? Or chiropractors can't pass themselves off as doctors? Or you mean Doctor J was licensed to perform basketball bypass surgeries? Or perhaps podiatrists can't deliver babies?
- sanderjd 3y agoThat training and qualification is only as good as the processes and standards being trained for and qualified on. We don't have those processes and standards to train against (and frankly I'm not convinced we should or even can) for generic "software engineers". I have a number of friends who are PEs, and it isn't the training and certification process that differentiates their work from mine, it is that there are very clear standards for how you engineer a safe structure or machine. But I contend that there is not a way to write such standards for "software". It's just too broad a category of thing. Writing control software for physical systems is just very different from writing a UX-driven web application. It would be odd and wasteful to have the same standards for both things. I do think qualification would make sense for more narrow swathes of the "software engineering" practice. For instance, "Automotive Control Software Engineer", etc.
- serjester 3y agoIf you're making the same mistakes over and over again I think that says more about your company than it does about the software industry. My first job was at a major automotive manufacturer. Implementing half the procedures they had would slow down any software company 10X - just look at the state of most car infotainment systems. If something is safety critical, obviously this makes sense but the reality is 85% of software isn't.
- jacquesm 3y agoGP was speaking in the general sense not about their company.
- KnobbleMcKnees 3y agoIs that not coming from experience of working at a software company? As I believe you said elsewhere
- jacquesm 3y agoIt could easily be from looking from the outside in, as it is in my case.
- KnobbleMcKnees 3y agoOh, so, without experience. Understood.
- jacquesm 3y agoNo, with lots of experience. I've been programming since 17, did it professionally for three decades and have since moved into technical due diligence, 16 years and counting. That gives me a pretty unique perspective on IT, I get to talk to and work with teams from a very large sample of companies (230+ to date) and that in turn gives a fairly large statistical base to base that opinion on. This includes seed stage companies, mid sized and very large ones. So forgive me if I take your attitude as non-productive, you are essentially just trying to discount my input based on some assumptions because it apparently doesn't please you. I'm fine with that but then just keep it to yourself instead of pulling down the level of discourse here. If you wanted to make a point you could have been constructive rather than dismissive.
- zvmaz 3y ago> In terms of engineering (QC, processes etc), modern day software industry is worse than almost any other industry out there. :-( How do you know that?
- jacquesm 3y agoExperience?
- talldatethrow 3y agoOn HN and reddit, experience doesn't count. Only reading about others experiences after they've been paid to write research experiences.
- pdntspa 3y agoDon't forget to cite your sources! The nerds will rake you over the coals for not doing so.
- RetroTechie 3y agoTake airplane safety: plane crashes, cause of the crash is thoroughly investigated, report recommends procedures to avoid that type of cause for planecrashes. Sometimes such recommendations become enforced across the industry. Result: air travel safer & safer to the point where sitting in a (flying!) airplane all day is safer than sitting on a bench on the street. Building regulations: similar. Foodstuffs (hygiene requirements for manufacturers): similar. Car parts: see ISO9000 standards & co. Software: eg. memory leaks - been around forever, but every day new software is released that has 'm. C: ancient, not memory safe, should really only be used for niche domains. Yet it still is everywhere. New AAA game: pay $$ after year(s?) of development, download many-MB patch on day 1 because game is buggy. Could have been tested better, but released anyway 'cause getting it out & making sales weighed heavier than shipping reliable working product. All of this = not improving methods. I'm not arguing C v. Rust here or whatever. Just pointing out: better tools, better procedures exist, but using them is more exception than the rule. Like I said the list goes on. Other branches of engineering don't (can't) work like that.