I'm a developer and I admit the truth is that managers are bad only because developers are worse.
Turnover in tech is extremely high and it's not because devs are constantly being mismanaged, it's because they are egotistical and capable of working independently and often just do without any real penalty. "Oh you fired me, well 9 times out of 10 I'll just be earning more money across the street, good luck recruiting anyone with a bad Glassdoor review!" What incentives does the manager have to get invested with the devs in this situation when employees good and bad can just leave easily.
Anyone who's worked in tach a while has seen cases where a dev has just flat out refused to do something a manager has asked them to do. Why? Ego is the only reason when you get paid either way.
Look at all the egotistical devs on this forum alone saying "all managers are bad" without considering they could be part of the problem.
>> Turnover in tech is extremely high and it's not because devs are constantly being mismanaged, it's because they are egotistical and capable of working independently and often just do without any real penalty. "Oh you fired me, well 9 times out of 10 I'll just be earning more money across the street, good luck recruiting anyone with a bad Glassdoor review!" What incentives does the manager have to get invested with the devs in this situation when employees good and bad can just leave easily.
Let me provide a flip side to this from the dev's perspective: Salaries stagnate for developers in the same company as valuable options in il-liquid private stock serve as golden handcuffs. Companies abuse this position by further underpaying developers as compared to the market. If they can "make more money across the street" that is proof of the situation. Dont you expect developers to have some resentment to this situation?
Yeah, it seems so insane to me how little companies will give raises or promote from within, this is definitely driving turnover and building animosity against managers. I think that's a big factor here. I most upper management doesn't want to have commit to having few veteran devs when they can increase/decrease the labor pool quickly.
From my experience as a manger, many times, companies will easily hire at 30, or even 40% above the current salary, but will offer promotions/raises of just a tenth of that.
This is especially stark when different members of a team were hired in different years, and thus got the prevailing market salary for a particular vintage of hires. You can get situations where an identical position is paying a 30% difference, only some of it due to negotiation.
The result is the developers "calibrate" themselves, many work less and less until they feel the situation is "fair." Many are working on their next startup, doing gigs, consulting, etc.
I find the technology industry to be a total mess as compared to management consulting (where I began my career.) There was some strangeness, but usually everything was in generally consistent bands. In comparison, my friends in big law describe a completely orderly situation.
When a developer leaves a typical tech company, there's a massive cost involved in hiring a new one. You'd think the company could save a fortune if, instead of spending on recruiting, just half of that cost was spent on simply retaining the existing developer... Yet companies continue to happily let them leave, then spend that fortune hiring someone new. Seems like such a sub-optimal way to go.
You have to look at who does the hiring and who benefits from the churn: The managers themselves.
Keeping old timers, they will take charge and be harder to manage.
Each newcomer, will be at your mercy, to be formed and taken hostage for many years.
Besides, an influx of chaos is good for grabbing more power. As it's really someone else's problem after all: Win win.
So such situations are because someone benefits from the situation, even though the organization bleeds. Look at incentive structures and follow the money. Though even if unintentional, it follows from simple cause and effects.
I work at a tech company on the east coast, and the managers I've talked to don't like managing west coast dev teams for all the reasons you mentioned. They said they'll refuse to show up to meetings, won't answer phone calls/emails/slack, don't document anything, etc., because they think they're code artisans and won't do anything that they think is below them.
There's usually FAR TOO MANY MEETINGS. This is even more prevalent the more bad managers and engineers exist. Talking and assigning 'action items' is a good way to deflect attention from the fact that you have no clue what the heck you are doing. And bad engineers get shielded by the collective (as long as they can show some work done on their "action item", or indicate that they are blocked because of someone else).
If you actually have good engineers, they will see the meetings for what they are and start pushing back.
Yeah, there's really a lot going on cultural in this phenomenon of the egotistical coder.
I'd break it down into these following factors:
1) youth, young people don't really care about burning bridges their life has pretty much always been on an upswing and they feel "set for life." There peers are bartenders, but they are making more money then their parents year one.
2) male dominated, I don't want to engage in stereotypes here but it just seems this is a factor.
3) education system, typically it has pushed people towards research and novelty. When I told my professor I wanted to get into web development he said "pfft that's just plumbing" definitely plays into factor two, the typical egotistical dev feels emasculated writing and email template. Not a good vibe for a manager.
It's certainly a two way street between a manager and team member to work well together, but in my experience the best managers in Silicon Valley/tech retain great people for a long time. In fact, many bring former team members with them from company to company, being a talent magnet.
It is my experience good managers know how to filter through employees to find ones that are manageable. Perhaps not at the time of hiring, but they know how to move people off their teams that they know are not good members. I consider myself a decent manager and built strong teams of people that would still work for me or act as references, but even then, I probably failed with half the people I hired.
that will cause a cascade of other problems because it can't be tested properly because no time has been spent automating regression because the managers agreed to unrealistic timelines because they're not the ones who have to deal with the fallout.
> Anyone who's worked in tach a while has seen cases where a dev has just flat out refused to do something a manager has asked them to do. Why? Ego is the only reason when you get paid either way.
I don't think I've seen that yet, but if it came up with any of my coworkers, it would be because of ethical concerns. "Hide the cancel button", "Remove the unsubscribe link", etc.
Are you talking about people saying things like "I'm a senior engineer. Get the newbie to do that task"? I can't imagine that flying for a second where I work. You can try making the case that it's a poor use of your time, but flat-out refusing to do something out of ego would be the reddest of red flags.
Yeah I've seen situations where basically a dev wants to take project in a direction and the manager repeatedly shoots it down until they quit or are fired. They will just argue that the manager is micro-managing and making technical decisions, but in reality it's just matter of how the business must operate and the dev is actually stepping on the managers toes.
Devs will also just argue that doing some UI related changes are pointless even though managers have requested them repeatedly and clearly prioritize them. I've seen all forms of recalcitrance.
Maybe it was an unrealistic task, like 'we've agreed to have this <10 month thing> built in 2, so get to it'. If agreeing to such a thing means it becomes your fault when it inevitably fails, it's necessary to refuse and reschedule.
Or not, but I can imagine many exceptions besides ego that would be reasonable. If it's just a Rockstar tantrum, then you're better off firing that dev asap and I can't even imagine such a person getting away with it, though I've never worked in SV.
> Anyone who's worked in tach a while has seen cases where a dev has just flat out refused to do something a manager has asked them to do. Why? Ego is the only reason when you get paid either way.
False.
- You know it's going to cause a problem and
- You know you'll be blamed for it, or
- You know you'll be the one to live with the 4AM calls.
Anyone who's been in any business a while has seen cases where a control freak has to have their way, even if it means running the business into the ground. And while -that- may be their business, your sanity is yours.
You should consider why it is easy for developers to leave a company. It is also because companies hire only people who already know everything and don't train and give chance to people that might need to learn something on the job.
Also, if companies don't provide incentives for people who stay longer, it is only their fault.
A first level response would be that you were hired at a salary to do a job.
If you can't or won't do a coding job I hire you for, I would back-fill for myself and you would be on the street. (Cost of capital for startups isn't cheap!)
Turnover in tech is extremely high and it's not because devs are constantly being mismanaged, it's because they are egotistical and capable of working independently and often just do without any real penalty. "Oh you fired me, well 9 times out of 10 I'll just be earning more money across the street, good luck recruiting anyone with a bad Glassdoor review!" What incentives does the manager have to get invested with the devs in this situation when employees good and bad can just leave easily.
Anyone who's worked in tach a while has seen cases where a dev has just flat out refused to do something a manager has asked them to do. Why? Ego is the only reason when you get paid either way.
Look at all the egotistical devs on this forum alone saying "all managers are bad" without considering they could be part of the problem.