Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm planning on leaving my current job because we're locked into using Blub, with an enterprise Blub framework and a Blub-level web server, on mediocre shared hosting. My coworkers are friendly and my boss is an average small business owner - I want to leave entirely because of the technical reasons. I feel like being soaked in Blub is bad for my brain and making me a worse programmer.

When I leave, how can I explain this to my boss and coworkers? How can I phrase my complaints about Blub productively? What kind of warning can I and should I leave for my successor in documentation?

(trying to make sure I meet the standards)

share|improve this question

closed as off topic by Thomas Owens Apr 10 '12 at 19:24

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

107  
You can say “Java”, it’s OK. No need to self-censor. –  Konrad Rudolph Mar 31 '12 at 21:52
8  
"How do I quit my job due to a disagreement on how the work is done?" is not at all specific to the programming profession or on-topic here. Keep an eye out for The Workplace for general "how do I deal with my job" questions like this. –  user8 Mar 31 '12 at 22:25
23  
@mark I'd argue it is indeed programmer specific enough, given that "blub" specifically references paulgraham.com/avg.html which is part of our programming canon. It's also constructive because the author says he tried to meet the standards and explicitly references "phrase my complaints productively". –  Jeff Atwood Mar 31 '12 at 23:06
14  
@MarkTrapp This question is very much on topic. I have worked in many different fields (nuclear power, research, many forms of manual labor to name a few) and in none of them was it common for people to leave purely because of technology used. I know several people that have left because stack x or language y was introduced. –  ElGringoGrande Apr 1 '12 at 0:54
11  
@mike strongly disagree; this is about being a professional programmer and trying to exit while potentially urging the organization to adopt better practices along the way. See also codinghorror.com/blog/2006/09/… as for your example of chefs, this would be like a chef quitting because one particular brand of mixer or oven was used. Any tool can produce great software, right? Just like any whisk can beat cream.. –  Jeff Atwood Apr 1 '12 at 7:04
show 15 more comments

15 Answers

up vote 64 down vote accepted

I don't know anything about Blub itself, but I've been in a similar situation where there was something about my job that I think should be fixed, but don't want to burn bridges. Here are a few ideas that may help.

  1. Try to fix the issue. Explain to your boss that you think Blub is a bad decision for the health and growth of the company. Provide specific cases and instances where it's hurting the company (or where some other platform would help the company better). Suggest an alternative that you feel is superior and be ready to back it up with facts (remember - objective data). This will allow you to voice your concerns and gauge how your boss responds and how open he is to different technologies (or, how married he is to Blub). You may also gain some insight into why the company is using Blub and sticking with it. It will also give you a gauge of whether it's worth sticking out through it, if the company has decided to change technologies. (Note - this may depend on your boss. Obviously, this won't work if he's in love with it and thinks it's the future of technology.)

  2. Hold out until you get a job offer. You've dealt with it until now, so find a new job and wait to leave until you get an offer. This gives you an easy out - "I've been offered a position that better suits my career goals" (or some other more neutral line). Granted, this doesn't necessarily help your current company, but it's also not entirely up to you to fix the matter.

  3. Say you want to take your career in a different direction. Explain that you would prefer to work on a different platform and that Blub isn't your cup of tea. This allows you to say something along the lines of "I don't like it," without getting into the religious debate of code languages/platforms. As Paul said in his answer, it keeps the reasons for you leaving close to you and reduces the chance of people taking it personally.

  4. Make it clear that it's not the office environment. Make sure your boss and coworkers know that you enjoyed working with them. Offer to connect with them on LinkedIn if you haven't already. Try to keep in touch with them as part of your professional network.

As for your successor and documentation, simply make sure all the issues/quirks that you know of are documented somewhere, either in the code or in a wiki or some other structured documentation platform. Explain in comments why you did something a certain way and be matter-of-fact about it - "doing it this way because our version of Blub doesn't support Alternative Method X." If your successor is familiar with Blub and doesn't mind it, then they're not going to heed any kind of "stay away!" messages. Someone not familiar with it is probably going to think you're just one of those platform elitists and ignore overt messages, and someone who is familiar with Blub and doesn't like it, or is on the fence, will either already sway to your side after more experience, wouldn't have applied to the position, or would ignore your "stay away!" messages, anyway.

share|improve this answer
41  
+1 for waiting till you get another job. Doesn't matter what you are doing, you're infinitely more employable if you are currently in work! –  ZweiBlumen Mar 31 '12 at 18:35
1  
All great comments! –  MathAttack Mar 31 '12 at 22:41
    
Having just passed through #s 1-4 above, I can totally agree. My ex-company is in the process of moving from the language and technology stack that I have spent 10 years learning to the new 'hawt' (hot) stack. –  Larry Smithmier Mar 31 '12 at 22:42
1  
Answers 2-4 are spot on. I don't agree with #1. If the product is built on blurb the company is not about to change to superfoo just because that is what the cool kids are using. Unless there is a 'clean sheet' project about to start you'd just be wasting their time and yours. –  Jim In Texas Apr 1 '12 at 23:49
2  
@JimInTexas - I think #1 depends on a number of factors. It's entirely possible to change platforms, and I'm of the opinion that it should be done if there's enough objective evidence to support the assertion that technology X is bad for the health of the company. Whether it's useful in the asker's situation is up to the asker, since he knows his situation better, but I think it's still worth considering when you have an issue with a technology. –  Shauna Apr 2 '12 at 12:09
show 2 more comments

Just say that you feel that working with Blub is not compatible with the way you want to develop career-wise. This keeps the reason for leaving your current job close to yourself, limiting the possibility of people to take you leaving personally. Just stay calm and say that it was not the working environment, but that you and the work have grown apart. If they are the nice people you say they are, they will understand.

In addition, warning them that you feel blub is not the tool for them is all you can do. Spamming the docs with "blub sucks" is probably not going to work.

share|improve this answer
4  
+1 for honesty! –  user2567 Mar 31 '12 at 20:17
add comment

There is nothing wrong with saying "I am leaving/left my last position because I wanted to work with newer/more interesting/less crufty technology." You're a software developer! You're supposed to have strong opinions.

But I would prefer to hear you say you were running towards something than running away from something. "I really got excited about Flubber on the Stack Exchange network; it sounded more modern and fully featured than Blub, so I want to take my career in that direction."

share|improve this answer
3  
Thank you for the suggestion about presenting it as running towards something instead of away from something - I hadn't thought of that. –  Sean M Mar 31 '12 at 22:51
    
unless blub is COBOL or something. I'm pretty sure in certain cases you could argue that just about anything is a better option for your career. –  Kevin Apr 2 '12 at 0:23
    
The point is not so much to give a detailed explanation; it's to put a positive spin on what was (in truth) a negative experience. It is CRITICAL to keep the tone of job interviews on the sunny side. –  Scott Wilson Apr 2 '12 at 0:33
1  
@Kevin COBOL right now is a very good choice for your career. Just sayin'. –  jv42 Apr 2 '12 at 10:43
add comment

A lot of good comments above. A few things to add or highlight:

  1. Don't quit until you have the new job. You lose all your leverage.

  2. Document everything you do to ensure a smooth handover. Go above and beyond in training your replacement.

  3. Before and after the move, don't disparage anyone there or their decisions.

  4. If asked why you are leaving you can honestly say "to learn new things" and leave it at that.

Handled correctly, you could still get a good reference a few years down the line.

Good luck with this!

share|improve this answer
add comment

The key question is who owes whom what.

You sound like a fairly low level guy in a medium to large organization, in the learning phase of your career; and in that position, you owe your employer precisely nothing except two weeks notice. Be assured that they don't think they owe you any more either.

I'm not saying that if there is someone who actually will listen and cares about your reasons, you shouldn't talk at length - but don't kid yourself that you have any leverage to actually change things for the better as part of your exit activities.

share|improve this answer
1  
Seriously. Just find another job and leave. There really isn't anything more to it. –  Kevin Apr 2 '12 at 0:26
add comment

Leave on as much of a positive note as possible. Don't spin the story into a negative about Blub. Spin your exit story about this exciting new opportunity to expand your skills beyond Blub.

Then leave a written list of tasks in progress and the "potential" danger spots for your technical replacement. It is now their job to convince management (if they agree with you), not yours.

share|improve this answer
6  
+1 It's really hard not to go on in detail about Blurb as you leave but at the end of the day (and in hindsight) you'll probably realize that negative comments - about anything - will not do much good. It's good that you feel responsible but it's not your company and ultimately your responsibility finished when you leave. –  Michael Durrant Mar 31 '12 at 20:12
add comment

The Blub framework may still meet the business needs of the business owner.

I don't understand why you would expect the business owner to discard their investment in the existing (functioning) code base just because the language/framework does not mesh well with your brain.

It is far cheaper to replace you with someone who thinks that Blub is awesome.

I am not saying you shouldn't move on if Blub does not work for you, just don't confuse your feelings with the business' needs.

Update: "think" != data. I make a point of documenting productivity barriers and their time cost every day. The things that slip through the cracks now don't.

Example:

  • VPN not working (10:15am-10:35am : 20min);

  • build tool misconfigured (12:30pm-1:20pm = 50min);

  • etc.

Unless you have data about the productivity question, you just have an uninformed opinion.

Lastly, how are you defining "productivity". After all it may be more "productive" to not have to write the tests for the new code or to fix broken tests. (Yes, I had an engineering manager who believed this).

Unless you can make a data-driven case for a change, why should the business change?

share|improve this answer
    
+1 but this is the PoV of the business that is often blind. The problem is that it is hard/impossible to prove that they will increase their productivity switching to other technology/stack/whatever. Too often Enterprises indeed do not face enterprises and are ballasts for the progress; but being ballasts proved to be convenient e.g. working as IT consultant I should be glad that it takes me N days to do thing I could do in N/4 days with other technologies; others are glad since they have not to learn new things... forcing a change means also forcing collegues to learn or move... –  ShinTakezou Apr 1 '12 at 12:02
    
Well, I think there's a slam-dunk case that working in Blub and in the Blub framework is consuming far more employee-hours than it's worth, but I'm not an objective observer, which is why I asked this question. I don't expect the business owner to change things just because of my argument - indeed, I've already made up my mind to change jobs instead. As for the existing investment - see 'sunk costs fallacy.' Part of why I want to leave is that the existing code is not functioning - it keeps breaking and requiring us to put out fires. –  Sean M Apr 1 '12 at 20:36
    
+1 for suggesting to quantify how problems with blub cost you time and money. –  Paul Hiemstra Apr 2 '12 at 7:10
add comment

I quit my first job, because the company decided to move from Java to .NET. I simply told them that I invested a lot of effort into learning and mastering Java and there's no way that I would start learning .NET while there was a need for Java developers on the Job market. I did a mistake though. I told them this before I had a new job, so I had to spent some time home. There's nothing new in my story, you got great answers, but I wanted to emphasis two things: honesty, and having a new job already.

share|improve this answer
2  
Absolutely. Quitting without first having a job to go to is something to be reserved for when you hate your job and it is killing you to get up and go there every morning. –  Carson63000 Apr 2 '12 at 1:14
add comment

First you don't have to justify yourself when you quit a job, but it's generally what you should do to keep good professionnal relationships with your employer. Don't forget that he will probably be called by your new employer (most serious ones do it).

Telling that you leave because you think they are locked into a Blub may not be appropriate for two reasons, even if honesty is usually the best option in most situations:

  • First it may hurt them, in their feelings, and adopt a defensive position against you. It may makes things more difficult and you should always avoid to hurt other feelings as much as you can (I like to make the association here with Emotional Intelligence).

  • Secondly you may be wrong. Yes, they may have their own reasons for keeping those technologies. Very often, we don't understand management's choices because we don't have all the needed information to build our opinion.

The only way I found appropriate to leave a company is to tell them you want to do something that is more close with what you like to do. You can tell them you don't like the technology, instead of telling them they are wrong.

share|improve this answer
    
And if you really want to spare any hurt feelings, tell them that not only are you moving purely because it's to a tech that you personally want to pursue, but add that you probably would have left a long time ago if you hadn't enjoyed working with such a good team and in such a nice environment. –  Carson63000 Apr 2 '12 at 1:13
add comment

You can be pretty frank. Just because you don't like it doesn't mean it's the wrong choice for them, so don't expect them to change or slap their heads and go "Of course you are right, how could we have been so stupid!"

Just say. It isn't where I want to be technically, I've enjoyed working for you and with the team and wish you all the best. Then move on.

share|improve this answer
add comment

Short form: you tell them you are leaving in order to expand your experience and skills. As for your successor, you don't need to leave anything beyond whatever documentation/reports/memo you have produced.

Long form: Programming, unlike most professions, is in part defined by the tools one uses. Both managers and HR understand this (even those asking for 5-7 years of Go experience), neither will blink at hearing you want to expand your experience. That you want to work with a specific tool or simply to vary your experience will be taken as neither rejection or signs of unreliability. Everything else being equal, experience with more languages, frameworks, editors, IDEs is a plus - it gives you a yardstick for comparison, making your judgement more worthwhile.

You don't say whether you have tried to convince your current employer to switch tools or whether you even think it would be a good idea for them to do so. If you do and have, then your boss should already have everything your replacement needs if the decision is revisited, it's not your place to try to convince them to take up the cause in your place.

What you should be leaving for your replacement is as much documentation about how to do your job as you have available. If you feel that there is something you know about how to do the job with the current tools, that your replacement should not be expected to know or easily discover, then document it.

As for your complaints. You should not be mentioning them at all, they aren't relevant.

share|improve this answer
add comment

If this is a small company, and you're the tech expert, you should seriously consider having an honest (private) discussion with your boss about how Blub is hurting his business.

I'm not sure from your description if you would characterise yourself as the company's tech expert, and I realise that you said the company is "locked" to Blub. Perhaps this is not the correct discussion to have if there are other happier employees, or if there really is no alternative for the business model.

But, this seems to me to be pretty serious. In one way, it is hurting his business simply because you are not enjoying it and finding it unproductive and have come to the point that you want to leave. Losing a good employee is a pretty horrendous situation for a small business (you are far more crucial to them, than you would be at a large corporation).

I wouldn't be inclined to leave any warning for a successor - but do make sure to comment and document your code as well as possible to make it relatively easy for them to take over.

I disagree partially with other answers that you shouldn't leave your job until you have an alternative. If this job is really getting you down, it can make you sound resentful in interviews for new jobs, which is very unattractive to employers. (If that's the case, it might be better just to get a clean break) The advice to put a positive spin on things by looking forwards is very good advice.

share|improve this answer
4  
in this business, lots of companies have huge investment in obsolete software. It's a big problem, but it's not your problem, and don't let them convince you to bear the cross for them. –  ddyer Apr 1 '12 at 1:05
add comment

Lots of great answers here already, but I have experienced something similar trying to introduce better project management practices that eventually lead to me butting heads with everyone important. I decided to leave and had to consider what to say.

I decided to bite my tongue and leave on the most positive note possible, especially since a lot of the people I was clashing with were my friends. A couple of years later the company asked me to come back and manage the software development my way.

So I say leave on a positive note because it is not necessarily the end of the story.

share|improve this answer
add comment

As long as you are going to another job right away you can say "better opportunity etc." Now if you are leaving and don't have another job, the gap might be tough, but you should be able to explain it when asked that you wanted to re-train into something different and you needed the time to do that.

Try and enroll in something so you can put down the college or program as what you were doing during the gap.

You could also try and land some simple freelance stuff (or not) and then you can list as self-employed. Just be sure to have something to show for that.

Don't be afraid of the gap. My wife didn't work (outside the home) for 7 years and had two offers at the same time, while not as high paying as she would have liked, they were competitive technology offers.

share|improve this answer
add comment

This happens and the fact is we are living in a very "non-blub" world anymore. In addition due to the explosion in the non-blub technology field you have options so I'd say you're safe.

What I do caution, however, is fooling yourself into believing this is the primary reason, you're unhappy, and trying to make others believe that.

That's a very silly reason to quit much less an argument point with any hope of foreseeing a change.

Don't tell your boss that's the reason. Make it a standard blurb "Career move." And just know that if you are having difficulty now, don't expect to be happy elsewhere. There is always going to be some sort of annoying ridiculous issue programmers have with their jobs, because it's our jobs to point out problems and find solutions.

Good Luck!

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.