Formal licensing could be about things that are language agnostic. How to properly use tests to guard against regressions, how to handle error states safely.
How do you design programs for critical systems that CANNOT fail, like pace makers? How do you guard against crashes? What sort of redundancy do you need in your software?
How do you best design error messages to tell an operator how to fix the issue? Especially in critical systems like a plane, how do you guard against that operator doing the wrong thing? I'm thinking of the DreamLiner incidents where the pilots' natural inclination was to grab the yoke and pull up, which unknowingly fought the autopilot and caused the plane to stall. My understanding was that the error message that triggered during those crashes was also extremely opaque and added further confusion in a life-and-death situation.
When do you have an ethical responsibility not to ship code? Just for physical safety? What about Dark Patterns? How do you recognize them and do you have an ethical responsibility to refuse implementation? Should your accreditation as an engineer rely on that refusal, giving you systemic external support when you do so?
None of that is impacted by what tech stack you are using. They all come down to generic logical and ethical reasoning.
Lastly, under certain circumstances, Civil engineers can be held personally liable for negligence when their bridge fails and people die. If we are going to call ourselves "engineers", we should bear the same responsibility. Obviously not every software developer needs to have such high standards, but that's why software engineer should mean something.
Why shouldn't we, as engineers, be entitled to a small percentage of the profits that are generated by our code? Why are the shareholders entitled to it instead?
I worked in Hollywood before becoming a programmer, and even as a low level worker, IATSE still got residuals from union shows that went to our healthcare and pension funds. My healthcare was 100% covered by that fund for a top-of-the-line plan, and I got contributions to both a pension AND a 401K that were ON TOP of my base pay rather than deducted from it.
Lastly, we were paid hourly, which means overtime, but also had a weekly minimum. Mine was 50 hours. So if I was asked to work at all during a week I was entitled to 50 hours of pay unless I chose to take days off myself.
Unions fucking rock and software engineers work in a field that is making historic profits off of our labor. We deserve a piece of that.