Hacker News new | ask | show | jobs
by zwkrt 2595 days ago
Imagine you replaced "software" with "civil" and everything you said remains true. I can design bridges in my home but I can't sell my services legally. Will someone buy one of my bridge designs and impelement it, especially in another country? Possibly! But that doesn't make me a civil engineer, and no engineering firm would hire me. Also, it is probably cheaper and easier for people in other countries to hire a local engineer than to use my services anyway.

Your base assumption that other countries than <your country> would not have regulation might be true at first, but probably not for long, and something is better than nothing.

I agree that people cannot be banned from writing software outright, but I think it is reasonable that in many situations it is reasonable that a company or agency is held to a standard that they only deploy software that has been produced through some set of engineering practices, similar to GAAP.

3 comments

> Imagine you replaced "software" with "civil" and everything you said remains true.

This is false. Bridges are large and have failure cases that managers and government officials understand.

Software is invisible and has failure cases that are completely incomprehensible.

Hiring a bridge designer from another country who is really keen on avoiding the background check will raise some eyebrows.

Hiring a nearly anonymous software engineer from who knows where is business as usual for many large companies.

Bridges have pretty limited use cases. There really isn't that many places to hide if your banned.

Software is in everything. Software is used by everyone. Right now it's big enough that people can make it through an entire career without actually knowing how to program (just make sure you move jobs every few years). It's only going to get bigger. Losing a license just means that it's time to job hop again. Maybe shift gears and become a process consultant. Losing a license in software is not a deterrent.

> something is better than nothing

We have a lot techniques to evaluate what a good way is to build a bridge. Right now with software the best thing we have is code smells. It just smells bad to me. We have no ability to objectively encode what makes code good or bad. We just "know it when we see it". Something can most definitely be MUCH worse than nothing.

> This is false. Bridges are large and have failure cases that managers and government officials understand.

They only think they understand.

> Software is invisible and has failure cases that are completely incomprehensible.

Which are becoming increasingly comprehensible with better tooling and data collection.

> Hiring a bridge designer from another country who is really keen on avoiding the background check will raise some eyebrows.

It does in software too; at least with serious companies.

> Hiring a nearly anonymous software engineer from who knows where is business as usual for many large companies.

These typically come through staffing companies because most large companies are awful at hiring technical talent. They have a long-term relationship with the staffing company and expect the staffing company to ensure the competency of the workers. I actually think licensing software developers would put an end to this; as it would give HR departments a relatively high-fidelity signal to sort the professionals from the hobbyists (by far the hardest thing for a non-technical person to do in hiring developers IMO).

> Maybe shift gears and become a process consultant. Losing a license in software is not a deterrent.

"Processes" are rapidly converging into off-the-shelf SaaS products, and the industry is actually starting to slow down quite a bit. Trust me, the Big 4 and similar management consulting firms are in for a world of hurt over the next 5 years as AWS, GCP and Azure start to hone in on the ERP systems and reference process space. Companies today would rather spend $1M and 2 months to implement a non-customized, off-the-shelf solution that can be maintained by cheap offshore resources than spend $30M and 2 years to build something custom that requires a dedicated support and maintenance team. Maybe there's some vendor selection and strategy up front, but all those companies that used to do process consulting just become system integrators (for guess what -- software!)

We have one big thing that shows the code has quality or lacks it. Number and severity of defects. You can normalize it by dividing over number of features supplied.

This data is generally fudged and hidden though by management in closed software products as well as being mislabeled.

And finally, users are not informed on how to report software issues and trained to normalize deviance - ignore problems and apply workaround.

Bridges and civil structures are permitted, with plans (and fees) filed with government offices. That's how licensing is enforced.

Imagine for a moment, a world in which every git commit requires a permit from the county planner.

Also: You will not get agreement on what the GAAP practices of software are. This industry isn't that mature.

> Also: You will not get agreement on what the GAAP practices of software are. This industry isn't that mature.

Hear, hear.

This point cannot be overstated enough. People have been building bridges for thousands of years. Software Engineering has only really been a thing for a few dozen years. We do not know what we're doing yet and it's going to be a very long time before we do.

Different domains almost definitely need different guidelines. Different ways of thinking might even need different guidelines. Anything we try to enforce now will be seen as embarrassingly dangerous in the future on the order of using radium for wrist watches.

> People have been building bridges for thousands of years. Software Engineering has only really been a thing for a few dozen years.

Also, the cost of building a bridge is many orders of magnitude higher than the cost of designing it. The cost of producing software, by contrast, is almost entirely the cost of designing it. This matters. Legal regimes that don't respect the laws of economics (which are, after all, just corollaries of the laws of physics) are bound to fail.

> Imagine for a moment, a world in which every git commit requires a permit from the county planner.

You are making a huge strawman.

So... if I buy the land I need, can I just build a bridge over a river or do I need some kind of special permit? (Small streams are obviously ok since that is done a lot.)
You might need city architect permit or equivalent and have to employ certified civil engineers by law.
If your government respects personal property you can generally do what you want on your own land without permits as long as you don't make a business out of it.