Live data from Hacker News

How would we regulate software engineers?

tavisharmstrong.com

31–40 of 60 posts

Re: How would we regulate software engineers?

#31
post #6

I have some engineering background and you only have engineers in stable predictable fields. You can predict quite accurately the failure load of a bridge truss or a transistor and its easily testable and the whole process can be simulated and verified top to bottom. My guess is the wedge to bring in engineering would be network operations, classic operations (not devops which just means we're gonna pencil whip the o…

> Software is simply too unpredictable. Both in development and operation

You could make it much more predictable if the developer had the legal authority and obligation to sign off on all software. Fuck you I'm not putting my name on that, if you fire me I'll raise a stink about you trying to coerce me into putting my name on something unsafe.

This really isn't needed in most cases though.

Re: How would we regulate software engineers?

#32

Free speech. First Amendment covers source code and similar expressions. Regulating free speech is virtually impossible. That is where the whole project stops.

There are regulations that affect the work of software engineers. PCI DSS is one that I am familiar with. Perhaps unfortunately, if your software interacts with the real world (like payments infrastructure), you have to heed regulation. This tends not to affect people who are casually writing software or working on many open source projects, but it does impact large companies like Google. (I like to think of this as…

PCI DSS isn't regulation. It's a standard promulgated by a private LLC (the Payment Card Industry Security Standards Council).

HIPAA would be a much better example of regulation that is material w/ respect to software development.

Re: How would we regulate software engineers?

#34
post #12

A blanket ban on software developers lying about being engineers would be a good start.

Gotta ask you, though. How indignant are you about the recording studios using the term "sound engineer?" Or a hollywood post-production studio employing a "special effects engineer"?

I personally would like to retire the phrase "software engineer". This is partly because I think it's very important for software developers to get out ahead of this and avoid giving the various PE accreditation bodies the notion that they have a claim on software. Civil, Mechanical, hell, even Industrial. Go ahead.

But Software developers, if regulated, should stand apart from these fields. I'd rather see it regulated as a separate field, more like actuaries than a branch of engineering.

In short, software developers should drop their claim to engineering, but engineers should drop their claim to software.

Before you think this is a groundless concern, keep in mind that the patent bar has essentially legalized patents on mathematics while excluding mathematics as an acceptable background for reviewing patents. Seriously, the charter for the patent bar specifically mentions mathematics as coursework that does not qualify you to sit for this exam.

The very low quality of patent review reflects this. I could see a PE takeover of software as being similarly destructive (actually, far more destructive).

It does make sense as part of cartel building, though - expand your monopoly, restrict your competition. Regulate mathematics, exclude mathematics degrees. I could see something similar happening in software development, easily, with greater harm.

Re: How would we regulate software engineers?

#35
I think there are a few really big problems. First is that nobody really knows how to build reliable software. Well, maybe somebody somewhere does, but there is no standard established method that can be studied and is known to work. Second, software is a set of instructions to accomplish something. There really is no method to design for a set of unknown instructions. Third, this leads to massive confusion over what design even means with respect to software. Ask 100 software developers what they think design means, and you will get 100 different answers. Fourth, many software projects are reliant on a massive stack of APIs to accomplish anything. It is often not known if these APIs are bug free, or exactly how they are supposed to be used. There are frequently unexpected complications using APIs. Sometimes just using third party APIs becomes a research and development effort. How we build anything is rapidly changing, because the community is still trying to figure out how to do it better. User Interfaces on the web is the most glaringly example. Nothing seems to survive for more than a year or two in this space. Many in the community worked extremely hard to get degrees in Computer Science or something similar and it is not enough. If there was knowledge that worked, wouldn't it be imparted through a college curriculum? In my experience, the upper level managers know nothing about software development and create deadlines that are impossible to meet. Software is something not amenable to being rushed. Code of any quality takes a lot of thought, time, consideration, care, analysis, testing, documenting. It all goes out the window when management starts dictating that the code must ship.

Re: How would we regulate software engineers?

#36

Software engineers are not professionals like doctors, lawyers, or chartered accountants. Real professionals have a degree of autonomy and their primary obligation is to the ethical standards of their profession, not to their employers.

Real professionals have passed laws to restrict supply and prevent competition.

Re: How would we regulate software engineers?

#37
post #6

I have some engineering background and you only have engineers in stable predictable fields. You can predict quite accurately the failure load of a bridge truss or a transistor and its easily testable and the whole process can be simulated and verified top to bottom. My guess is the wedge to bring in engineering would be network operations, classic operations (not devops which just means we're gonna pencil whip the o…

Software is unpredictable because there is little demand for predictability. As it is a trade-off, predictability requires experience. Inexperienced application of methods to enhance predictability is expensive.

Speaking from experience:

- Isolate state in modules (micro-services)

- Focus on systems language first, external behaviour second, implementation details last.

- Design systems to fail and fail fast.

- Do not adhere to Postel's law. Be strict in what your systems accept. This forces the systems designer to create a language which is extensible.

And general advice for teams:

- Consistency is the most important factor in success. Choose rarely and choose wisely your: languages / eco-systems / OSes / cloud services / frameworks. Change based on requirements, not HN popularity.

Re: How would we regulate software engineers?

#38
I think its difficult to find this kind of regulation for SE partially because its so new and not well understood compared to other engineering professions. What is software engineering? The kinds of things that would regulate, say, programming an operating system kernel is not the same thing as someone who makes wordpress templates. Yet both would describe themselves broadly as Software Engineers. What is the difference between the aforementioned wordpress-template-maker and someone building a full web application in React? Where is the line that divides "Engineering" begin and end?

I can see a regulatory body develop certifications around software engineers that develop critical infrastructure or spacecraft, where a single failure is catastrophic, but that expertise might not apply for the person making the interface app for the same piece of software (or working in some other layer of the stack that is not so stringent). Is that person "less" of an engineer? It opens the door to institutional bias towards what is considered "proper" engineering, and much like relying on formal education for hiring, provide a poor heuristic in hiring practices.

However I think that we will eventually get there once we figure out collectively what "place" software has in society, once these divisions settle down and become better understood, then we can figure out how to regulate each properly. I think this could be 50-100 years from now.

Re: How would we regulate software engineers?

#39

Free speech. First Amendment covers source code and similar expressions. Regulating free speech is virtually impossible. That is where the whole project stops.

That's already not the case. Lawyers can get in shit for giving bad advice, and architects have to sign off on blueprints for things that matter.

That doesn't mean that lawyers can't make jokes and architects can't draft blueprints for buildings that smoosh every occupant; it means their professional statements have legal weight.

Post reply on HN