Remix.run Logo
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.

https://reddit.com/user/sma-pao/?sort=top

master_crab 5 hours ago | parent [-]

Ehh. The SMA post is too disconnected to play an ear-to-ground role. Always felt more ceremonial or focused on soldier quality-of-life issues that didn’t really matter.

The real conduit for change in the military is a good stiff Congressional or IG complaint. Ask anyone who drove an MRAP.

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.

port11 21 minutes ago | parent | next [-]

I recall from the Lost Connections book that this was one of known causes of depression. People doing the same job, but with a sense of empowerment and ownership, were quite protected from such a negative outcome.

noir_lord 12 hours ago | parent | prev [-]

That and/or a single bad direct line manager.

One of the best managers I worked under when I was young used to say "people don't leave companies, they leave managers" and he was right.

whstl 12 hours ago | parent | next [-]

This is the second best advice I ever got in my career.

The best one was still "Listen to reports when they come to you, even if you're focused on your own task."

I wish there was this kind of advice for dealing with unreasonable CTOs and VPEs. I got lucky in my last job, but it took years.

sevensor 9 hours ago | parent | prev [-]

Less punchy but close to the truth: people leave for a lot of reasons. I can’t think of a time I’ve quit over a bad boss. Bosses come and go, even bad ones. If you only ever have bad bosses, that’s an executive problem, not a manager problem.

AnimalMuppet 9 hours ago | parent [-]

I have quit because of bad management, but never because of one bad boss. (Or it may have been one bad boss, but it was high enough up the management chain that I didn't know specifically who it was.)

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.

whstl 12 hours ago | parent | next [-]

I don't know.

I have seen CEOs and CTOs tearing apart feedback from surveys at all-hands meetings. To the point of mocking answers and saying people are "tripping", or that "in other YC companies people work 80 hours".

And I've seen leads/managers leaving due to micromanagement as well.

As long as the expectation is for managers to hide concerns and fall in line, the information will be hidden from C-levels.

For example:

> A fintech company decided to build their own authentication system rather than use established solutions.

I lived this exact scenario. Fintech wanted custom authentication! It was pushed into my team. I said no and put my foot down, VPE disagreed with me and gave to another team. That team failed to deliver after 6 months, and my team finally ended up being the one implementing a third-party solution in a couple weeks. That third-party solution costed less than $100 per month, because of how little users we had.

On my yearly feedback I still got knocked down a peg due to this incident. It really hurt my career at that company, even though I was in the right. That other team failed to deliver other projects too, and we got the same feedback I did, same salary increase. I got the yelling, I got the negative marks.

Of course people will rationalize this with "you should have been more political".

Well, that's what the people being criticized in TFA are doing: being political.

questionableans 6 hours ago | parent | next [-]

Just wondering, was there ever any discussion about trying a quick prototype with a 3rd party auth solution before trying to go off and build one?

Viliam1234 11 hours ago | parent | prev [-]

> tearing apart feedback from surveys

That's amateur behavior. Real pros design the feedback forms in a way that only allows you to give them the answers they want to hear.

"Which three company benefits are most important for you?" Frankly, all of them are meaningless, but there are ten checkboxes, and unless you mark three of them, the form won't allow you to proceed.

"Do you understand how $buzzword can make you more productive? (on a scale from 0 to 10)" Answering "yes" implies that $buzzword is great. Answering "no" also implies that $buzzword is great, but you are too stupid to understand it, so you may be given some mandatory training on $buzzword. (There is no way to indicate that $buzzword actually makes you less productive.)

nwhnwh 3 hours ago | parent | prev [-]

If people usually don't see that the house is on fire, they won't see it or care about it if you point at it. The fact that you have to do that says a lot.

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?

sevensor 9 hours ago | parent [-]

I appreciate the attempt to explain in executive speak that engineers may not be fungible, that they can be costly to replace, that the organization will suffer if attrition gets out of hand, and that their decisions can influence these outcomes. I don’t think it quite hits the mark for organizations where this is a problem, because I think bad executives play a fundamentally different game. I’m not quite sure what it is, but the success of the company doesn’t seem to influence their decision making. Maybe it’s just that confidence in their ability to fail up makes success irrelevant?

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.