15 ms·
Why some of the best developers keep quitting
- bberrry 9y agoI definitely try to take the mantra "never be the smartest person in the room" to heart. It has been a fairly decent indicator of how enjoyable I've found working those particular roles.
- kevindqc 9y agoHow do you know when taking a job if you will be working with smart or dumb people? I'm not having good luck and want to work with smart people...
- bberrry 9y agoYou can't know that reliably, but the recruitment process typically involves meeting the team you are being considered for, which is at least something. You do however have excellent intel on your current situation, telling you it's time to move on. Perhaps I should re-phrase it to "most knowledgable person in the room", since there will always be a lot of new things to learn when switching jobs.
- hkon 9y agoTechnical interview is a good place to start gathering intel. Flip it and ask them out about stuff you know. Are they curious, are they knowledgeable. Curiosity is usually a great indicator.
- hashmal 9y agoEmployers have the same concerns for their potential hires, that's why there are interview processes after all. Leverage these interviews to ask the right questions. They may get surprised when you turn the table around, just remind them that interviews go both ways.
- wesleyjconnor 9y agoThis is the reason im in the process of leaving my current job, after 3 years here I find im one of the most experienced in the company with no one to turn to when bad things happen. If I want to learn and grow as a developer I dont want to be the most experienced person in the room
- CM30 9y agoI don't think it's always good to be the smartest in the room. Instead, I'd say you want a job where you're the smartest and a job where you're the dumbest at different points in your career. That's because while being the dumbest lets you learn from people, it can also breed complacency. You've always got someone better to pass the buck to. You can easily end up relying on better coders to do the hard jobs, and not learn new stuff as a result. Being the smartest means the buck stops with you. You need to learn anything you don't understand, or the site never gets done at all. It can be a big learning experience in its own way. So my recommendation would be to have at least one job where you're the dumbest and least one where you're the smartest. They're two different situations experts need to be able to cope with.
- rarec 9y agoIt's rare to also see these articles point out the immense pay discrepancy that can occur. Companies seem to want loyalty but they don't want to give it. This leads to the merc approach of just selling to the highest bidder.
- fweespeech 9y agoTo be honest (at least in my experience) if you are really worth $X as a developer, you can generally get your current employer to give you $X if you are proactive about it. Quitting generally has more to do with: A) "You (the employer) Waited Until The Exit Interview To Ask What’s Wrong" B) "You (the employee) Waited Until The Exit Interview To Convey What's Wrong" Leaving my last job, I told them what I wanted 1-2 years before I actually left (for more money, but that wasn't the primary cause). The CEO basically told me in the exit interview if it was about money, he'd give me another 30% to get me to stay (and they had countered with that before, back when I told them what I needed to stay long term). Money isn't necessarily the cause. Its the lack of willingness to communicate and meet the other person's needs.
- spraak 9y agoI dunno. I work for a company based in the UK, which seems to have much lower pay than the US. I am paid the same as other senior developers at the company, yet my salary by comparison to US standards is quite low ($70k and no benefits since I'm technically a contractor). Otherwise the company is really amazing, so I'm torn.
- fweespeech 9y agoExpecting countries to match salaries an ocean apart is...unwise. Countries have very different economic situations.
- spraak 9y agoI understand that, but it still hurts.
- malux85 9y agoAlso - let the developers choose the work. We have a big todo list on the wall, and when a developer needs work, they can choose from the list. If a developer comes to me with a new idea, and it sounds viable, then I give them a bonus based on how well it executes. Everyone is incentivised and motivated to come up with new exciting projects. Smart developers want to create, so set them free! Autonomy, mastery, purpose = productive and happy
- BurningFrog 9y agoHow do you handle boring unglamorous but important tasks?
- vvanders 9y agoEnthusiastic(and authentic) recognition. Everyone knows those tasks suck but you can still use it as an opportunity to re-enforce how critical they can be and give a big kudos for whoever rolled up their sleeves and dived in. Another nice upside of this approach is it helps re-enforce a culture of doing the right thing because we ship and don't just write code.
- ethbro 9y agoI think group recognition works excellently. Especially in terms of ensuring folks who didn't choose the ugly tasks recognize that they won't have to do them now thanks to John / Jane.
- mercutio2 9y agoMany people, especially developers, specifically hate group recognition. People who like group recognition are the easiest to support (if they’re actually good), but sadly, these folks are the least likely to actually enjoy maintenance work; enjoying group approval correlates with a desire to work on the Big Cool Sexy New, which maintenance work decidedly is not. You have to know your people, and give them support that motivates them. But that takes (gasp!) good managers.
- JSONwebtoken 9y agoSo it's not because they're following through with their threats to quit if your workplace isn't converted into a safe space?
- acconrad 9y agoNone of these 4 reasons (TD;LR: you waited until the exit interview, you assume mentors want to manage, you assume the natural ascension of developers is management and not higher-level IC roles, you aren't supporting them and their career) are why they quit. People quit because the modern, zero-loyalty, everyone-for-hire company does not provide a long term strategy for providing intrinsic motivation (autonomy, mastery, purpose); they don't want to pay for retention and therefore don't provide perks for retention. Until this changes, it should never surprise a manager why churn is high and average tenure is less than 2 years. If you are a manager (especially middle management - meaning you don't have the scope to make massive, company-wide cultural changes), it's best to look at your directs as someone to help them advance for their next job. I know that sounds counterintuitive, but if you lead with transparency on the landscape, you build authenticity and trust with your directs, which will go much further for your relationship while you are working together.
- AceJohnny2 9y ago> it's best to look at your directs as someone to help them advance for their next job. I'm happy to say this is my manager's position. I joined this team nearly 2 years ago mainly on the strength of a great discussion with him during the interview process, and our team is clearly excellent thanks to him, with significant investment in growth, responsibility and empowerment (I know they're buzzwords but ick, I don't know how better to say it). (Just want to stem the tide of inevitable gripes that are going to show up)
- acconrad 9y agoFunny how if you embrace it, it actually helps retention :)
- oddlyaromatic 9y agoI feel this way about my boss, I have stayed a long time after it does not make financial sense because she A) takes my ideas seriously even if she doesn't see the end game. Just says go for it and see what happens. B) comes up with trainings and stuff that match my role that she can send me on. C) holds me to a high standard without being a jerk about it. I will be bummed to leave and stop learning from this person's example. I'm taking a hit financially but I've come a really long way. So I'm being reaaaal slow in the job hunt. I know when I'm in a good work environment, and I might not find that. At the next job. As a manager myself, I will go out of my way to retain a good employee. Our wages are low (nonprofit) but we can be very flexible to the needs of an employee. Diligent, dedicated people who care about doing a good job are worth their weight in gold.
- swframe2 9y agoEmployees should pick a path that makes them happy no matter where they work. If given grunt work then build an automated tool instead. Ask your manager to let you work on something super interesting that is related to the company's core business for at least 20% of your time. Identify your most talented coworkers and make them apart of your social network long term. Usually they end as a VP/CTO/CEO and it is much easier to follow them than to get to the top on your own. Flat out just ask the VP of whatever group you like lead one day to mentor you. Keep track of how your company/group might fail and when you're sure it is too late to save it, change to another position that is trending better. Don't bail until you've gotten everything you can from your current company. Do your job so you can describe it in your next interview as an example of why they should hire you.
- wetpaws 9y agoCompany is not your mom, it's a agent of a trade on a job market. If it can demand something from you, then you can do the same. In fact, not only is your job to provide company with a product of your labor, but it also is a job of the management to provide you what you want and need (interesting tasks, a path for long-term development). Let me repeat again, it's not a privilege to ask for this, they HAVE to do this.
- bleair 9y agoI'm reading this and I just can't help but laugh. Let's say a company decides to do a "stay working here interview" and then the developer points out the things they would like to work on and the ideas they want to develop - things that they are interested in and excited. These ideas and work projects are going to be prevented because the organizational flaws are inherent in the company and pretty much unsolvable... if the company wasn't structurally awful they would have found a way to make the projects happen.
- humanrebar 9y agoTheoretically it could uncover where some managers are undervaluing good ideas or good technical leadership. I don't imagine people up the chai hear when good ideas are back-burnered too long or technical debt is ignored.
- partycoder 9y agoAnd sometimes there's not even an exit interview. I left a job voluntarily and they sent me an online quiz.
- tropshop 9y agoWhat do hyper-productive teams look like these days? I've always been part of small teams, with only a few true workhorses, joined by other filler bodies. Productivity was mostly a mystery to management. I do not understand team sizes of 50+ for some web app product. The formula only requires a few (3) workhorses that make up a collaboration of skills in product design and engineering, and finding ways to keep them curious. Add a junior position if a workhorse is keen on mentorship. Why take on such high risk with a large team?
- eikenberry 9y agoIt is the same formula... they just have a lot more filler bodies. These large team sizes are at companies that decided to fix the issue of finding good people by throwing money at the problem. If you hire enough people you're bound to get a few competent ones.
- user5994461 9y agoBelieve it or not, there are large teams with a vast majority of competent people.
- pm 9y agoAgreed, communication overhead starts to suck productivity out and areas start siloing off. I think anywhere between 3-5 is a sweet spot.
- majormajor 9y agoMy view is that team size should scale with the number of parallelizable features your company wants you to do. If you come to me with one or two at a time, I'm going to want a team of 4, maybe 5 max, people - I don't want more than 3 people swarming on many features, the communication and coordination overhead becomes increasingly high. But if you can give me three to five distinctive things to work on (even if they're in the same codebase) I can find informal "subteams" (with allocation changing as the features change) within the team to own those different areas, and scale up to double digits or more, as they only have to coordinate with the other features at the edges. But you still gotta pay off your tech debt or it all goes to hell quickly and then you're hiring like mad because changing anything is a herculean task and management is like "just hire more people and get it done faster!"
- s73ver 9y agoWhile most of those boil down to the most common reason: Crappy management, I'm not seeing the second most common reason: Crappy pay (which is just another way that Crappy management presents itself).
- user5994461 9y agoAnd all of that falls under Crappy Environment.
- loco5niner 9y ago...you moved to an open office plan...
- bassman9000 9y agounderrated. But seriously, open office is the devil incarnate. I don't see how it can foster communication, unless you think communication is to distract some people, so some other people can look like they're doing something.
- thomk 9y ago“the number-one reason technical people quit is because they don’t have the option to advance without going into management.” Then it goes on to explain that you should put them into management.
- Sleeep 9y agoA lot of people (myself included) are very unhappy in management
- throwaway5752 9y agoTwo really obvious reason that never seem to get discussed in articles like this: 1. Usually if you've demonstrated success for two years, you can move upwards more rapidly switching companies (up to a point). 2. You've gotten past your vesting cliff, and - particularly with early stage companies - you want to diversify your ISO holdings in the hope of getting a 100xer.
- user5994461 9y ago1. Less than a year if you are at the beginning of your career in one of the tech hub.
- throwaway5752 9y agoI'd consider a string of < 1 year positions a red flag when hiring. I think there's an element of courtesy and maturity in staying 2 years unless there are reasonable circumstances why it's not possible. As a hiring manager I want to make sure that my time and effort recruiting are not wasted. Same for training and development of subject matter expertise. Obviously I need to reciprocate in compensation/learning opportunities.
- tensor 9y agoWe automatically exclude anyone who has a string of positions they've kept for only a year or less. If someone can't show that they stay at least two years then it's not worth it to us to bother bringing them up to speed on our code base. As you say, there can be exceptions, but it's generally a big red flag and a sign that someone is overpaid and arrogant to boot.
- user5994461 9y agoIf only projects were 2 years long...
- anonacct37 9y agoThis is wrong wrong wrong. Here's why most developers keep quitting: it's because for them the grass really is always greener on the other side. Usually by about 20%. I can only assume that right now the best developers are vastly underpaid relative to their worth. Why? Because it turns out every time they get annoyed with their current company they can send out some feelers and get a 20% raise. Most people can't do that. Most teachers can't just quit and get a 20% raise yearly. Do this a few times and ultimately you realize that your intrinsic value didn't really increase 1.2^3 (72%) over the last 3 jobs, it's just that companies were always willing to pay more if they needed to, but (if you were being honest about current salary) only in increments of 20%. If they were willing to pay more, you were worth it. There are very very few companies that exist right now that give you crappy work but top notch comp for that work. For those companies, there is not a "huge retention problem", it's just a normal-sized retention problem where in addition to paying their developers based on value they also try to ensure they get to mix things up a bit and enjoy a conference or two. Most companies don't want to pay for retention. It's pretty sad that most companies can't make staying at their current company more attractive than the risk of starting a new job with a team/company that's unknown.
- deleted 9y ago[deleted]
- stcredzero 9y agoMost companies don't want to pay for retention. I'll venture to say this: Not every project knows how to produce long term value, and not every shop is a good long term steward of value. This is a big factor in retention, in part because it's correlated with meaningful work.
- dlwdlw 9y agoI have a theory that most people in the US are overpaid. However the overpayment is a strategy by management so that they themselves can be even more overpaid. This can be afforded because the overpaid people are locked into middle class life scripts driving up cost of living (houses) so that they are still reliant on the jobs. It's potential "fuck u" money but isn't because of the attractive force of a domain and resistance to change. (ironically the same arguments some techies deride locals for for not moving some place cheaper) There is excessive profit taking at all levels including the IC level, however market dynamics actually create greater and greater differences in wealth despite the trickle down.
- mcguire 9y ago"Jason Cole: “If you have someone saying, ‘I’m bored’ and you don’t do something about it, expect them to leave for a place where they won’t be bored.”" Ah, if it were only that easy. You fight your way through a half-dozen interviews, get an offer, negotiate until you just want to lay down and die, make it through the six-month ramp-up for the new environment, and then you're bored again. Lather, rinse, repeat, until you realize that laying on the sofa in your underoos is more satisfying than the bestest employer.
- Taylor_OD 9y agoI left my last job because I was bored. All I really want is a challenge to tackle and the flexibly/trust that I will tackle it in my own way.
- strictnein 9y agoExact position I'm in right now. I've conveyed this to my boss, starting a year ago, but I think he realized that we just don't have anything challenging to work on. I'm interviewing for two jobs now.
- mcguire 9y agoDo you really believe that the grass will be greener in the other cubicle?
- strictnein 9y agoI've been doing this for almost 15 years now, so I've switched jobs enough to know that it's not always, but there's enough indicators out there and reasons for it to be. Both positions I'm interviewing for also move me into the field I want to be in.
- Taylor_OD 9y agoGenerally at least the first 6 months to a year will be interesting and a learning experience.
- ghthor 9y agoI quit when I get sick of what ever hierarchy I've been implanted in refuses to flatten after consistent attempts (overt or subvert) by myself to instigate positive change. My life is governed by a set of rules inspired from daoism and taijiquan. First and foremost is "Make good change"(The secret trick is to smile, from you heart). If the authoritarianism is standing in the way of this, it's time to move on.
- bjornsteffanson 9y ago> My life is governed by a set of rules inspired from daoism and taijiquan. First and foremost is "Make good change"(The secret trick is to smile, from you heart) Can you elaborate?
- ghthor 9y agoMake good change is about making small steps of progress all the time. In the context of my employer, if they are hindering or ignoring my attempts to make the workspace efficent, healthier and more productive then it's time to leave.
- perpetualcrayon 9y agoAlso, some companies haven't bought in to the whole "technology" thing just yet. I've left positions solely because I knew that if I stayed there for too long I would be completely out of touch with what the modern world is doing to fulfill their technology needs. I can't imagine I'd make the same decision had the company's code base not been worthy of consideration for an exhibit in a museum.
- nilkn 9y agoA few other reasons (all that I've seen in some form in the real world): * Insufficient raises. This is by far the most common reason, but it's been discussed in this thread well already so there's no need for me to dive into details here. * Over-rewarding of managers and under-rewarding of developers. Very rarely are the management tracks and technical tracks actually equivalent. For instance, managers are granted extra power in the organization and can often grant themselves special perks like private offices. * In the same vein, under-investing in developer workspaces. Toss me at random into a chaotic open floorplan and you're going to get very little loyalty from me. Show me that you care and are willing to do the best you can to provide me with a productive workspace and I might think twice about leaving, because I don't want to give up an employer who cares for another who'll just toss me into another open playpen. * Shoehorning someone into a single role or project for years on end. Almost nobody wants to work on the exact same thing for more than a few years unless it's genuinely super interesting. And your projects are probably not super interesting.
- shandor 9y ago> Almost nobody wants to work on the exact same thing for more than a few years unless it's genuinely super interesting That's a really, really tough problem actually. Businesses naturally want people to work on things that they are already very good at, to keep productivity high. This is especially important in software consulting houses that churn out apps and whatnot without their own products, because their whole business scales only by the factor between the hourly price customers will pay for their work and the salary the developers are getting for that said work. Which is not to say that I wouldn't agree with your point. It's just that I can also see how painfully expensive not going that route could (i.e. shoehorning) become for such a company, so I'm kind of sympathetic to their apparent reasoning behind it.
- nilkn 9y agoI agree with you, but at some point you're going to have turnover if you don't provide employees with internal flexibility and mobility. That means you're doing to be dealing with the painful process of retraining new folks for static roles either way. My viewpoint is that, if you're going to go through that process anyway, you might as well try to retain your proven talent at the same time. I did put it on the bottom of my list though because I think lots of folks will actually tolerate being shoehorned if the employer doesn't make any of the other mistakes listed.
- halfnibble 9y agoI thought all developers quit their jobs with the hope that maybe then recruiters would stop sending them unsolicited offers of huge pay increases and unlimited vacation days.
- kerkeslager 9y agoCan we start getting warnings when sites pop up obnoxious ads? We get PDF warnings and that would have been much less irritating than this one which seized my screen and froze my phone.
- nippples 9y ago> You Waited Until The Exit Interview To Ask What’s Wrong Also: You Fired The Employee When He Told You What's Wrong
- toomanybeersies 9y ago> You Waited Until The Exit Interview To Ask What’s Wrong For sure that's what's happened with me. We are a small company of ~10 people. We're meant to have a review with the CEO every 3 months, it's been over 6 months since I've had one, despite my constant reminders to the CEO, he keeps fobbing me off. He's also managed to dodge giving my a payrise, despite having worked in total for 15 months, and still having the same pay that I did when I started as an intern. It took me until about 3 months ago to realise I was getting fucked hard.
- bookmarkacc 9y agoSounds like its time to switch companies. If you are being dodged by the CEO like this you are unlikely to be a benefactor of goodwill in the future
- toomanybeersies 9y agoAlready on that, I'm handing in my notice in 3 weeks.
- paul6987 9y agoI quit mine 120k job because Im not dealing with any disrespect and or unfairness! For 3 months I tried to work out a situation with a co-worker but it was a constant fight with this jerk. Tried to get managements help, but no help or concern was provided. There's too much opportunity to deal with any B.S. no matter the money you are paying me...ok id deal with some if it paid $250k and the govt took zero.
- mk89 9y agoMy opinion after years of work is quite simple. I am disappointed by the way software is developed and by the people who contribute to it (leaders managers and anyone involved). When I was a teenager and I was eager to learn computer science and one day to work for a "cool" company doing good stuff I didn't focus on the "human" side of it. Big mistake. I should have already known that working with computers doesn't actually mean working with computers only. It involves 70% of human interactions and somewhat 30% of development. Which would be fine, if teams were always on the same wave. However group dynamics play an essential role here. Then there is the thing about the company's structure. Some are more or less hierarchical. However not everyone allows you to implement some ideas, as they don't fit the business. Then there are people who are simply not capable of managing, and I have to say that a lot boils down to this, not because it's easy to blame the management when you are at a bottom layer, but because it's difficult to be a good one - a manager. Lying, witholding information, lack of communication, faking the cool manager just to show the atmosphere is open etc., how many should I still count? So, the role of sw dev has to deal not only with the fact that it's not anymore about writing algorithms/data structure/rewriting the OS from scratch (which are super cool things to do), but ... also to deal with some incompetent people who under normal circumstances would not do certain things, but in the real world they are pushed from all sides and therefore behave quite bad. This is the reality I have seen so far, just because people don't take their own role seriously, tend to delegate as much as they can, etc. A lot like politics where nobody is really to blame, which creates a lot of frustration and people change "flags" quickly.
- deleted 9y ago[deleted]
- mnm1 9y agoAlso: not getting timely raises. Sometimes even after asking. I mean seriously, why wouldn't they quit? And rightfully so. If an employer can't be bothered to keep up with compensation for a few years, the developer is actually now making significantly less than in their first year while undoubtedly having much more responsibility. That's essentially a pay cut. So yeah, if you're an employer out there and you think no raise or a 1-2% raise a year will cut it, you deserve to lose your best developers.
- 0xbear 9y agoI don't know if I'm the "best", but I quit when I'm bored. That usually happens every 2.5-3 years. Money bump that comes with the new job is nice to have, but not the main reason why I leave. They offer more, I take it.
- erikb 9y agoWhy is money not discussed in this article? Yes you need to get raises >>3% to keep the best. You need a fast-lane for talent, in management as well as dev. If you don't have good people stay for a short time to get their next raise elsewhere.
- gerbilly 9y agoI think the number one reason developers quit is to outrun their mistakes. Lots of companies have stories about a few 'genius' developers who wrote the core of a system, and then left. That's because it's more fun to develop something from scratch, than to deal with the maintenance of that system later on. Rather than stick around and attend bug tracking meetings that go on forever, many of us quit to move on to the next cool project.
- ihsw2 9y agoI have a hard time taking this reasoning seriously because the most likely rationale behind quick/dirty solutions is that there was a business need (ie: meeting deadline/high quality/low cost, pick two). Well-designed systems may eventually grow into something monstrously unpleasant, not because it's "fun" to shit all over the pristine design specs but because it's most pragmatic.
- bartread 9y agoWell, let me first express some surprise that this made the front page, given how shallow this list is and how obnoxious in general fastcompany.com is to browse (let alone that it's garnered 213 points as of this writing!). Back on point, here are a few other reasons: - You give them no ownership over what they do, and do not encourage them to show initiative, - You berate them for operating outside of a narrowly defined range of responsibilities, - You spoon-feed poorly defined requirements to them, - You isolate them from the customer and give them only second-hand information, - You are excessively directive, - You take a view that is excessively narrowed by an overly limited definition of what is the highest priority, - You hamper them with bureaucratic processes that make it hard to get anything done, - You continually break up their day with meetings and other interruptions making it hard to focus, - Your meetings are undisciplined and run over, - Your solution to any problem is to book a 60 minute meeting with no notice whatsoever, - Your teams are too big, turning meetings into a long-winded and exhausting drama with everyone feeling they have to contribute and jockeying for position within some invisible hierarchy, - You shut peoples' contributions and ideas down, - When people spot problems there is no time or room in the backlog to fix them, - Your agile ceremonies are bloated and tiresome, and your stand-ups are long, - There is a constant need to engage in politics, especially if you want to be promoted or get a pay rise, - The work is boring, - It is necessary to build solutions for which other, viable, and considerably better/safer/more secure off the shelf solutions exist because of your aging systems/bad processes/excessive siloing, - Many stakeholders and departmental siloing leaves developers trapped in the middle battling to reconcile conflicting viewpoints to reach a viable solution, - Your teams are forced to operate in a way that is largely reactive, - You manage by mob and/or by flapping and flailing around, - At every meeting there is AV drama because everyone is using WebEx or some other crappy VOIP solution that leads to 5 - 10 minutes of buggering around for every single meeting, - Cross-cutting concerns lead to even larger and more unwieldy meetings due to conflicting requirements across departments, - The general atmosphere is conflict driven rather than cooperative, - (Some of) your best developers are introverts yet you continually force them to engage in processes and practices that favour extroverts. - Your office is a noisy and distracting zoo in which it is hard to concentrate. I could go on (and on) but I'm beginning to depress even myself.