I joined this no-longer-a-startup company 3 months ago. They have a multi-million dollar investment. They hired me on a much higher price than considered normal for a person with my experience. However, I knew that it is run by mediocre engineers and that there would be chaos and spaghetti code.
I have mostly spent my time by doing little to no work. This was due to bad processes that they have set up and engineer management's tendency to flee when time comes to take tough decisions. I have been reminded time and again that I am an under-utilized resource, without any plan to actually put me to use.
I have tried to improve the situation by pointing out that the company's codebase is very unhealthy, and I proposed rewriting the application from scratch. When I was handed a big no, I also proposed making small and incremental changes which was more practical to them. However, my ideas were always dismissed or ignored.
I want to leave this organization, but at this point its very easy for them to brand me as an a**hole who hogged on the company's resources for three months and then left.
So I have 3 questions:
- How to put this in front of my boss? Should I really point out their inadequacies when leaving, further adding insult to their injury? Or should I take the easy way of not citing reason?
- Is there a moral responsibility on me to give back value to the company despite the poisonous environment, since I was aware at least of their mediocrity beforehand? Should I manipulate and deceive them for overall good of the company? For the salary I have drew so far, without contributing back the value. Do I owe it to them?
- Or do I owe them to slog on the spaghetti code, contribute by their rules, however retrograde it feels to me and let the architect inside me wait till the time is right.
I feel guilty for accepting this high-paying job and then leaving so soon, even though I knew beforehand that it would be bad. I am not sure if the company will actually lose anything by my departure since I have no real responsibilities and my effectiveness will be limited to that of a mediocre engineer given the circumstances. I can be much more productive in other companies that understands the value of good software design.