Live data from Hacker News

Why Good Developers Are Promoted into Unhappiness (2007)

robwalling.com

21–30 of 235 posts

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#21
post #10

Thankfully, many if not most top tech companies in the valley realize this and have parallel management and IC tracks (at least for software engineers), with compensation the same. That said, even as an IC, at higher levels the scope of impact you're expected to deliver at some point exceeds what one person working alone can have, so there's still lots of people leadership skills needed to advance: working cross-func…

It's _vastly_ harder to get ahead on the "engineering" track. At Google, for instance, it's to the point where as a manager you barely need to have a pulse to get promoted (as long as your reports are any good), whereas on the technical ladder promotions to Staff level and above are stupid hard and downright nondeterministic. That's why many engineers there, who have little to no leadership skills or inclinations, en…

This is also true of my own employer (a fellow FAANG) - the technical track is incredibly hard to advance in past senior, it seems to incentivize devs moving into management, along with the pay differential where even in the same tier, management makes a little more in general by a couple of $10k.

I very much enjoy being a dev and am a top performing one in my VP’s org, but the structure incentivizes me to switch over to the management track, which I’d be happy to do (I have prior experience as one), but it seems like a crappy way to depress salaries of ICs that they are forced to switch companies to move up to where they should be.

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#22
I’ve been reviewing a lot of career path documents recently for different engineering orgs, and every one is fairly uniform in that you either progress into management, team leadership, or architecture (or some blend of the three). If not, you’ll stagnate at a pretty high level, but stagnate none the less.

I’ve been noodling on this for a while, and I think maybe a fourth track at a lot of organizations should be special projects. Small teams (3 people max) given autonomy and clear objectives (revenue goals, user growth goals, etc). For a pre existing company, this likely means “hacking” on an existing product, experimenting on something new, tackling huge debt... Pick your poison.

This is a fine middle ground for someone with a lot of experience who doesn’t want to manage, but still wants some growth opportunities. For many people who don’t want to manage or be an architect, autonomy is the number one thing I regularly hear. So, give them the autonomy and some ground rules, then let them loose.

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#23
Nowhere it says - we cannot program when we become a manager. What if managers continue to make 0s & 1s dance - half of the time if not full time? Wouldn't that be productive & fun? I would say world is changing towards this side. I have heard stories where VPs & SVPs in big enterprises write code & lead their teams by example.

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#24

Nowhere it says - we cannot program when we become a manager. What if managers continue to make 0s & 1s dance - half of the time if not full time? Wouldn't that be productive & fun? I would say world is changing towards this side. I have heard stories where VPs & SVPs in big enterprises write code & lead their teams by example.

The problem arises when you are evaluated based on your managerial responsibilities. The more time spent writing code, the less time you have to manage others.

If they wanted you to build things, they probably wouldn't have put you in management in the first place.

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#25
I think it has a lot to do with wanting to have your cake and eat it too.

Supposing you literally “just write code,” there’s a ceiling to how much impact you can have. One person can only hold so large of a program (or so many small programs) in their head, and if you are on a project that reaches a certain size you have to start working with other humans to maintain it, and thus the need for technical leadership and/or people management begins.

One of the basic ideas of good management is that a good manager is a multiplier. Suppose you have a team of ten, and individually they can each ship 8 “points” of work in a week. If you turn one of those people into a great manager you lose 8 points of direct work, but everyone else now ships 12 points per week, and you’ve gone from 80 to 108 points in a week. You could now say the manager is responsible for the 28 point gain.

Similarly with a technical leadership role, doing the architecture and teaching work can multiply the effectiveness of many other people, leading to greater impact than any one individual could have.

When you look at it like this, it’s obvious why these higher impact “multiplier” roles get more prestige and pay than the best individual coders.

And I think that’s the dilemma. The real question - for many of us, anyway - is do you gain more satisfaction from the higher impact role and the perks that come with it, or from the sheer joy of the hands-on work that got you into this field in the first place.

Its really difficult.

I saw some other posters talking about rotating the responsibilities around - ie. leading sometimes and working in the trenches sometimes, and I really understand the appeal of that. That said, I’m not sure if it’s practical beyond the first “rung of the leadership ladder” or so, because leadership is itself a very challenging craft that takes a lot of focus and effort to master.

What appeals to me more, but I haven’t seen yet in practice, is for orgs to let their technical leadership (both on the architect and people management sides) take periodic “coding sabbaticals,” or something along those lines. The main idea being that periodic returns to the hands-on work will help keep you sharp, up-to-date, and effective as a technical leader. The biggest problem with that is that it’s not always easy to just plug a “substitute leader” into the org chart while you’re on sabbatical.

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#26

You stay in the company long enough and you write less code and spend more time managing people and processes as now you own your projects as the most knowledgable person for these projects. You start hating it (I did) and look for a pure programming role. But you are not in your twenties any more and you have to align with and follow someone else's designs and decisions and you can't since you are experienced and kn…

> you have to push back and argue no, you don't.

Exactly. Mistakes need to be made over and over again. Do not try to stop this force.

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#27

Nowhere it says - we cannot program when we become a manager. What if managers continue to make 0s & 1s dance - half of the time if not full time? Wouldn't that be productive & fun? I would say world is changing towards this side. I have heard stories where VPs & SVPs in big enterprises write code & lead their teams by example.

I think this is a question of scale and hours in the day. In my experience when the team grows past 5 it gets difficult to do all the leadership things that “clear the road” for the team and also have enough focused time for effective programming. But at the same time, once you’re at that point, if you stop coding you can now handle another 5-10 direct reports. So you have to chose between keeping independent teams quite small with team leads who code, or with allowing bigger teams with a dedicated manager.

The scaling characteristics of those two patterns are different, because inter-team collaboration is pretty much always worse than intra-team, so the small teams are more effective if they are as independent as possible. If not you end up needing an extra manager to coordinate amongst the small teams... and now you have managers who don’t code.

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#28
post #22

I’ve been reviewing a lot of career path documents recently for different engineering orgs, and every one is fairly uniform in that you either progress into management, team leadership, or architecture (or some blend of the three). If not, you’ll stagnate at a pretty high level, but stagnate none the less. I’ve been noodling on this for a while, and I think maybe a fourth track at a lot of organizations should be spe…

This sounds fucking awesome and would definitely make me want to stay as an engineer.

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#29
post #22

I’ve been reviewing a lot of career path documents recently for different engineering orgs, and every one is fairly uniform in that you either progress into management, team leadership, or architecture (or some blend of the three). If not, you’ll stagnate at a pretty high level, but stagnate none the less. I’ve been noodling on this for a while, and I think maybe a fourth track at a lot of organizations should be spe…

Thank you for saying that, this was exactly my conclusion when reviewing my own goals and notes on how other companies build products. If your company doesn't have this special-projects track in place, then your only option at some point is to quit and start your own thing I'm afraid.

Re: Why Good Developers Are Promoted into Unhappiness (2007)

#30
Every time this topic surfaces project management in the form of politics and pushing tickets through Trello is presented as the only option available to engineers. To me, a more natural progression is going into product management. It's a nice intersection of management, product design and engineering. From a job description:

"We’re looking for a product leader to join a fast-paced and transformational start-up to manage various fraud and identity initiatives. While managing product development, The Director of Product, Fraud and Identity will analyze, investigate, and identify solutions to mitigate and prevent fraud and identity compromises. This individual is responsible for developing features, platforms, models, and capabilities to proactively identify sources and patterns of fraud and minimize the company’s total exposure to financial and reputational risk. The product leader will develop and execute a long-term vision that will establish Lyft, and its systems, as the industry leader in fraud management, mitigation, and identity-based capabilities and services."

Are engineers not interested in product management? Or are those roles not available to them?

Post reply on HN