7 ms·
plumbers, electricians, civil engineers, architects, structural engineers, etc. All these occupations have licensing requirements. Why is software different?
by TwistedWeasel 6y ago
plumbers, electricians, civil engineers, architects, structural engineers, etc. All these occupations have licensing requirements. Why is software different?
- tpmx 6y agoBecause their fields are mature. Practitioner fundamentals haven't changed in decades, often not even in centuries.
- luckylion 6y agoAnd scope-limited in comparison.
- TwistedWeasel 6y agoHow do you define mature? Is it about stability? There are newer and more modern methods of construction and engineering and the field is always evolving. Maturity in those fields is about consistency and agreements of best practices enforced by standards and regulations. Software is not mature because it's not regulated. If you want software engineering to mature and stabilize, it needs more regulation.
- tpmx 6y agoYes, construction etc is evolving, but it's doing that as such a slow pace compared to software engineering.
- TwistedWeasel 6y agoAre you sure? Construction materials are evolving and changing every few years (engineered lumber, modern environmentally friendly methods, etc) whilst we still use base operating systems designed in the 60's for most of our services.
- tpmx 6y agoTake a look at a house built [100, 50, 25] years ago. Compare it to a house built today. Then do the same exercise with some piece of software.
- TwistedWeasel 6y agoyep, both are significantly different in many way, houses built 50 years ago have a lot of differences to modern houses. Software from 50 years ago, is also significantly different but the fundamentals of both are the same, foundations, walls, roof trusses, siding, filesystems, operating systems, processes, threads, data structures etc. We may use Go instead of C and we may use engineered lumber instead of Douglas Fir for door headers.
- tpmx 6y agoGo vs C: That's 50 years. Wooden house building fundementals: That's like 200-500 years.
- TwistedWeasel 6y agolast 50 years of change includes modern nail guns, engineered lumber, hurricane anchors, plywood roof sheathing, vapor barriers, and countless other differences in how homes are built and the tools we use to do it. There is nothing special about software, other industries also evolve and grow their methods and tools. We just change software with reckless abandon and little regard for the reasons we started down any given path in the first place.
- johnnyfaehell 6y agoChances of people dying from my web app is super slim. Chances of people dying because I bladly wired their house is and it caught fire is a lot higher. Chances of me dying while developing my web app is super slim. Chances of someone frying themselves with wiring something up when they don't know how is a lot higher.
- b20000 6y agoI will leave this right here for your education - https://www.bugsnag.com/blog/bug-day-ariane-5-disaster https://www.bugsnag.com/blog/bug-day-ariane-5-disaster
- henryfjordan 6y agoTo GP's point, nobody died in that disaster. A much better example would have been the Therac-25: https://en.wikipedia.org/wiki/Therac-25 https://en.wikipedia.org/wiki/Therac-25
- brlewis 6y agoThese two examples are interesting. They're both cases where what was being created was a system where software was an important component, as opposed to the software written by the vast majority of us where the hardware components of the system are always the same (monitor, keyboard, etc.) This is the same distinction in Diamond v Diehr for when software might be included in a patent. I always thought the US Supreme Court made a good decision there. Unfortunately they were later overruled by lower courts. (For legal experts out there about to correct me and say that lower courts can't overrule higher courts, I wish you were right.)
- b20000 6y agosorry, it doesn't matter
- bigwavedave 6y agoGP doesn't say it's never happened, just that the typical programmer isn't going to kill someone with a buggy password complexity validator. By and large, the standard programmer does not hold life and death in their hands when navigating callback hell.
- b20000 6y agoexactly - it is time for the computer science and software engineering professions to have trade orgs and unions so those who are qualified can practice the profession and get paid and respected like other professions that require years of college education.
- deleted 6y ago[deleted]
- _qulr 6y ago> plumbers, electricians, civil engineers, architects, structural engineers, etc. All these occupations have licensing requirements. These are almost exclusively local regulations, not US national requirements, and certainly not international. So even if there were licensing, whose jurisdiction applies? What if you have distributed software development teams?
- itake 6y agoThis is a solved problem per our tax laws. Just because you write code that runs on a server in another state, doesn't mean you pay the taxes in that state.
- _qulr 6y agoDifferent states have dramatically different taxes. Some states have no income taxes. So in one sense, it's a "solved problem", with the solution being that licensing requirements would be dramatically different based on locality, but in the sense that people want — a uniform standard for hiring software developers — it's not solved at all.
- itake 6y ago> but in the sense that people want — a uniform standard for hiring software developers — it's not solved at all. Exact same thing can be said about the hiring process in general. Taxes and employment legal contracts vary from state to state. I am sure employers would love a single contract, no matter where they hire an individual, but that is not currently the case.
- TwistedWeasel 6y agoIt's complicated so we should just not care?
- _qulr 6y agoI think "Why is software different?" is the wrong question. Why is software the same? Most professions don't need professional licensing, and it's not clear that the economy would be served well by adding licensing requirements.
- house9-2 6y ago> plumbers, electricians, civil engineers, architects, structural engineers, etc. All these occupations have licensing requirements. Why is software different? There are plenty of journeyman carpenters that do not have a license, this is not a problem as long as they work for a company that is licensed.
- baumandm 6y agoYou're making an argument in favor of software engineering licensing, just not that every individual involved needs to be licensed.
- nemo44x 6y agoAll these roles have certain code they have to work to. A plumber can't just go into a home and install something outside of code. Software is generally rather ephemeral and without a code to write or build to. We have "best practices". Yes, some software is built under engineering assumptions - airplane software, etc. NASA has a standard they write code to and software engineers are expected to work within these confines. Part of the code requires reviews of written software, etc. [1] [1] https://sma.nasa.gov/sma-disciplines/software-assurance/2019/08/30/nasa-software-engineering-requirements-now-in-effect https://sma.nasa.gov/sma-disciplines/software-assurance/2019...
- anon73044 6y ago>A plumber can't just go into a home and install something outside of code. That is....not true at all. A plumber/carpenter/electrician works to code under threat of losing their license. Additionally your building could be exempt from code for numerous reasons (grandfathered/historical, outside of city limits and no county building codes/etc.) Developers and Software Engineers don't have this threat.
- nemo44x 6y agoRight, if they continue to do things short of code (when required, etc) they'd lose their license. They have to work within the confines of the code, where applicable. Software engineers will certainly lose their job if they don't ship code to standards set by the company they work for. Someone writing code for an airplane is going to have a different type of standard than someone writing code for video game, however. Why would it make sense for a government agency to set a code for software? It literally makes no sense as different problems have different requirements.
- TwistedWeasel 6y agoLeft up to private enterprise they will set their standards to the lowest they can get away with to maximize profits and reduce the time to market.