| ▲ | Why Your Best Engineers Are Interviewing Elsewhere, CodeGood(codegood.co) | |||||||||||||||||||||||||||||||||||||
| 82 points by rbanffy 19 hours ago | 21 comments | ||||||||||||||||||||||||||||||||||||||
| ▲ | jjmarr 12 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||
The military has a parallel system of officers (managers) and enlisted/NCOs (sort of ICs). Even generals will have an NCO reporting into them whose job is to speak to the frontline and figure out wtf is actually going on. e.g. The Sergeant Major of the entire US Army used to post on /r/army. If someone in the 950,000 person bureaucracy was really getting screwed, he or his office would step in. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| ▲ | smcleod 13 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
Across the clients I've worked with over the years it's often bureaucratic disempowerment that drives good engineers away. When they cannot affect change or encumbered with toil - be that from painful change management processes, restricted or privacy invading operating system controls, or a work from office policy. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| ▲ | ivraatiems 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
I'm not sure of the motivations (the author is definitely trying to market themselves), but I think the insights here are really spot on. Having recently left an employer who was undergoing many of these experiences, it felt almost too accurate. That said, there's one main thing that I think is missed here: It's not just about executives being surprised by what engineers are thinking. It's also engineers not understanding the purpose and goals of the business. Consider a typical startup environment. Lots of highly competent, experienced engineers working at startups will willingly, even excitedly make choices which are expensive, unscalabe, unmaintainable, etc., in the name of getting things out the door fast. They do that not because they enjoy creating problems but because they, and the startup's leadership, are aligned. The goal of the startup is to push a good proof-of-concept, get customers and investors, and gain traction to become a going concern. Likewise, in an environment that is well-established and used to delivering a certain quality on a certain timeline, those same engineers will do more expensive, scalable work for less reward, and be rewarded. This feels uncommon because we don't hear about it a lot, but there are tens of thousands of small, capable, going-concern companies that do exactly this. They go on year after year, making a profit and delivering a decent to great product, without a lot of fanfare. They don't run away to billion-dollar valuations, and they don't crash out. It's just fine. But in still other organizations, it's rarely made clear that the org doesn't value the things engineers assume, by default, ought to be valued. For example, an organization might say they want reliability, scalability, good design, etc., then repeatedly make decisions indicating that isn't what they value. They do not communicate their goals to the engineers. They do not say their actual intentions. They claim to want A, actually want B, ignore and deprioritize work that'd help produce B, and then are surprised when people are distrustful and resign. I have no problem with doing a job a certain way if that's what I signed up for and you ask me to do it upfront. But if I signed up for A and you gave me B without warning, I might just leave. And I wouldn't bother to tell you why on the way out. (Also, I think that there's a slight error in the author's timelines: Junior engineers would notice after senior engineers that senior engineers are checked out, since it's the senior engineers doing the checking out. But they'd probably notice before management does.) | ||||||||||||||||||||||||||||||||||||||
| ▲ | pragmatic 9 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
In this economy? Maybe a few years ago sure. | ||||||||||||||||||||||||||||||||||||||
| ▲ | nwhnwh 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
To whoever wrote this... thank you! | ||||||||||||||||||||||||||||||||||||||
| ▲ | dboreham 13 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
Appreciate the time taken to write this, but imho the problem is a bit worse: you grew up in a context where analysis of facts, risks, knowing your stuff, were valued. That's your training data and reinforcement function. Here's the thing: the world in general didn't get that training data upload. They don't care about your reasoned analysis. They want a new boat. Like now! I bet there's an email thread at Amazon years back with someone saying "You're using DNS as a distributed database-- that's a bad idea". But even after crashing the entire internet for a day, the stock is up. I recommend starting your own company or going freelance. Then at least any organizational nonsense will be your nonsense. And if there's any boat coming it'll be yours. | ||||||||||||||||||||||||||||||||||||||
| ▲ | Jen6 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
As a team member, is it possible to change a team like this? | ||||||||||||||||||||||||||||||||||||||
| ▲ | esafak 13 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
That's what skip level connections and surveys are for. The tools are there, for organizations that care to use them. | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| ▲ | dogleash 10 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||
I love the optimism that senior leadership is just in the dark and wouldn't agree with a high percentage of the bad dynamics. With the benefit of hindsight the causal link to attrition is highlighted. In the moment, how many concerns would have been brushed aside as nerds getting carried away with nerd priorities instead of business priorities? | ||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||
| ▲ | Viliam1234 11 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||
> The decision was made: ship now, refactor later. I guess we already know how this ends. There will never be "refactor later", because there will always be a new feature to add, or a new product to ship. "Later" is merely a diplomatic way to say "never". When the project is decommissioned 20 years later, the refactoring tasks will still be in the project backlog; that is if someone won't delete them first. > The CEO approved 15% raises for remaining engineers. More left anyway. One possible explanation is that money wasn't the real issue. But another possible explanation could be that the 15% was not enough, but ironically it could have been the nudge that made people think again about their salaries. > Middle managers believe they are doing their jobs by "handling problems at their level." That is not necessarily a bad thing... unless they are handling them by ignoring them. > The monitoring system generated so many false alerts that engineers had learned to ignore it. That reminds me how I once told my manager: "If I get one alert a week, I will immediately drop whatever I was currently doing, and start investigating the issue. If I get several alerts a day, I will finish my current work first, and probably handle the issues in batch at the beginning or at the end of the day. If I get several alerts per hour, I will just mute my phone and ignore them." > They watch decisions being made that will cause problems, they raise concerns, and they are told to implement anyway. When the predicted failure occurs, they are blamed for not preventing it. Even better, they get assigned an on-call duty during evenings and weekends to fix the failures when they occur. The on-call duty is such a wonderful thing -- every time a bad technical decision is made, you know someone's evening or weekend is going to get ruined, but it is rarely going to be the person who made the decision. > If Sarah is leaving, maybe I should look too. Engineers assume departing colleagues know something they do not. I think this is a needlessly complicated explanation. More likely, Sarah was a good friend, and the colleagues who were already unhappy about their jobs procrastinated with leaving the company because of Sarah. Now that Sarah is gone, they realize they don't have any more positive job-related emotions. Of course the company can speed this up by giving them Sarah's work on top of the work they already had. Then everyone will start interviewing like crazy, because they will be scared of being the last person who stays at the company and inherits everyone's work. > The test: would a 20% raise keep them? If yes, it is compensation. If no, it is something else and they are being diplomatic. Or maybe it's compensation, and the other company offers them 50% more. > Regular skip-level conversations. Allocating several hours per week for direct conversations across all levels provides ground truth. I have seen a situation where a manager did skip-level conversations, but only used them to tell the engineers his glorious vision, not to listen to them. It's like most management advice -- even if the original idea is great, most people will just take the buzzword and do something else instead. | ||||||||||||||||||||||||||||||||||||||