Live data from Hacker News

How would we regulate software engineers?

tavisharmstrong.com

21–30 of 60 posts

Re: How would we regulate software engineers?

#23
This question comes up once in a while. One solution to the complete lack of regulation would be to have something like a bar association similar to how lawyers regulate their profession. It wouldn't have to be a legal requirement, but it would at least set a standard for membership.

Re: How would we regulate software engineers?

#24
post #15
post #12

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

Is there a universally or even widely accepted difference?

There is a widely accepted difference in the US: the PE exam. Other countries make it flat out illegal to call yourself an engineer without the proper credentials.

Re: How would we regulate software engineers?

#26

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.

You do realize that there is licensing for engineers already? It's on a state by state basis in the US although there is a national organization. It's mostly relevant to the degree that you deal with regulatory bodies and have to sign off on drawings, reports, etc.

In my first job out of school I worked on offshore drilling rig design and retrofits. I took an engineer in training exam and would have eventually gotten a PE (Professional Engineer) license had I continued in that field because you had to submit designs to the ABS and other governmental organizations.

Re: How would we regulate software engineers?

#27

The first thing needs to be a culture change: "move fast and break things" is not an acceptable philosophy when you're dealing with millions of people's private conversations.

OP here. I work at a company that is able to move quickly, and yes, sometimes breaks things in the process. Tradeoffs between speed and safety are fine to make, in my opinion. It does seem like it would be useful to regulate things like ethical conduct, though. Maybe this dictates what systems are ok to move quickly and break and which systems aren't. What do you think?

Re: How would we regulate software engineers?

#28
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…

You can make software a predictive profession, by adding an order of magnitude of cost to every software development effort. 10x. It's not that it can't be done. It's the market is not suitable for that sort of development. It's a management problem, not a software engineer problem.

There are a huge number of combinations of various statements that have to be iterated over meticulously. If you want to write tests for each and every one of these conditions, it's going to eat a ton of time to do just that and hence add tons of cost to your project. Developers use intuition when dealing with logic, and they make mistakes or don't understand all the possibilities that could occur... because the brain is limited like that. You can't make them not do that. You can just test for it after the fact and fix problems that are identified, that potentially adds huge cost if you are looking to make it fully predictable.

Lots of testing happens in production systems. Especially in open source software. Or during implementation of some library. Those are identified and fixed when identified. To do that within a single effort will add huge cost to the projects.

Re: How would we regulate software engineers?

#29

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 pretty similar to the Haskell IO monad. At some point you have to break out of your cozy side-effect free code and actually do something. At that point you have to deal with the messy real world.)

Re: How would we regulate software engineers?

#30
post #11
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…

The ethical and competency attributes are still relevant. Particularly with respect to actual engineering (architecture of the overall solution) aspects of logic systems development and deployment.

I think one of the main problems with ethics is the abstract nature of software and development. Let's say you create an encryption algorithm. That algorithm can be used by terrorists and pedophiles or it can be used by banks and civil disobedients. Or let's say you create an encryption breaking algorithm. That algorithm can be used by law enforcement and the judicial system or it can be used by identity thieves and oppressive governments. Are you as the developer responsible for all those uses? It is hard enough to know how your employer will use your code in the future, but it would be literally impossible for any open source software.
Post reply on HN