> I've made sure that my code was secure
> has just always been embedded into my programming philosophy
> So their environment was broken to me.
> I've began to realize that I'm a much better programmer than all of them
Good code quality, and security, is something everyone needs a bit more of, but be careful not to fall into dogmatic thinking. They are paying you to do tasks the way they want them done. If you can show them a "better"[1] way they might take your advice, but you should never expect it. Programming is more than just a job skill to me, so I always have to remind myself about the line between "my code", built on my own time, and "their code" for which I am being paid to build/maintain.[2]
> I showed them OSWAP, and they have never heard of it.
> I mentioned MVC pattern, and the manager didn't know what that was.
This is common. Never hearing of something is not bad. No one can keep track of all the tools available, learn them well enough to use them, and still accomplish what they need to do. No matter how much time you spend trying to keep up, you won't.
Also, your coworkers, and manager, might already know what will and won't be approved. So, they are only informing themselves of things that are likely to be important to their tasks.
> I've began wondering if all work environments are like this.
No comment.
[1] There are many definitions of better. (Time, money, complexity, maintenance, ROI, etc.)
[2] Some managers / employers want you to mix the two concepts, but, in my experience, this is just encouragement to focus more attention on the tasks they are giving you. You need to draw a line.