Comment by Wurdan
I look forward to the day when "good code" becomes as obvious as the best practices in some other engineering disciplines.
I like the Practical Engineering YT channel and one thing I always find interesting is learning about all the research and guidance that exists for things I never thought of. Like there are 400 page documents on how to implement drainage in dams based on decades of experience and post-mortem investigations when things went wrong.
But it feels like every time I'm involved in a software project, we're starting almost from scratch and just incrementing towards an unknown future which is "good enough". Even if you have a team of experienced developers then the Best Practices at the start of the project are not what they were 2 years prior. The tools that they used on their past projects have evolved (or been deprecated). Or maybe they're being asked to do a bunch of data engineering where they previously did full stack Web development, because org structures are fluid and many IT leaders feel that good engineers can solve any problem with code (ignoring the idea of specialisation).
This is not to disagree with your point, but more to say that a lot of the infrastructure and professional norms around classical engineering disciplines just aren't there (yet) for developers.
> infrastructure and professional norms around classical engineering disciplines just aren't there (yet) for developers.
I honestly doubt it will ever get there. Our profession pretty much materialized over night in comparison to other disciplines, and in a rapidly evolving environment, with a much broader application. Only so many bridges/dams/buildings are built in a given time frame and have such incredible capital costs, and human life costs if they get it wrong. It makes sense to carefully curate who and how those things get built. The vast majority of software on the other hand, unless it is for medical/construction/factory equipment that can kill people, is usually super low stakes. And with the democratization of programming in general, even your VBA-curious business analyst can do it in their spreadsheet. Sure I can do the pro se thing in court (and lose my life/freedom), read webmd and treat my own cancer (and die), build my own dam (and flood my neighborhood), but we gatekeep those professions because of the dire consequences of fucking it up. Until software more broadly has those kinds of consequences, there will be no licensure.