IMO what every programmer should know is how to do their job :)
IMO what every programmer should know is how to do their job :)
There are many successful companies that didn't do either of those things in their codebase.
Whether or not you consider the people who wrote it good programmers is I suppose up for debate, but objectively, they created code that achieved the stated business purpose.
My point being, I don't think there are any universal truths.
Commercial success is a very poor measure of code quality.
That's either a non-answer, or it's setting the bar awfully low.
Storing passwords unhashed may 'get the job done', but every programmer should know better.
Not every programmer has to deal with passwords, though, so the generality is it is limited.
A programmer who has spent his whole career writing computational fluid dynamics simulations doesn’t need to know anything about storing passwords, but probably would have an equally idiosyncratic idea of what all programmers should know.
In truth, though, we don't. And not "oh, a few good ones do, but the masses we pity and mock don't". All of us. The only difference is if we acknowledge it. We're trying (and that's why articles like this are so common!), and arguably we as an industry are making progress, but we don't yet have it figured out.