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:

  1. 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?
  2. 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?
  3. 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.

  • @Lilienthal I wasn't condescending, I did it in good faith. Sorry if I have offended you. if you really want to know, as we say it; It happens only in India. Dec 1, 2015 at 11:47
  • @user44550 Fair enough, thanks for specifying. Always consider adding a location tag to a question if you think the location could be relevant to potential answers.
    – Lilienthal
    Dec 1, 2015 at 11:52
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – enderland
    Dec 1, 2015 at 12:36
  • @JoeStrazzere I really don't. But what I don't want is them advertising this story in front of my colleagues after I am gone. We live in a very small world, I feel. Dec 1, 2015 at 14:44

2 Answers 2


To coalesce down the comments into an answer, I see the situation as this:

  • You were paid very well to do a job, but you found the company was disorganised and you achieved little;
  • You feel you need to leave, but you feel somewhat guilty about being paid well and done nothing;
  • Because you feel guilty, you want to tell them about how poor the environment was. This might be to assuage your conscience, or because you are frustrated.

At this point now you have decided to leave. The best, most professional thing you can do is to hand in notice, perform a competent handover, and move on. Nothing you say or do is going to have any impact on the processes within the organisation, and all it will do is reflect badly on you.

Be the professional and don't make a fuss. Do the handover and leave at the end of your notice period. There is no value in doing anything else to you or to them.

To answer your second question:

Do I owe anything to the company?

No. You are leaving, and not getting fired, so apparently they are either happy with your work. Or, they haven't really paid attention to what you have or haven't done. Again, just walk away and leave everything in a professional state.

  • 2
    +1 Nailed it as usual Jane, but I still feel the question could use a massive edit to bring it properly on-topic and to be of assistance to future visitors.
    – Marv Mills
    Dec 1, 2015 at 11:23
  • @MarvMills Thanks! I agree the question needs some edits to keep it in line with the "Be Nice" policy and retain a modicum of professionalism.
    – Jane S
    Dec 1, 2015 at 11:26
  • @MarvMills You are welcome to edit. If you want me to edit it, give me pointers to what I can do to improve. Dec 1, 2015 at 12:21

You are a total asshole but you don't care right?

You knew what you were getting into. You knew their code sucked, practices sucked, and therefore very easy to deduce that tech management sucked. You knew exactly what you were jumping into.

So instead of you investing time in figuring out what the next steps are to make them incrementally better you have just spaced out for three months because you don't feel like reading and organizing shit.

I have found myself in a similar place as yours 2-3 times in my organization. It does suck having to use crappy code when there is free code that is better out there.

You need to talk to your management and formulate a plan on what things need to work and when. You can't just throw away the code and start over and have a dead product for 3-4 months. Holy crap why would they do this? Especially given it is you suggesting it - some guy who has never done crap for the company! You have built no trust within the company and rightly so. You are a "genius" but you have hard time thinking outside the box.

How you could tackle the issues:

  1. Start making small incremental changes for the better on the next projects you are working on. Try to get buy-in of other developers and gain trust to make better changes.

  2. Start a branch of same project. Even if you want to "start over" this should be done in unison with existing project until it gains enough steam to work in most cases.

You haven't even tried to do either. You are just bitching and complaining that everyone is doing everything wrong while you have actually done nothing. You are an asshole. So either leave as an asshole or change. If you change and can work your magic with their product you will probably have a very high position at the company - but this actually requires a lot of work.

  • 1
    That really pleases the internal judge in me. Some part of it makes sense. Dec 1, 2015 at 11:23
  • @user44550 - I understand where you are coming from. It is hard to learn something that is non-sense. But it is what you were hired to do. You can go away and not make noise and most people there might not think too much worse of you. You will know you were the asshole though. I am just speaking on how I would reflect it upon myself 1-2 years later. So the decision is - is dealing with this crappy situation better or knowing that you were an asshole for 3 months better?
    – blankip
    Dec 1, 2015 at 11:26
  • Situation is more complicated than that. When my request to rewrite from scratch was rejected, I gave suggestions to take small incremental steps by adding some useful libraries, although the ulterior motive was to get it rejected as well so that I can quit without remorse. That again was rejected citing company policy. They will not tolerate an open source library in the codebase. Your suggestion seems to be just do what is right without considering how well it will be received, which is not entirely wrong. Dec 1, 2015 at 11:40
  • @user44550 - Well you either choose to start your own side project using opensource and show them how much more efficient it is or to have them start using a different coding strategy internally. Often you will have to show outperformance of open source before it is adopted. You will get no headway talking about it - you will need to show a working demo that beats the others.
    – blankip
    Dec 1, 2015 at 12:50
  • can you meet me in a chatroom? Dec 1, 2015 at 13:10

Not the answer you're looking for? Browse other questions tagged .