I have been developing software for over 12 years now. I keep high standards when designing code from database normalization, to OOP, to learning and implementing the model view model pattern. Through my career, I have found that proper design always wins and allows an application to be extensible and thus flexible--it's an easy equation. Likewise, I have been very productive prior to starting my current job about three years ago.
For example, my first year out of college I re-engineered a call logging application, created a product ordering application that used SOAP, including the application's install, and worked on many new features within that company's major application. I had no roadblocks per se. However, I have worked at my current position for three years and I do not have a finished application to show for it.
The reasons for the slow development process are:
- we are under-staffed
- our database is poorly designed and was patched together due to time constraints and
- there is no project management process in place.
When I interviewed for this position, I was told that they value proper design and that they want to implement a project management process yet I have found they really don't desire either scenario. I have tried to be an instrument of change and recommend a path and my manager agrees but doesn't approve the change. What do I do? Is the only change that I can do is to change jobs? How do I become an agent of change?
I have spoken to an upper level manager and I get the same response: I understand and see the problem but it settles there. Now what?