Why you should never ask permission to clean up code.
never ask for permission for things you know are vital to your workI agree to an extent.  It can be easy to fool yourself about what constitutes good code -- in the sense of making a product better or work on it easier.  Sometimes bad code is better left as is.  Even working totally unconstrained, I prefer not to refactor something unless I have a pressing reason in mind.My rule of thumb is this: as a programmer and an employee, I am professionally bound to produce quality software efficiently.  If I know I can complete an assignment faster (or in equal time, but leaving behind a better code base) by rewriting something, building a tool, fixing something architectural . . . I will silently do it.  No point in asking permission.  It's in my charter.On the other hand, if I want to take a lot of time to rearchitect something -- an order of magnitude more than it would take to just do whatever it was that brought me there -- at that point, it's a strategic decision and management deserves to know about it.The way I see it, management has no right to require me to produce an unprofessional product in my day to day work.  And I have no right to force management to use engineering considerations only in strategic decisions.