It's Time to License Software Engineering

Table of Contents
- Why I care
- Why do we have engineering licensure?
- Why license software engineers?
-
Objections
- Licensure doesn't make software better
- Licensure will get abused by political actors
- Software will get more expensive.
- How can engineers without a license find work?
- Can Suzy still write software?
- Is software free speech?
- Will some committee tell me how to do my job? (What language to use, where the curly braces go, etc.)
- What mechanisms will there be to obtain licensure?
- Isn't this overkill? What about open-source projects?
- What about versioning? Do I need a sign off for minor revisions and bugfixes?
- So my WordPress blog needs a sign off for each post?
- How would it be enforced?
- Conclusion
- Next...
- References
Society restricts who can design bridges or prescribe medicine, but it lets anyone market their software. AI accelerates the problem. It's in everyone's interest that states require licensure of software engineers.

AI has dramatically broadened who can create software.
Why I care
I almost became an engineer. From 2008, I spent three years pursuing a degree in computer engineering. I sat in engineering fundamentals and ethics courses with people who became engineers: mechanical, electrical, aerospace, nuclear, and others. We all planned to graduate, pass the FE exam, work a while, pass the PE exam, and become licensed professional engineers.
Then I switched to computer science. At the time, the thought of government adding red tape to my career path angered me. You don't even need a degree to become a software engineer. You just have to convince someone to hire you into that role.
Fast forward to 2025, and the barrier to entry is even lower. AI lets anyone ship software, and it's causing an avalanche of quality issues1. The classic engineering disciplines have spent centuries learning hard lessons about cost and quality. My profession could learn a thing or two from them.
Why do we have engineering licensure?
How the US got started
On March 12, 1928, the St. Francis dam near Los Angeles had stood for just under two years when it collapsed with almost no warning. Flood water surged down the San Francisquito Canyon, drowning over 400 people and causing extensive damage to man-made structures and the environment2.

The St. Francis Dam before its collapse

The St. Francis Dam after its collapse.
Just a small section of the wall remained, nicknamed "the tombstone".
The immediate cause was the material on which the dam rested essentially dissolved and eroded away when it became wet. The proximal cause was the dam's designer was not qualified to design dams, and being self-taught, made critical errors in judgement. The root cause was a public policy which permitted the design and construction of dams by unqualified people and without independent review.
Just over a year after the collapse, California enacted its Civil Engineers Act, making it the second US state to regulate licensure of engineers. By 1947, all states had created similar licensure laws for Civil, Mechanical, and Electrical engineers.
Licensure lifts quality
Market forces exert a downward pressure on cost and therefore on the quality of products and services. Licensure of professionals, combined with the standards they must follow, protects public welfare by exerting a counteracting upward force on quality.

Licensure sets a minimum bar for quality and upfront cost.
Read more about cost in Objections.
For example, the International Building Code specifies a minimum load a roof must be able to hold up. Without this requirement, structural engineers might cave when pressured to find ways to make a building cheaper.
Another way to look at it is, competing firms find themselves in a prisoner's dilemma where they all could cooperate and offer high quality goods. If any one of them defects by offering a lower price, then to maintain market share, all firms must follow suit. A Nash equilibrium emerges where nobody offers quality goods. Markets do segment; it's how Jones soda can exist in the same world as Coca Cola and Pepsi, but they all follow FDA standards for water quality.
Licensure lifts the Nash equilibrium to a higher level of quality, since no participant has the choice to cut certain costs.
Why license software engineers?
Software can Harm People
The collapse of a dam, bridge, or building is tragic when it costs lives. Bad medicine is also insidious: it promises a cure but delivers none or actively harms the patient.
Software is less tangible, but it can also cause widespread harm. For example:
- In 2024, the global Crowdstrike outage brought down 18,000 customers and businesses, including retail stores, banks, universities, airports, hospitals, and governments3.
- Tesla's self-driving cars marketed with "Autopilot" have a well-established record of killing occupants, pedestrians, and other drivers4.
Most of your line-of-business software isn't going to kill people, but software supply chains are complex: a library maintained by some guy in Nebraska5 can show up in surprisingly mission-critical situations.
Society wants it
Professional licensure ensures both adequate competence and a commitment to public good.
Physicians take countless exams and traditionally recite some derivative of the Hippocratic oath, promising to do no harm with their practice of medicine. Engineers take the FE exam and the PE exam. Both professions follow their respective code of ethics.
If software engineering had had any serious commitment to the ACM's 1999 code of ethics6, I think the world would look different today. The profession has exerted herculean efforts enabling these societal harms:
- surveilling and amassing personal information
- showing targeted ads for the highest bidder
- rent-seeking and encrapifying marketplaces
Nonpractitioners want it
By practitioners, I mean people who were already writing software for a living before LLMs or who could continue to do so if all LLMs were turned off.
AI lets anyone write software, even if they don't want to or are not qualified to.
Mr. Big Boss can now ask Suzy Secretary to write a bossware app that tracks remote employees' app use and keystrokes. As of 2025, Suzy can no longer say "I don't know how to do that" because with Claude Code and a 30 minute YouTube tutorial, she can. She has no code of ethics by which to say, "I won't do that". She also doesn't know that the AI-generated spyware transmits company data over the web in plaintext. Suzy shouldn't do this job, but she has no power to decline.
Mr. Big Boss could never ask Suzy to write him a pharmacy prescription. Why can he do that for software?
Practitioners want it
In the US, the titles "Professional/Licensed/Registered Engineer" are legally protected7. Without a license, it's unlawful to market oneself using them.
In the U.S., most employment is at-will, meaning you can leave or be fired at any time and for any reason, but many states and federal laws create exceptions that can make a termination unlawful* when an engineer is fired for refusing to break the law or for protecting public health and safety. Many statutes are derived from the NSPE Code of Ethics.
I personally witnessed a professional engineer successfully sue our former employer which fired whim when he wouldn't sign off on a medical device he didn't think was ready to treat patients.
* I am not a lawyer.
Customers want it
Licensure protects consumers, too. The threat of license revocation encourages responsible conduct.
If you want to build a house, your architect has to convince a licensed structural engineer to sign off on the mechanical soundness of the structure. If the house later collapses, you have legal recourse against the engineer.
Objections
Licensure doesn't make software better
It does improve outcomes for the existing professions, and in three ways:
- It ensures a minimum level of competence.
- It holds professionals accountable to a code of ethics.
- It provides leverage for professionals to push back on forces that compromise quality.
In a world where I hold a license to practice software engineering, I hold the keys to shipping legally. I have leverage when my project manager pushes back against unit tests and tech debt. They don't hold a license, so they can't ship without me.
Licensure will get abused by political actors
On the contrary, licensure would give our profession a backbone and a voice. There's no real unifying body for software engineers. For the vast majority of them, IEEE and ACM are irrelevant.
The AMA and NSPE respectively serve that role for physicians and engineers. Their age is measured in centuries, and they serve as nonpartisan beacons of ethics and professionalism.
Software will get more expensive.
The upfront cost will increase, but a long tail of costs stemming from quality issues will decrease.
What's cheaper: to build a dam right or let it collapse and kill 400 people?
What's cheaper: Adding adequate driver awareness detection to Teslas or a fatal accident rate that's twice the industry average?8
What costs more: Adding automated tests now or years of tech debt?
How can engineers without a license find work?
The same as unlicensed civil engineers: behind the name of a licensed PE (professional engineer) who signs off on their work.
Can Suzy still write software?
I think Suzy should be allowed to write her own apps and even share them with friends. To sell them or use them commercially, she needs a PE to sign off.
Like agriculture, you can grow your own tomatoes in your backyard, and you can bring a bag of them to share at work, but if you start selling them, the FDA might come visit.
When it comes to private activity, there are edge cases and nuance. It often comes down to scale and risk.
- You can DIY a shed but not a house.
- You can self-prescribe ibuprofen but not oxycodone.
Is software free speech?
In the US, yes9, but causing public harm or encroaching on others' rights is not protected. For example, DeCSS was ruled to be illegal10 even though it was free, noncommercial software.
Will some committee tell me how to do my job? (What language to use, where the curly braces go, etc.)
I think some recommendations are to be called for. These would provide some of that upward force on quality against the market's tendency to push it down.
There is already pressure e.g. from NIST to use safer, more secure languages, like Rust or C# instead of C or C++. To that I would add QA standards like automated testing. Just like a structure must undergo inspection, it simply should not be a business's choice to skip QA of software.
However, the software profession has a great deal of variety in the work it does and the tools it uses. It also changes very rapidly, since the field is extremely young compared to e.g. civil engineering. We shouldn't enforce things we aren't certain are beneficial.
What mechanisms will there be to obtain licensure?
Like the existing PE, there would be training and exams. There would be statements to sign, like a code of ethics, as well as continuing education.
Grandfathering and exemptions were common in the early days of the PE. These would be awarded based factors like education, length of career, and reputation.
Isn't this overkill? What about open-source projects?
What I'm proposing is only for commercial software, at the end of the supply chain. A professional software engineer signs off on all of the packages and dependencies used in a product. Nothing changes for the guy working for free in Nebraska.
One of the differences between e.g. structural and software engineering is with the former, there is a clear distinction between design and construction, i.e. between idea and tangible artifact. A structural engineer doesn't necessary even see the constructed building whose structural designs he approved. Software engineers handle both.
I considered conceding that we could require sign-off just for certain high-risk classes of software like automotive, medical, and aerospace or high-scale classes like social media, but that does not address the problem of everyday people selling or commercially deploying AI-generated software whose quality they aren't able to ensure.
What about versioning? Do I need a sign off for minor revisions and bugfixes?
Each public release of commercial software needs a sign off.
So my WordPress blog needs a sign off for each post?
That's publishing, not software, and requiring sign off on writing would encroach on free speech.
How would it be enforced?
Probably via courts. We should look to the existing engineering disciplines for guidance and precedent.
Conclusion
Consider supporting licensure of sofware engineering. My aim is to protect:
- society from a deluge of low-quality software of uncertain provenance.
- the craft and integrity of the profession from unethical demands.
- nonpractitioners of software engineering from being consigned by their employers to write software they aren't qualified to.
Next...
Subscribe to my email list below. I plan to write more.
References
- 5 Vibe Coding Failures That Prove AI Can't Replace Developers Yet
- Total Failure of St. Francis Dam Renewed Calls for Oversight
- 2024 CrowdStrike-related IT outages
- List of Tesla Autopilot crashes
- XKCD: Dependency
- The Software Engineering Code of Ethics and Professional Practice
- Regulation and licensure in engineering
- The 23 Most Dangerous Cars On The Road
- Bernstein v. United States
- Universal City Studios, Inc. v. Corley