Key Takeaways
I've worked at a ton of startups and very few are adept at avoiding needless archictecture astronaut type stuff. And it's very hard to change the ship's direction after the engineering team have convinced themselves it's all appropriate and necessary to have 100 microservices for their 5-man team and 10k users.
It all stems from title inflation, and disrespect for the title "Engineer". FAANG, and the whole Silicon Valley ecosystem seems to think that programming and Engineering are the same thing.
We're now at the point that Electrical, Mechanical, Chemical, Civil, and Engineering disciplines reached a few decades after they started. It's time to license Software Engineering. Programming can remain an unlicensed profession, as most of the workforce actually are programmers, not those who wear the Iron Ring[0].
Engineers make sure that things are safe and reliable. They do it at their own pace, and have final say so, as their professional reputation and liability is at stake for the results. They have oversight for projects, and make sure testing happens, and the resulting system, though it was constructed by others, is fit for purpose.
Engineering organizations don't fire people willy-nilly. They have longer time horizions that the next quarter's profit numbers meeting expectations.
It's time for everyone to either admit they aren't engineers, or put on their big boy pants and take the licensing tests and become actual Engineers. I'll remain a programmer. I'm not worthy of the Iron Ring.
[0] https://en.wikipedia.org/wiki/Engineer%27s_Ring
PS: If BitGrid actually works, and somehow makes me able to afford it, I'd love to go back to school and actually become an Engineer, even though I'm aged out of the workforce.
Any attempt at standardizing knowledge across the industry will inevitably lead to CS theory, and people are already complaining about Leetcode.
If you make stack-specific exams on the other hand, then the notion of programming skills being transferable goes out the window, and you simply wouldn’t be hired or allowed to work on another, even internally in your current employer.
There’s much that can be said about licensure exams inhibiting growth in the technology sector, too. Since a license (if it were to have weight) would necessarily come with regulation against the practice of unlicensed software developers, you’d raise the risk for companies and entrepreneurs to invest in building products or startups that are essentially just CRUD apps, potentially making such ventures even less profitable.
Yet, Electrical Engineering became a discipline. Electricians and Electrical Engineers separated into discrete career paths. We need to do the same thing with programming and Computer Software Engineering.
Sure, it's not going to be easy, but clearly it's time.
Let's face it. Can you claim that the code you wrote yesterday is free of errors? Most programmers cannot, yet everyone that studied calculus knows that the fundamental theorem of calculus is true without the need to test it again and again because mathematicians proved it. As if the development of logic in the 20th century was nothing, programmers keep thinking that logic is an innate skill that doesn't require focused study. The fact that programs become more incomprehensible instead of gaining more clarity as in math points to the anti-intellectual tendency of programmers and their general inability to think. Programmers have been vibe coding long before the introduction of AI agents.
Now, the "product manager", "product owner" and "scrum master" roles have been created, so that developers are more like interchangeable / replaceable cogs in the machine.
This all works well for quickly adding new buttons to existing apps, but its pretty useless for innovating new products or architectures, especially since inevitably no one person ends up with a good understanding over the overall product or architecture.
Not affiliated with Hacker News or Y Combinator. We simply enrich the public API with analytics.