I've struggled to think of an appropriate way to phrase the question, so forgive the ambiguity of my title, but here's my problem:
I work in a department run by people without varied experience. Some have none, but provide direction regardless, others have experience managing only in this department and never anywhere else. The net result is that we do things in a very narrow way, exactly the way that my head of department wants, and never with discussion. As a developer with less commercial experience, I'm expected to follow the lead and do as I'm told. The problem is, very often I'm expected to do things that that I find to be either dangerouscan see will introduce bigger issues later, stupid or otherwise wrong for whatever reason. By dangerous, here, I mean potentially introducingexample security vulnerabilities. I can often justify a better waysway of doing things, but I am told "I want it this way..." and am expected to fall in line.
In theory, they've every right to be telling me how to do things, because it's their department, their rules. But I'm strongly inclined to refuse to just do what I'm told, particularly if I can justify better ways of achieving the same objective.
I've tried reason, I've tried education, nothing seems to work. How do I carry on working in a "better" way, but without being insubordinate?