The tech industry brought this on themselves. They acted like the Wild West, and now the pendulum swings the other way. Because the legislators are uneducated about technology and only read bad things in the press.
Software engineers are professionals and they should have ethics exams, a board, and licenses like other professions. Since companies don’t have any incentive to do it by themselves, a board for software engineers will help. The board will be able to represent all software engineers at the legislature level and not act as lobbyist for one particular company.
I'm unconvinced that software development should have the same level of licensing as e.g. engineering. Software isn't the same as traditional mechanical/structural/electrical etc engineering - it's a faster-moving area, and most of the time software is not safety-critical and has only limited societal impact in case of failure. It's also a lot easier for newcomers to get started in, and I don't want that to change.
But I definitely think there's some role for professional bodies, with ethical codes, certifications, PD and all that, which programmers have traditionally resisted.
Unfortunately, the existing professional bodies are not that. The Australian Computer Society, to give one example, is more representative of corporate IT executives than of programmers, and I don't know anyone who is a member apart from those whose employers pay for it.
I have some friends who studied the Masters of Software Engineering at the University of Melbourne (an Australian university), a course accredited by EUR-Inf (http://www.eqanie.eu/pages/quality-label.php) and the Washington Accord (https://en.wikipedia.org/wiki/Washington_Accord), which allows graduates to more legitimately refer to themselves as "engineers" in some countries. A huge portion of the course was dedicated to essentially just teaching waterfall: giant UML diagrams (with mandatory 90s style OO) and 50-100 page reports. Given how disconnected this is from what's considered modern software development best practices, I think in practice the spread of licensing would only hold the field back (unless it's somehow completely disconnected from the bodies responsible for traditional engineering licensing).
As a somewhat contrary opinion, personally I think that waterfall and UML are unfairly maligned most of the time.
Waterfall can be an entirely valid management approach. If you're working on a system that is too complex or ill-defined to be documented, maybe find someone who is better at systems design than you[1] or re-think the system boundaries and try to narrow its scope.
Agile & co are just as difficult to pull off correctly if you have poor systems culture in your organization.
[1] The impersonal you; I don't mean this as an attack
Yep, this is exactly my problem - I want higher standards across the industry, but I want it to be about substance, not merely additional process and bureaucracy, and I want training to not be so disconnected from real world practice.
How much would such a licensing system have to increase software engineers' ethics to compensate for decreasing software engineers' software development competence?
> Software engineers are professionals and they should have ethics exams, a board, and licenses like other professions.
We never will be a true profession until we have those things. Calling ourselves professionals now, or pretending like we are comparable in credibility to something like a civil engineer or an architect is just jerking each other off.
Software engineers are professionals and they should have ethics exams, a board, and licenses like other professions. Since companies don’t have any incentive to do it by themselves, a board for software engineers will help. The board will be able to represent all software engineers at the legislature level and not act as lobbyist for one particular company.
But for now, we reap what we sow.