I followed my dreams to get demoted to software developer
stackoverflow.blog
stackoverflow.blog
[0] https://books.google.co.in/books?id=yG3PAK6ZOucC&pg=PT229
[1] https://perspectives.mvdirona.com/2016/03/a-decade-of-innova...
[2] https://archive.seattletimes.com/archive/?date=20040418&slug...
[3] https://web.archive.org/web/20091226191003/paulwallis.ulitze...
https://college.lclark.edu/programs/entrepreneurship/firesid...
The "self-demotion" is real though, especially since, according to the (much disputed) book, The Everything Store, alv declined Bezos' offer to lead AWS, and the job then of course was Andy Jassy's (who took over from Colin Bryar) which laid the foundation for him to eventually become the CEO-elect of one of the most enduring companies of all time.
I mean, in an alternate universe, alv is the CEO-elect :) Imagine the scenes!
1) His internal tech talks are fun, peculiar, and make complex concepts easy to understand
2) His contributions go far beyond "Just S3" - though that would be enough. His low level frameworks and concepts underpin almost all complex AWS distributed systems - from databases to messages.
3) he STILL Codes, iterating on ideas, and pushing scalability of distributed systems to the next level
- Position: guy
The chief of modesty.
I was in startups for 25 years, (except for a few years in an acquiring company), and I had this ongoing debate with myself and my bosses for many years: Should I stay on the technical side (developer, architect), or go into management?
On one hand, I thought that I "should" go into management because ... that's what people do, right? On the other hand, I loathed management. Even as a team lead, meetings made me literally sick to my stomach, (well, once).
I kept torturing myself with this decision over the years, until my boss cleared it up for me. He said that if I hated being a manager, that I would suck at it, and be constantly miserable. So don't do it. It was so obvious once he said it. So I didn't become a manager, and I never worried about it again.
For what it's worth, I enjoy mentoring and explaining things, writing docs, and being involved in design of systems and influencing technical strategy. It's nice to be making technical choices. But when you're more familiar with a spreadsheet than an IDE, something has gone wrong.
One of the great dilemmas is that these things are always interwoven with the non-technical aspects of being a manager. There is some aspect in which it is essential - "how long will this work take" depends intimately on the technical complexity, exactly how skilled the available resources are in the necessary areas etc. Other aspects are completely non-essential - "responsibility for staff completing health and safety training lies with line management". I would really like to see a model where these are disentangled.
That's a good description. And the reality is that while, as you say, there are master engineers who can crank out great inventions largely autonomously, the vast bulk do so in large part by mentoring and guiding others. I know many distinguished engineers and SDEs who are ICs. But at least the ones I know spend most of their time communicating and working with others. Open source project maintainers often describe themselves as primarily editors.
Some are actually managers (which carry more formal administrative responsibilities) and some aren't. But almost none of them are largely working on their own because it's really hard (especially outside of a research context and even then) to have maximum impact that way.
My old boss said: "on the way to work in the morning, you should be whistling". I'm from The Netherlands, and I'm not sure if it translates well. But that's the point where I thought that I love engineering, stopped caring about what others may think, and put my management ambitions in the freezer.
Five years further, and I'm slowly coming back to that decision, but in a much more natural way. I started freelancing, took on an apprentice, and slowly I'm getting more responsibilities. But in a natural way, not an all-or-nothing choice.
So my advice is to set boundaries. If you don’t want to be sitting in meetings, then stand your ground or come to a compromise. If they don’t understand then quit! Find the path for you, life is too short to be unhappy and someone else’s pencil pusher.
But as always: ymmv
I don't know that you should use this criteria as the sole deal breaker. Managers should be shielding teams from unproductive meetings and pushing for productivity (action items) from the meetings that happen - holding their peers to a degree of standards.
Now, if you hate 1:1, org planning, and successful meetings, that's another thing.
I myself am a former-engineer and current-manager, and I also remember absolutely loathing meetings as a waste of time, explaining things to people who don't really care that much about what I have to say, and plus why should I contort myself to speak "their" language and why can't they be bothered to learn to speak "my" language as an engineer?
But over time, I think I've come to develop a taste for, the style of communication that happens in most typical business meetings. If you think about coding and entering a "flow" state, to me the core of that flow is being able to clearly and concisely conceptualize the software abstractions you have in your head, mapping them effectively from business concepts or technical requirements and into code, and being able to just churn out a beautiful representation of all those things into something tangible (an application, a service, etc.).
Believe it or not, in roundabout ways, meetings can achieve that kind of "flow" state as well, creating a shared understanding of a beautiful abstraction, and resulting in high-bandwidth exchange of ideas. Certainly it is much harder to achieve "flow" for meeting communication than for coding/engineering (IMHO at least) since it involves lots of other people with lots of different backgrounds and different levels of understanding, but I find that nonetheless it is something I can find enjoyment from the pursuit of that state. Not every meeting succeeds in reaching that "flow" state, but more and more I can perceive and introspect why/why-not it didn't, and come out with tangible lessons for myself for improving. So long as I have a flywheel for getting better, it doesn't feel so draining or so pointless anymore even when I "fail". And sometimes, I really do come out of the most productive meetings feeling very energized, and hearing from my peers how much clarity they gained or how much more confident they are about a decision that was previously questionable/uncertain, is truly a great feeling (at least as good for me, as producing a solid piece of beautiful code).
I found that I don't mind managing, but it's such a different type of work. As an IC I went home (before COVID anyway) mentally exhausted. As a manager I went home emotionally exhausted. Different people are better at recovering from either state of exhaustion.
That said, to get a title promotion, I've found that you have to do more of the organizing, planning, coordinating stuff to be noticed. Performance reviews are biased towards "the next step" in your career and companies are forever trying to get you to do more "meta-work" which I really dislike.
Weird question, I know. But I'm an advanced beginner of a programmer who knows that I'd make a better manager than a SWE. Almost would prefer to just leap-frog to management since, as it is, I'm already looking at a career change and know my strengths.
Maybe you would be a great manager, maybe you would be a bad one. But you would not be nearly as good as a person who is just like you but has also worked as a developer. You literally will not know what you are talking about, and the people you manage will see this, and that creates an unfixable problem between you and your developers.
I mean, the classic "couldn't you just ..." is bad enough from a manager who at least was on the receiving end of that suggestion, at some point in his or her career. But from someone who hasn't had that experience, it is so much worse. Maybe you would never use that phrase, but the dynamic is unavoidable. Much of what you do and say will be second-guessed and devalued.
There is, but probably not in a Software company, since they tend to prefer promoting experienced programmers to managers based on their tech skills (for better or worse)
Companies that work in logistics, banking, engineering etc. and have in-house software teams, but don't ship software as their primary business are far more open to hiring non-programmers as software team managers (for better or worse). If you have any domain knowledge about the area they're operating in that often weighs much higher.
And the best thing my manager can do for our team is political: each team/site competes for the more interesting features to develop..
It's about more than knowing how to program, but rather the ins and outs of development, architecture, technology.
Plenty of more typical Fortune 500 type companies and small, non VC funded companies let managers from non engineering backgrounds manage engineers.
Huge congrats to Kristina, and I hope her engineering career brings her as much joy and fulfillment as it has brought me.
Fast forward 8 years later, I am a Lead Developer and making double what I made as a Sr. Manager. I am still learning, I am still behind compared to my peers. Technology feels like it's moving too fast.
But in the end, the best part is to open my IDE and write code. It makes me the happiest.
Congrats on the successful career shift.
Here’s to risky career moves!
Most organizations actively try to support internal mobility (admittedly with varied success). Companies invest resources in hiring, training, and keeping you. Your manager, as a representative of the company, is wise to amicably transfer an unsatisfied employee to another part of the organization. And as a human being, they probably want to see you engaged and happy at work, even if it means losing you to another team. Plus in this example, OP was a high performer and had already shown initiative, putting in legwork to upskill themselves for the new role. Demonstrated value/performance and initiative are always helpful when asking for something of your employer.
Don't be dissuaded by cynical examples to the contrary - those who told their manager about other interests and suddenly and inexplicably got fired. Remember there are two sides to every story - for example, maybe they were underperforming and disengaged for a long time, and then randomly raised the question after their manager reached a breaking point? They won't share that in their post. Also remember availability bias - just because we see these people complaining on forums or "know a guy" doesn't mean it happens frequently enough in real life to be seriously concerned.
In the end you'd be surprised what you accomplish by simply talking to your manager early and often, having general conversations about potential aspirations and leaving the door open for them to say "How can I help?"
That may or may not be true, of course, but it's an element in your favor either way!
(though fwiw, in my time as a past manager, I found that significant effort counted for a lot - it's cliche but folks who consistently put in extra effort and worked their butts off improved faster than those who relaxed, so they would soon exceed folks who relaxed, even if they had much less of a head start.)
This is true -- but your manager won't always act in your company's exact best interest either! I do think "management are human beings, too" is pretty important to remember.
> The loss of some fraction of X is always going to hurt the company more than your gain in Y will benefit them
I don't think you can assume this is always true. What if X is jQuery and Y is Typescript? Or X is oldLegacyCodebase and Y is newProjectInBurgeoningField?
I'll bet you this: if I (or most CS master graduates from The Netherlands [1]) would receive a similar kind of treatment, then they'd nail that software developer position in terms of skill [2].
[1] I can't comment on other CS master programs, but I've followed lectures at: Utrecht, Amsterdam (both of them) and have seen what they're capable of at Delft.
[2] I'm not making claims about culture or communication.
This is probably the single most significant differentiator between skills academic CS or programming courses and real world development.
Complete BS. If they offer it to him, they think he would be a good fit and they're just trying to pay less. Contrast it with my experience, where I just stepped up to fill the gaps whenever I saw them, my boss noticed, offered a lead position including pay bump.
It's not the rewards up front, it's the rewards as-you-go. Or it's the rewards at the end of the previous rank.
Always having your pay 1yr behind your responsibilities is wrong. You're doing the job, you get the pay.
On day 1 of being a lead, you've never been a lead before, but you are now. Year 1 leads get lead pay.
"You've done great, you're at the top of your rank! No, I can't reward you for it yet, just start at the next rank and we'll wait and see pleasethankyou." No. We saw. Pay me.
When exactly did this extortionary tactic started? There are so many things that go unquestioned...
In my case it wasn't even to get noticed. I just care about stuff. My current boss is actually trying to make me 'care less'. Like I can't leave it alone if I see the PMs do a crap job and I try to fix it. I can't not say something when I see the DevOps guys not taking care of the dev envs and dev experience.
Also when did this start? Like hundreds of not thousands of years ago. Why?
The same people end up at the same end rank, they just take lower pay for a year to get there. And that one year drag compounds because raises are %.
Anyway we're likely disagreeing in an entirely vague way. Of course my leadership skills should be evident if I'm going to ask to be Lead, so yes day1 leads aren't starting from 0. But a company's surest bet for who to hire as Lead is me, so why should I put up with them telling me they just aren't sure yet? All hires into new roles are very uncertain, and I'm the most certain, so I get the role. Someone more certain than me is a person with 2yrs of Lead on their resume, but they get Lead 3 pay, and I'm not asking for Lead 3 pay. You're hiring a Lead 1 and I'm sure surest bet (inside the org or out) and we all know it.
Or go ahead whisper promises of a promotion in the ears of two on my team and watch them butt heads as they try to act out the phantom authority you've given them. A politicking horserace like that has a vastly worse impact on the company than just pulling the trigger and naming one of us Lead 1 even if we're obvious greenboots for a year.
If you want to move up and someone else is iffy on it, sure, skip the raise to help convince them.
It's a matter of who is prompting the move, and what extra responsibility is required and such. If your boss asks you to take on more responsibility, ask for more money. That's really all I'm saying.
1. I mean - assuming no life changes which you should never feel guilty about making to suit your own interests.
AITOO who sees a huge disconnect between the number of viable technologies, the prereqs for job openings, and the notion that there is a 'shortage of developers'?
I'm not sure what changed, or when, but it definitely feels like there are tons of tools that can solve the same set of problems, and the tech choice is more down to preference than killer features separating complete products from also-rans. The odds that a company whose ad intrigued you uses almost none of the same tools as your current employer seems to be growing, and yet the ads that admit to on the job training or humbly ask for "or a similar tool" seem to be no more prevalent than ten years ago.
There are plenty of people, just not ones who believe in your goals and also have 3 years of Laravel and React Native experience. Or I think my favorite pairing so far, .NET and MongoDB.
Now I'm on my way to Senior Staff SWE, and I keep telling my managers that I don't want to manage, which so far has been working OK. I've got enough responsibilities at home (3 teenagers) and at work that I don't feel like I need additional "children" to manage.
Maybe I'll feel differently once my kids are a little older, but right now I've got plenty on my plate without worrying about others' careers and the millions of additional meetings that managers have.
But it is a demotion! I think perhaps we view that as a negative thing when it's done as a punishment, or due to factors outside one's control. But in this case, she chose it (indeed, worked for it!), so she must think it was worth it.
Her rank is literally demoted. She went from being high on the job ladder ("Director") to low on the job ladder ("Associate"), reflecting the fact that she's still developing the capabilities needed to do her new discipline. I guess maybe if one viewed this as a commentary on management vs IC work, it could be seen negatively -- but I didn't personally interpret the framing that way.
Ditto for status - she likely went from having lots of soft power due to her time and relationships in the design org, to essentially starting over in the development org.
Are these bad things? I don't think so. Presumably she was pretty clear on the short-term negative impacts of the change, and still wanted it.
I do not view career changes as a promotion or demotion. You're starting at neutral.
When I clicked the article I thought it would be about maybe a Senior Developer, Technical Manager or Architect going to developer...which...is kinda what happened to me (less meetings & responsibilities, more coding).
But alas the story had little relationship to what I expected.
I guess you and I are taking a more literal definition of demotion, whereas others may interpret it through the lens of the feelings of shame that would normally come with it, or perhaps even through a more "anarchist" view that no man is ever above any other.
Org-charts are about management structure and directors weirdly get very highly placed on them while their role isn't person-management driven. I've always found them exceeding strange except in their highlighting of SMEs and to aide in inter-departmental communication.
But this all may just be the socialist in me shining through as someone working with a team to make widgets that do their thing well.
I don't actually know what her role was, but I'm not sure it matters too much. Typically, I've seen directors in two kinds of capacity: people management or strategic/technical vision. For both of them, there's a ladder. For example your career progression might look like:
- Manager, Senior Manager, Director - Product Designer, Product Design Lead, Director
In both cases, "Director" isn't an entry-level role. You don't get hired into it fresh out of school, for example, and your scope of influence is expected to be much larger (regardless of whether you're influencing people or vision) than someone at the "bottom".
By contrast, her new role (Associate Developer) _is_ an entry-level role.
That's where I think the "demotion" terminology makes sense. I also agree with other commenters who note that it's most likely meant in a tongue-in-cheek way to drive clicks. But for me, there's a bit more to it than just the cheeky clickbait headline. Have you ever wanted to change things up at your company, but felt constrained, knowing that others would perceive you based on your previous performance in a previous role? I definitely have. The allure of a demotion seems pretty real to me.
Imagine if you didn't have managers, so you had to spend all day answering the phone and emails, sitting in boring meetings, getting interrupted to deal with people problems, making out TPS reports. You'd want to hire an assistant or secretary to do all that stuff for you so you could get some work done, right? Developers have that, we just call them manager or boss and they get the slot above us in the org chart.
That's not an insult, just a view of how things are different in development vs. traditional industry. A good manager is very valuable, and a lot of 'doers' wouldn't want that job even with the higher rank/status.
Ok, it was a reduction in rank, but an increase in status (if you ask most software engineers) ;)
If you stay in denial and hang on to your old title or status, you will struggle coming to terms. Having relatively little influence over strategic decisions is super difficult as one example. Also no one really respects you for expertise you bring from a prior career either since they don't really know how to judge your "stature" in that field. Not to mention that if you mention it much at all, it can raise questions in colleagues minds about your dedication to the new field.
All that being said, I couldn't be happier with my change and am so much happier as a person.
After reading this, I’m just genuinely happy for the author. I think that not everyone is in a position to do that kind of thing, but for those who can, I wish we all had that kind of courage and the willingness to put in the extra work to make it happen.
For context, my last job change was also a diagonal step down and an overall step up in happiness. Not as dramatic though. I also did it because I felt like I was innately more suited to a different role.
Sometimes people working in tech lose sight of why they went into this field. The author's enthusiasm is a great reminder why. Fantastic article.
These two are quite different:
I followed my dreams and got demoted to software developer
I follow my dreams and got promoted from Development Team Team to Software Developer
She was running the Product Design team at SO, assumably managing people, and went on to work as a staff software developer.
I'm not making a judgement on the worth of the different jobs - I've been a manager, I'm now both a designer and a developer, and I personally prefer the latter above all else - and I don't think she is either. Maybe she even makes close to the same amount of money, who knows.
It's just that by most organizational standards it is a demotion. At any rate, I don't see any of it derogatory for neither developers nor product design managers.
That isn't to say there is no risk involved. Taking a new position has risks, and just like investing (which we've all heard too much about lately), you want to hedge your risks.
Make sure you've got a good buffer in the bank, potentially a fall back position if it's a pay-cut, talk to your partner (if you have one), check out how to decrease your budget if needed, or supplement for a while if possible.
I love these stories, I love seeing streamers make it, people move from a corporate job to starting their own thing, it's awesome. Most people who were successful had a safety net. They didn't jump without knowing the risks and being able to take the lower pay for a while. They also had a plan to make money. This is really important because I've also seen a ton of people who have been forced to switch careers due to not having a plan to make money.
I'm not a researcher/etc. This is all anecdotal evidence I've seen, just sharing my thoughts and opinions.
Anyway, congrats to anyone who does makes this kind of quality of life change!
I never wanted management in a corporation. Used to be only half of America for instance worked in a big company. The rest of us worked in small business, or as individuals. That's changing I guess.
I hope there continues to be room for those of us who prefer a life to a career.
The best you can do for yourself is to find the right place for you. If you don't feel well with what you are doing it does not matter how high on the corporate ladder you are.
Treat it as a whole package of which prestige and pay is only one factor. I know personally a guy who left being a director at a large company and moved with his wife to a small farm. They don't earn a fraction of what he earned before but he said he would not come back.
I have skipped over promotions to keep working with code because I don't feel well spending more than fraction of my time managing projects and teams.
I have recently built my own electronics lab and am tinkering with increasingly complex designs because it is just fun. Complemented with my ability to code I plan to use that to maybe build some some products. No concrete plans other than explore what feels interesting to me and do it at my own pace.
It isn't one of those "in six weeks I turned my side gig into a Nobel-prize winning web site and now I'm a billionaire" clickbait articles.
The article has a good message, but the title is absolute click-bait. Many people might come across the title, and although not interested in reading it, walk away with the idea that following dreams leads to negative consequences. I hope the author changes it.
This person was not a developer previously, so I don't understand how they were "demoted." Other than management > individual contributor.
What really happened was they changed jobs to do something they found more fulfilling. Which is great, but if I decided to change careers to building furniture, I wouldn't say I "got demoted to making furniture."
In nearly every organization that would be a huge demotion WITH a huge pay cut. In this instance because coders are paid so much more than most other professions it’s possible it was a lateral move or even a pay raise! But no question as far as responsibility for the direction of the organization it’s a huge demotion.
As someone who has worked at a variety of companies - this isn't true. It's just a title. I've seen plenty of "director of X" with no direct reports. I don't know how big Stack Overflow's design department is but with only 300 people in the company - I can't imagine it being massive enough to warrant a typical director title you'd see at some truly big corps where a director has 50+ people under them.
I don’t know what one calls the director of directors, though.
It’s not a demotion in the same way that voluntarily deciding on a career change from IC to management is not a promotion. A promotion is given to someone, not chosen by them.
Not seeing the connection with that and feeling inferior. I agree with your point, just still can't figure out the top level comment.
Life is full of tradeoffs though sometimes they are easy and that's wonderful ("doing X isn't worth the money to me" or "I don't really like doing Y but I don't mind because the extra money will allow me to Z"). Some people couldn't care less about titles (e.g. me) while some people think they are even more important than pay (e.g. my mum who grew up in such a culture). I can't claim either is bad or wrong; people just have different itches to scratch.
The "choices" we should worry about are those forced upon people who don't actually have a choice ("I have to drag myself to my second minimum wage job because otherwise I'll be homeless").
"I followed my dreams, left management, and love being a coder again" might be more on target.
Demotion has a very negative connotation.
Well, it is a demotion, though: "reduction in rank or status".
And it's interesting here exactly because it was by choice.
It didn't come out of thin air, as this person had been coding as a hobby for a few years (Ludum Dare rocks!). So she actually did have some skills, though maybe not as formal or structured as say, a tech recruiter, might want to.
Furthermore, it's great that she is working in an organisation that would support such a change. It makes this career change much easier than having to quit your job and trying to get gigs or get hired without having formal credentials or experience.
Sometimes we by nature map self-worth to title... don't do it! At this point in my career, I'm a senior director, accountable for nine figures of turnover annually and driving things that truly matter and are meaningful to me. I'm reasonably good at what I do, and am blessed to have an incredible team. But, if I could make the money work and not have to relocate, I'd happily be a staff engineer again. I miss the technical problem solving (ie. learning alot about a thing vs. learning a little about 100 things), the small team and mentoring new people.
I'm not grousing, it's just a different set of things, but I think that I would miss the "perks" of what I do now less. It also makes an impression on me that for a brief window, technical "stuff" made me a rockstar to my nieces and nephews 10-15 years ago. Now, my 9 year old eyerolls at my "conference call commando" skills.
There are other ways to look at the world. In some ways they can be both more and less stressful than contemporary western ideology.
If you want to go all the way to Eastern Philosophy, you can, but even without going into that, there comes a point where contingency planning is more fruitful than doubling down on trying to force a thing to happen no matter what.
Memento mori (remember you will die) as the Stoics say.
Certainty is an illusion, one that romantic partners and anxious bosses in particular don't want to hear about. Great insight for a smoke jumper, not so good for valentine's day or SLA violations.
If you ask me, the "demotion" in this article is not going from Director of Design to Software Developer. The demotion is going from a senior level position to an entry level one. But that's not how it's presented.
As an individual contributor, the impact of your decisions may be broad, but however broad your individual impact is, your manager's impact on you is [broad * number of directs], so it's always "greater" (note: not better, just greater).
So in that sense, the "value" of a manager/director is "higher".
IMO it's all just a series of roles, and you need someone to do both. Someone has to be designing and building code while someone else attends meetings and understands the larger context of that code, making sure the code makes sense a week/month/year later.
In fact, I prefer it when managers take on a much less "HR" role, and instead act as "go-fers" for their team, a la "how can I unblock you today?". Bonus points if they can mentor, but not necessary.
Being an individual contributor isn't a "demotion", but it is a change in where your impact hits (people vs. things). You need both, and it's fundamentally a partnership, I wish more people realized that.
Every time I hear this explanation, I can't help but think "so we're still smoking Luck Strikes, huh?"
When you make a decision as a software engineer, the impact of that decision can often have a multiplicative or even exponential force.
The goal of 21st century organizations -- especially software organizations -- should be to make things scale in way that's at most sublinear with the number of people you throw at it.
Automation prints money and businesses that can harness automation have huge profit margins.
People are expensive and body shops are shitty companies waiting to be replaced when technology catches up with whatever work they're throwing bodies at.
It's not 1960 anymore. Invest in your automators and treat your people managers as a low-value-add cost center.
And, more importantly, what might be the massive unintended consequences of routing your org's permission structure in the same way you route its head-count?
Strategic decision-making is not the same as people managing, and people managing can even create blind-spots that get in the way of good decision-making.
Would you rather have developers wearing every hat in an org? When would they find time to code? I know many developers who don't want to have to do all of that work simultaneously, and are extremely grateful for a manager who can take many of these tasks off their plate.
When was the last time you tried to add a recurring meeting to a development team's calendar? They... don't like it, in my experience, and I respect the hell out of that.
Just because you treat something as low-value-add or admit it's a cost center doesn't mean you don't need that work to happen!
> When was the last time you tried to add a recurring meeting to a development team's calendar?
Yes, I agree, managers' secretarial and political work is incredibly important to the success of an org. But the 1960s idea that it's a "force multiplier" worth high comp is a mistake.
I'm not contesting whether managerial work is important or necessary or to be respected. I'm contesting the idea that managerial work is a force multiplier for individual contributors, in any sense other than in the same sense that janitorial work or admin assistant work is a force multiplier. The only orgs where I've seen managers to be actual force multipliers were body shops.
This is why managers often get paid more, and it applies even more the further up the chain you go. A good CEO is worth every single penny of the millions they get paid, because of the multiplicative force they have on everyone below them on the org chart.
I think we are disagreeing because we're talking past one another. Hopefully the following observation helps make my point:
The average base pay for a manger in the USA is much lower than the average base pay for an engineer in the USA.
I'm talking about management as a discipline in general and engineering as a discipline in general.
> A good manager is worth 10x a good developer, and a good developer managed by a good manager is 100x base developer value.
Can you define "good" in a way that would allow us to empirically test this statement that doesn't make this statement a literal tautology?
The skills involved in figuring out what to build are entirely separate from the skills involved in building, and you are making the classic mistake of worshiping the skill of building to the exclusion of all other skills.
It is much rarer to know what to build than it is to know how to build.
Right. The whole thing is a silly tautology.
Good managers are force multipliers. Better hire good managers! and then if they don't force multiply they must not have been good managers :(
It's literally an unfalsifiable tautology.
> The skills involved in figuring out what to build are entirely separate from the skills involved in building, and you are making the classic mistake of worshiping the skill of building to the exclusion of all other skills.
"Knowing what to build" is not what 90+% of managers do.
A good manager will improve the performance of her direct reports. If you can't understand this fact, then I don't think you and I have anything more to discuss.
Have a good day!
Right. A good manager indisputably force multiplies because a good manager is defined as someone who improves the performance of her direct reports...
Importantly, any empirical evidence that less management structure improves outcomes is easy to dismiss because it's really just proof that the particular manager/company that failed wasn't a "good" manager/management structure. After all, if they were "good", then the output of engineers would have been multiplied, right?!
Tautology (n): a statement that is true by necessity or by virtue of its logical form.
Saying that we know good managers force multiply by improving performance of reports -- and then defining "good" to mean "improve the performance of her direct reports" -- is absolutely a tautology.
More importantly, ignoring empirical evidence by making a rational appeal to the truth of this tautology creates a rather pointless conversation.
Given the choice between blind faith in a tautology that "good managers = good" and empirical evidence that sometimes "less emphasis on/power for managers = better", I prefer the latter.
You have a good day as well :)
That depends on how high the multiplier is and how many direct reports a manager has. A manager with 5 direct reports and a multiplier of 110% is only producing as much net value as 0.5 of his/her reports. A manager with 20 direct reports and a multiplier of 106% produces a net value of 1.2 of his/her reports.
It's not safe to say that managers in general produce more value. Some do, some don't. It depends on their ability and the abilities of those they share a management relationship with. But the same could be said about engineers/architects/devs.
It's 2002. Does a Kohls Director Of Whatever with tens of direct reports and thousands of people below those reports have more leverage than a single engineer at Amazon?
It's 2021. Does a manager of hundreds of warehouse workers have more leverage/impact potential than a single engineer in a robotics R&D division?
But this is obviously false, right? If the IC is truly a spectacular IC, then it's likely that no matter which manager they're under, they will have large impact.
The impact of the manager isn't the entire impact of their directs, but rather the relative difference between the impact of their directs and the impact their directs would have under a different manager. Which is substantially less, and could easily be less than the impact of a particularly strong IC.
The above resonates as an exercise in tautology to me. If the job of a manager is defined as a position in which a person's decisions will have a multiplicative force... well... then of course their decisions will have a multiplicative force! Though I'm not sure the above is even remotely true for the vast majority of management-type positions, save those at the highest-level. And even if it is... then it of course a fact that the value derived from an individual in such a position is therefore not related to the "multiplicative force", rather, the decisions themselves.
I'd wager most managers come from two camps (the first two below):
1. Those that are ex individual contributors who have accumulated enough seniority and experience to best-understand not "what to build", but rather, "how to build it best". And are therefore given the authority, responsibility, and pay-check to do so.
2. And those who are not really managers at all, and whose job would be more accurately named "coordinators". This seems to be the role you are hitting on at end. You know, the guy who asks the engineers "how can I unblock you today?" and whose explicit role is to have the authority to act on the answer. Notably, not synthesizing the answer in the first place.
3. The third camp is of course the ones to which you seem to be alluding in your comment. The high-level, c-suite, "director of strategy"-type roles. And you are exactly right about them. Clearly the person deciding which widget needs to be built is in a position of tremendous responsibility when the value they can add (and remove) is extremely consequential (assuming the resources required to do so are equally consequential). There aren't many roles like this in a company.
It's the second group of "managers", I think, that the OP is confused about. They don't actually make that many decisions, and the ones that they do make are rarely different from the one their most competent reports wouldn't also make. Sure these "managers" sit in meetings and talk about the larger context of the code, the product vision, etc., but only insofar as that its useful to have someone who can distill and relay this information back to the engineers building the product. Because as an engineer it is, of course, nearly impossible to build a truly great product if you don't understand its larger context. It is this group of managers where the tautology is glaring. It is their job to carry-out the work necessary to multiply force. The work isn't all that creative, doesn't require much judgment, and rarely requires much expertise. The value isn't in multiplying force, it's in just showing up...
To clarify, I'm not suggesting managers don't have value, and certainly don't believe there doesn't exist a spectrum between those in the position. Some people multiply force more than others. They know to ask "how can I unblock you today?". They know that Jim doesn't like to be bothered before 11AM. That Susan is more productive if she has a tight feedback loop. Or that Ron isn't as good as Pam at test coverage. They know how to find and exploit people strengths while also minimizing their weaknesses. This is valuable.
Even so I'd wager most of the time a manager's pay is calibrated such that they make more than those whom they manage regardless of the value these people (the people being managed) contribute and without any sort of rigorous appraisal of how much value they bring or how much force they multiply. How could you? The skills illustrated above can't easily be captured in a pay band...
Smart tech companies have two paths, the management and the engineer path. Where they both have certain expectations but there is no pay ceiling. Bad tech companies tend to disregard this and there is a point that you can no longer get a raise unless you "move up" and become a manager.
In my 25 working years, I've learned this is mostly lip service. Yes, there are ICs who make as much as a VP. But look at Amazon. There are maybe ten people in that company that are IC level making what VPs make. And thousands of VPs.
To be a VP, you have to be a really great manager. To get VP pay as an IC (ie. Distinguished Engineer), you have to be the best in the world in your field.
So yeah, it's possible to have equivalent tracks, but the reality is that you will never make as much as an IC than if you switch to the management track.
E.g., the 2nd/3rd-to-last rung of a FAANG IC ladder makes much more than managers and directors at most other companies in the USA.
This is significant because it's much easier to become a senior IC at a FAANG than to become a Regional Director at the typical company in the USA.
The manager level can result in entire teams quitting, failing to support each other or an atmosphere where catching each others' mistakes is discouraged.
Some jobs are paid based (roughly) on the value they bring and others are paid based on the threat/cost of large mistakes.
Managers don't generate defects. Developers do. Not to mention that a lot of the times it's much harder to reverse an engineering decision vs a managerial one.
Most outages are caused by developers and IT, not managers. This perception that there is higher risk as a manager is false. As a developer I make multiple decisions daily, interpret vague requirements, make judgement calls, request new technologies etc. My manager understands about 20% of the decisions I make. Here is the kicker since I work in DevOps, with a super heavy emphasis on the Dev side. 70% of my decisions have wide ranging effect, much wider than my manager's eight person team.
Finally note that no one really talks about 10x Managers, but people talk about 10x Developers. Why is that? Managers are glorified cheerleaders. Most managers are average, their value is vague but they are controlled by managers so its an endless loop till you hit the worker layer that get things done.
Yes, you're right that defects are made by developers. But you'd be hard pressed to find an example of a software defect that destroyed a company. Even if you as a DevOps engineer cause your company to be down for a day, it probably would have little effect on your company's bottom line.
I was in charge of Reliability for Netflix. Our whole site was down for Christmas Day one year. No one was fired, and it barely affected anything. That was a pretty major defect.
However, the way that management handled that outage had a huge effect on the company surviving that incident. Making sure we focused on the right problems to solve to prevent it from happening again. Creating entire new groups of engineers and then hiring them to solve specific problems of moving traffic between regions.
So yeah, management is really important, and a good manager is definitely more effective than a single engineer. And management decisions can destroy a company, but I doubt you can find even one example of a single engineer's decision that took down a company.
> Creating entire new groups of engineers and then hiring them to solve specific problems of moving traffic between regions.
Albeit admirable, like heck yeah that was a great outcome, it's not a manager decision. Most likely it was a VP or Sr Director decision. Perhaps a manager brought it up as an idea. So if we are talking about Sr Director's+ then yes, their decisions can absolutely bring down a business. Granted I am not familiar with Netflix's org chart so perhaps it works differently, from some basic reading it looks like Netflix follows a decentralized command of sorts.
My beef with the original poster was the implication of risk. Both managers and devs have risk with their decisions. It's not just a manager thing. In the end, when Netflix went down where did the mistake come from? A manager or an architecture decision? Probably it was both.
In that particular case it was an engineer making a mistake, but my point was that it wasn't anywhere close to a fatal mistake.
But more importantly, when a team had repeated technical failures, it was usually the manager who suffered the consequences. Especially if their failures were causing problems with other teams.
The manager had the higher risk job because they were blamed for their team's failures. Therefore they had to be compensated to account for that risk to their job.
It's the same reason CEOs get huge golden parachutes. Because their job is constantly at risk for not only their decisions but the decisions of everyone below them. So they get compensated for that risk.
The relationship between contribution and compensation is obvious. If you bring more value to the company, the company compensates you directly with a portion of that value.
But why does a position with greater risk necessitate greater compensation?
EDIT: Everything below here was in the original post. However, I re-read it and realized it had little to do with the relationship between risk and compensation.
I don't buy the idea that managers are liable for the mistakes of their reports. That would cause a snowball effect in large organizations, resulting in extremely high turnover for leadership positions.
Managers share some liability for their reports' mistakes, but they also share some reward for their reports' successes. Those liabilities and rewards are split across all of their reports, resulting in what are usually relatively stable positions within a company. A lazy manager can get along by just regularly pruning reports who produce more liability than reward.
There are various methods to address risk:
1. Avoid the risk
2. Reduce the risk
3. Transfer the risk
4. Accept the risk
When you buy insurance, you're doing #3. If you self-insure, you're doing #4. Either strategy requires putting some money towards premiums, the expected possible cost of the risk.
It's much cheaper to pursue #1 or #2. You're then saving an amount exactly equal to the premiums don't have to pay under #3 or #4.
Thus, you can pay a person to do #1/#2 a fraction of the equivalent cost of #3/#4 and still come out ahead.
> A lazy manager can get along by just regularly pruning reports who produce more liability than reward.
Yup, and the books will balance.
Of course anything is possible, but there is often a chain of managerial command (managers of managers) to catch mistakes. It's pretty hard for a single, middling manager to inflict costly mistakes anymore than an individual engineer. Also, I've seen management levels that are 0 - 1 subordinates deep (managers of none).
Employees are the first to get fired when a company struggles.
Managers are less likely to be fired, and when it happens they can have more savings as they salaries are higher.
CEOs quit failing companies with multi-million exit bonuses.
So no, salaries are based on power, and so is the ability to dodge risks and responsibilities.
The hard part is how 15 years of prior experience is mostly wiped out. It makes for a colorful background, but largely ignored. Recruiters called it "soft skills" when you have corporate experience, but it's not directly applicable to software development.
Now she has to be not only a good coder but a great one, (and in a tech stack she didn't had used already).
Otherwise, a year from now, they might not feel so charitable, and the story will be "from director of design to fired IC".
A friend of mine made a similar mistake once, believing the BS of the "parallel management and engineering tracks".
To make your assertion requires far too many assumptions for you to know whether this was an act of "charity" or not.
People are with more than their paper skill sets. If this person had been working at Stack Overflow for years, then she probably knows far more about the company itself than a new CS grad. That can be a huge asset. Likewise, her experience of being a manager of the Production Design team, and the Director of Design, can be great experiences to add depth to the development team.
I am a senior software engineer. I am far from the best programmer on my team. A new CS grad could probably out-whiteboard any CS problem thrown at me. But my knowledge of 12 years of the company's development history, my gut-understanding of what kinds of decisions are good for the company, my ability to communicate well with product owners and elicit the right kinds of information and foresee design problems before they happen all contribute to me being an invaluable member of the team.
Three years later I was making more $$ as an IC with none of the stress and nuisance of management.
Five years later I was making 2x my old salary and significantly happier w my day to day work.
To each their own...
I was a good tactical/operational manager but did not enjoy many aspects of the job (bureaucracy, performance reviews, personnel problems, being 'corporate'), had limited interest in strategic business concerns, and did not have the enthusiasm needed to move up the management ranks.
I'm much better suited to being an individual contributor.
It is a risky move and not one I would recommend to anyone - but it is one I‘ve done myself (incl. pay cut) to get the experience to boost my career. Also keep in mind that careers span decades and while specialization is sought the landscape does shift (sometimes quickly) and diversity of skills can provide a degree of robustness.
And yes, the career track slides are not a foundation on which to base decisions.
Besides, it's not like software engineering doesn't pay. Even before I landed by current SV big tech job, I had more than made up for the initial paycut I took at a local startup.
At my workplace those who really thrive on technical stuff can follow a path to technical glory and those who love the intricacies of managing people get to do just that. We end up with more competent managers and developers in the end.
That 'demotion' from founder ceo to sales engg was rough... but since it was in different geographies, I actually made more money and life quality was better!
Switching from (Senior) Developer Advocate to Software Engineer (2) at Microsoft. Both jobs are on the same ladder / pay scale and in the same engineering org. I was promoted just last September and am effectively undoing my promotion.
I had never worked as a SWE/SDE 100% of my time. I have a Math & CS degree and have built lots of random integrations, apps, and created technical architecture designs / product requirements.
I realized I enjoy projects where I get to code or dive deep into technology best. I also want a role that is easier understood by industry across companies.
The hope is that I can perform well to quickly get promoted back to my current job level (and compensation).
The sacrifice is worth it to me.
> This is not an economic move for the company.
I'm not at all sure I agree with you on this. I've worked for quite a few years as a software engineer in banking. At one of the companies where I worked, we had an intentional policy of taking people from non-technical roles (such as "telephone support") and giving them opportunities to move within the company to technical roles... sometimes QA, sometimes development roles.
It is certainly true that these people were less productive for the first year or so than if we had hired a new graduate. And these people rarely (I can't think of any examples) became our algorithm experts who led the way in optimizing the scaling of large systems.
But in my opinion, it was a HUGELY successful program. I mean, it was nice that the people who went through this program had a strong company loyalty. And it sure didn't hurt the morale in roles like telephone support to see some of their former colleagues entering a programming career. But what I really mean is that these people made some of our best developers.
Because you need a mix of different skills as a developer. Sometimes you need someone who knows the latest algorithms or tools for optimizing performance or choosing the best new language to build in. But far more frequently, what you really need is someone who knows the business problem and can communicate about it clearly in the customer's own language. A project nudged into right direction to meet poorly expressed but still important business needs is easily worth thousands of developer-hours of work. And understanding of the business is what these people had, in spades.
So, perhaps Ms. Lustig brings important skills that complement her developer role. I'm going to go out on a limb here and suggest that perhaps she knows a LOT more about UI design than the average developer. She may also know a lot about the company and its needs. And these are VERY valuable things for a developer to know.
(The flagged comment ALSO contained some completely unwarranted -- and unsubstantiated -- sexist assumptions which I think are better ignored than disputed.)
To me, a "director" is someone who understands the business deeply, knows how to lead, take initiative, communicate very well, has years of business experience under their belt...
They want to be a dev. Sure, they need to learn git, python etc. But these are not that hard at all. The harder part of being a developer is communication, making hard decisions, showing leadership. Things a director should be pretty damn good at.
"Demoting" her to an associate developer is stupidly patronising.
This is really only true if you already know how to read and write code. For the vast majority of people, communication skills are easier to acquire than developer skills.
But in reality, promotion means doing more work that you've never seen before. Usually tedious paperwork. Ironically, you're a noob again and now with less time to do the stuff you're good at.
This is why I hate academe. The professor's tasks has very little to do with what a research student does.
Importantly she acknowledges that this is not all roses and fun (which makes it a proper job).
So kudos to her for taking a demotion in the minds of career ladderists but in reality this sounds like a great way to managing opportunity costs properly and having fun while getting paid.
Fast forward 3 years and here I am, being asked to be an Interim-Director as the director here is now retiring and I'm the only one with management experience. They are then in turn 'encouraging' me to apply for the full time director position, saying how I'm the most qualified and despite the "promote from within" policy, they want me to go up against external candidates to "earn" the job they asked me to interim.
I've wracked my brain for a week now--I'm an engineer level do-er, I'm not a manager, but 22K a year is a NICE increase and I want to buy a home. Part of me says "thanks but no thanks, I'm not going to apply for a promotion to a job you obviously think I'm qualified for but won't offer out-right if its going to be a massive paradigm shift AGAIN for me," and another part says, "Dude, you're so dumb if you don't apply for a job that pays 30% more than you're currently making!"
I've got a couple weeks to decide--money isn't my driving factor, the ability to "turn off" at the end of the day is.
What makes you say this? An entry level SWE is lateral to a director who is presumably multiple rungs up on the org chart?
That is one of the great truths of development.
It is easier and more satisfying to build something from scratch. It's literally leveling up.
In the great scheme of things it doesn't happen as often.
Or you can drop it all and start your business, which means all of the above plus sales plus lots of patience and little or no pay.
Otherwise, you can always change career completely.
Or don't.
It's your life.
1. Did the new role come with a pay cut? If no, it was not a demotion.
2. Is someone else pulling enough money where 1. did not matter? If so, then it is a hobby move.
I run a small company which does software development and graphic design. i could describe myself as a CEO, entrepreneur, software engineer or graphic designer. But whenever someone asks me what my job is, I say "programmer". That's how I identify and IMHO it is a very challenging and honorable job.
She must clearly not be writing JavaScript.
I love writing JavaScript applications, but not professionally. It’s a matter of actually building a product versus spinning your wheels with hundreds of megabytes of dependencies and stupidity and circular processes.
Your new headline would be better but it wouldn't have attracted any views.
[1] (https://www.reddit.com/r/Jokes/comments/ab5oht/a_violists_3_...)
Maybe have a look at Gates and Musk who are actually engineers rather then Managers....or more correct Managing-Engineers.
But congratulation for your "demotion".
He was a programmer before, possibly amazing at it too, but I'd hardly say his role at Microsoft was that of an engineer-manager.
He regularly attended engineering meetings throughout his tenure as CEO (he says so in that Netflix mini-series about him) but by far his largest drivers for creating value were how he envisioned software eating the world (esp. the enterprise), and how he executed a commercial strategy to perfection to build a monopoly around that vision.
Not to downplay the difficulty of building operating systems at scale, or that Microsoft might have made some impressive innovations in the 80s and 90s, but they always had a reputation for their products being "OK" at best, so I'd argue their dominant position was acquired through wheelin' and dealin' more than anything else.
https://www.ribbonfarm.com/2009/10/07/the-gervais-principle-...
Any big organization will optimize for people who can extract as much value from their peers/subordinates and present it as their own.
By the way, this does not mean they are not smart or hard working, but you could say the same about any other worker.
I did not say they create nothing, i just said that they should not be held to a higher "rank" than people who actually create something real, with that said there should not be a feeling of "demotion" from director to developer...quite the opposite in fact.
BTW: Look at your reaction, instantly calling me ignorant because i think managers are just gears in the system and NOT drivers.