It would be better if these fundamentals were spread out alongside code writing.
Programming is just writing code. It might or might not be complicated say you fine tune some assembly algorithm.
Developing would be next step up. As you need bigger view.
Software engineering is when you start to consider what would be good engineering and making decisions before just writing code.
Software architecturing is interdisciplinary with engineering and happens is larger systems.
I really think we have done lot of disservice, by grouping all of the things also under coding or programming.
Fuck Responsible disclosure, companies should have to bid on 0 days like everyone else.
On other side, if it is some piece of software immediate disclosure in public is only reasonable and prudent action. It allows every user to take necessary mitigation actions like taking their services and servers offline.