Hacker News new | ask | show | jobs
by bonecrusher2102 1381 days ago
This is such a tired take. It's part of a steady stream of commentary that reads something like "non-engineering-role X is bullshit."

Here, we see engineers reduce the contributions of such common roles as: Product Manger, Program/Project Manager, Scrum Master, Marketer, CEO, etc., as fungible or run by the biggest boogeyman of all, the dreaded MBA.

These arguments most typically result from not an inability, but an unwillingness to understand, the complexity and nuance that goes into running a business, and to recognize that actual smart people can make real contributions in non-engineering roles.

It's just personal and professional immaturity. Every time I ready these comments and articles, I really hope that the folks writing them are able to grow out of this mindset. They'd be a lot happier and more productive.

44 comments

I work with a lot of technical founders who struggle to accept the inevitable truth that taking the time to specify, coordinate, and resource what they want to do leaves no time to be the one doing any of those things. They eventually solve this problem by hiring other engineers to focus on the implementation step while they keep everything on the straight and narrow. When the company grows and they run out of time to directly supervise every engineer an engineering manager is born.

Engineers who don't appreciate the role of the product/marketing/management layers don't seem to understand that if they had to take on those responsibilities it would leave them with no time left over to write any code. If nobody takes on those responsibilities then our company won't make money to pay anybody to write code. It's not chicken and egg, it's cart and horse.

If you don't want to become a marketing expert as well as a product design expert for the sake of doing all these things simultaneously consider being glad others are taking things off your plate and coordinating work without you so you can focus on writing code.

I think that a helpful abstraction is that writing code is just one of many "levers" that one can deploy to transform one's ideas into a massively impactful, scalable system. Writing specifications, unblocking colleagues, and building team culture are equally powerful and often provide even more leverage. And if it's 10x better leverage, even if you're a slightly less efficient manager than you were a coder, that can still result in a net enhancement in your team's ability to turn ideas into reality. Of course, this won't be for everyone, and one's enjoyment of the day-to-day is perhaps even a larger factor. But if what you enjoy is seeing things come alive, it can be worth taking the plunge into uncharted waters.
Over the first 10 years of a an engineers career they might only be exposed to a few different management roles. It's possible that the manager isn't fulfilling the actual role so what you have left with is just the distraction.

Regardless if the manager is helping the team they almost always drain resources to aggregate information that they can synthesize upstream. It's a system that is so fragile it's not hard to see why we have an industry full of people that experience this.

I think you'r point is that people with 10 or fewer years of experience (which I think is many people in this thread based on the comments) might have a sample bias issue that stems from working around fewer total managers and fewer companies, where those companies also may be worse than average at selecting managers? I would agree that there are probably plenty of people who fit that mold given the state of our industry recently.

As for "draining resources" to do whatever reporting they need to do I don't think I understand what is fragile about it or why it would be anything other than necessary. It's like log aggregation/introspection, you do it because you want to see what's going on at a lower level without dealing with the minutia of every point of data.

To this end as engineers we design code that fills management roles all the time in our systems, and we understand perfectly why their role is needed but sometimes fail to realize that human systems are analogous. Nobody is arguing why a load balancer can be an important part of a system, or the values provided by ORMs, but here we are arguing about what managers do in a complex human system.

or the values provided by ORMs

I'll point out that the world is pretty diverse and there are actually lots of people who think that ORMs were a mistake and lots of people who think that using them is always a no-brainer. There's an interesting phenomenon that it seems like a lot of folks manage to build up reasonably long careers while only running into one side of this divide or the other and not even realize that the verdict on ORMs isn't a settled fact where one choice is always right.

Perhaps it's similar with engineering management and we should be having a more nuanced conversation.

> there are actually lots of people who think that ORMs were a mistake and lots of people who think that using them is always a no-brainer.

This doesn’t mean that both groups are right though.

I would argue that neither group is right. Both are myopic and only see things from a limited perspective.
I see that the phrase "draining resources" can be taken to only mean a net negative. I was attempting to state that it takes time away from the team for the manager to function. That manager could see positive or negative returns on the time it took.
I still think there's an issue here just from the phrasing. "Taking time away from the team" implies that the team has better things to be doing. A manager isn't stealing a team's time by aggregating information to share upstream. A good manager is keeping the team aligned and informed so that they're working on the right thing at the right time. If the manager isn't there, the team needs to do that work, or be potentially wasting their time.
I see this as a rephrasing for a bias towards the management. Obviously a manager can completely waste the time of the team and company. Anecdotally I've had more managers do this than not that reported to me. I have been lucky with the people I've reported to myself especially earlier in my career.
>it takes time away from the team for the manager to function.

I think a more accurate take is that it can "drain resources" from the individual to provide a net positive impact to the team (ideally). The problem with a lot of the cynical takes here is they appear to be only considering the perspective of the individual.

It's like the idea that if somebody stops by my office to ask a question; it's great for them to get an answer, but a detriment to me because it interrupts my work. If all I cared about was personal productivity, I would lock my door but the overall team productivity would likely suffer. A good manager puts together a system/culture that balances all those competing goals to the betterment of the team.

> they almost always drain resources to aggregate information

Here’s an idea: Provide this information before they have to ask, when it’s convenient for you. Like between tasks.

Took a 5min break? Move the damn story over to done. Got stuck and seeking clarity but are blocked? Leave a quick comment.

If your manager has to ask what’s going on, you’re not communicating enough.

Sure, but none of this is free. That's all extra work that has to happen. The fact that I'm doing it in "down time" doesn't make it free, I have a million other things I could theoretically do at any given down time.

Not to say this work is necessarily not worth the cost, but it absolutely costs something.

Of course, the managers don't rely on the ticketing system either, because not enough people are super diligent about updating the tickets.
> Here’s an idea: Provide this information before they have to ask, when it’s convenient for you. Like between tasks.

Sometimes that's all the manager wants, and the team lets them down. Sometimes the team takes hours estimating work that no one can reliably estimate, because management wants a burndown chart to feel good about, even though the last n burndown charts were wildly inaccurate.

As with any situation, issues happen at every level. What's unique to managers, though, is that they combine overwhelming power on the team with zero accountability to the team. Obviously when something goes wrong the team is going to be mad about it.

That is technically an idea.
> Engineers who don't appreciate the role of the product/marketing/management layers don't seem to understand that if they had to take on those responsibilities it would leave them with no time left over to write any code. If nobody takes on those responsibilities

Spending on marketing is like building and maintaining a nuclear arsenal in this respect: It is to everyone's detriment (yes, everyone) but if the competition does it, you must also.

Oh please, there's a reason why those comments exist - because more terrible managers exist than those "good ones" that you allude do. I would posit a guess that most, if not all, engineers on HN have had to live through at least one terrible manager that has soured/tainted the position. Speaking for myself, I've lived through many and it's a miserable experience to be under these people.

Nobody is saying that the functions of these roles aren't necessary, they're saying that the people who live in these roles are overall bad, don't know how to effectively execute these tasks and present an aura of superiority over the technical roles when they're providing very little value at all.

That’s silly. Managers exist on the same spectrum as any other role. Most are about average. Some are better, some are worse. Same with engineers themselves.

These articles are undoubtedly written by people who have never been managers themselves, and frankly just don’t have any idea what the job is for. Which is fine - everyone starts that way. But to then assume the job is useless is classic sign of imaturity.

> Nobody is saying that the functions of these roles aren't necessary

That’s literally the premise of the article posted.

Maybe these articles are written by people who have never been managers themselves. I'd also posit that most of the defense of the position comes from managers. Do you not recognize the irony in this?

I'm sure you're aware of what they say: Its difficult to get someone to understand something when their paycheck depends on it. Do you have the self-awareness to recognize that this, alone, is a huge reason why managers immediately come to the defense of their position?

I've been in the industry for 20 years now. I've worked with good EMs; I've worked with bad EMs; I've been an EM (less often). That spectrum isn't even relevant to the underlying assertion that the core definition of the role is invalid. Its extremely rare to work with an EM whose entire scope of responsibilities wouldn't be more productively served by a peer PM. The only advantage to an EM title is in the organizational power structure, which is far too often leveraged to abuse their reports by trading quality output and mentorship for more working hours, burnout, and Jira graphs.

This is interesting. What, in your opinion, should the core definition be (if anything)? And how is that eroded when tasked to an engineering manager vs. a project manager?

One of the major issues I have with the article is they lean heavily on the "creative work can't be managed like manufacturing widgets" train of thought. It feels to me that they define developers as artists when the article is about engineering. I think those are different roles are different. Even though both require a certain amount of creativity/subjectivity, it's a mistake IMO to conflate the two.

A Project Manager is a non-executive role. They facilitate the flow of information that keeps a project on track, including reporting progress up.

A Technical Lead, Design Lead, and/or Product Lead is the final arbiter of executive decisions about how a project will be completed.

A Coach meets regularly with ICs to help debug workflows and interpersonal issues.

A Manager signs paychecks, and takes responsibility for the work actually getting done professionally, reporting to HR when it’s not and taking action on behalf if The Company when needed. They are the legally responsible person for the things happening underneath them in the org chart. In an ideal week they do nothing at all.

Engineering Managers tend to do some combination of all of these things, usually most of them poorly since that’s way too much work for a single individual.

Thanks, that's an good breakdown. I'm curious, is this an ideal or a pragmatic approach? At first blush, I understand the distinctions but it feels more like a theoretical organization rather than a real one. I've personally never worked in an org with all those roles so, as you say, they tend to get mashed together.

It does seem like there would be a naturally pressure to lump together the roles. I suspect that if your ideal week happens too much (where the manager does nothing at all), executives would question why they're needed.

Not the GP but it's nigh on impossible for an EM to do their job. Roughly speaking they are supposed to be the voice of developers/engineering. But since they are not hands on the code they don't know the reality of the code base and so can't be an effective advocate. Ultimately they end up being a relayer of messages.

I think the role needs to exist but it's not a per team role. You need one for every 4 teams or so. They're there to build the teams, make sure they're running right, and do the high level resource allocation. Day to day management of the team should be a collaboration between a lead developer and a product owner.

Maybe part of the problem is there is no consensus on what an EM "should" be doing. Note that the comment above this one gives a much different synopsis of the role.
I think Software Development is far more creative than you give it credit. Let me list a few realities of modern software development:

1) You give a spec to ten different engineers. You'll get ten wildly different solutions, from decisions within a single programming language, to different programming languages, to microservices and serverless.

2) So: make the spec more specific to reduce the variability. Now an engineer has to write the spec; and we're back to square one where the spec is just an expression of how they would develop it. You give it to ten engineers, and you still get ten different solutions; but maybe less variable.

3) Of those ten solutions, most will fail in weird ways, because software breaks. That's what software is known for; breaking. Its hard, probably impossible, to write reliable software, and we're on a deadline, so like 30+% of the team's time is spent just on operations.

4) Of those ten solutions, most will fail to account for some edge case, because the spec didn't cover that edge case, because (reasons). Well, file a followup ticket.

Those bullet points represent so much variability in how the future will play out that any ability to "manage" it is an exercise in futility. Add in interruptions, add in PTO, add in cross-team coordination, incidents, every day longer that a project takes reduces the accuracy of estimates substantially; that can't be managed (well).

That's why product engineering is fundamentally a creative effort. Maybe not like Art or Music; I liken it to more like, well, video game development (which, you know, people write code in so its really confusing to me why Culture considers that creative but not typical software development, I guess its because they produce something Pretty and Fun).

Video games have deadlines. They have business demands. Customers. Product-market fit. Roadmaps. Coordination. Massive, massive variability in implementation. Massive unknowns about what the final product will look like. Massive technical problems involved in bugs, performance, optimizations, maintenance, different platforms.

Here are five careers pages for major video game studios. Seriously, go to all of them, and tell me how many positions they have open for "Manager of People Who Do Traditionally Creative Things": [1] [2] [3] [4] [5]. Its not many, if any. They have roles like this, for sure, but they're not phrased or labeled from the perspective of "Writer Manager"; they're phrased as Lead Writer.

And the critical point there is maybe one involved in the hierarchy and power relationship. But more importantly, its background! The Lead Writer WAS a Writer. That's experience in the domain of the people you're leading; that helps massively in every responsibility this role should have. Timelines? Hella. Roadmapping? Heck yeah. Mentorship? The forbidden word that big tech managers hate.

But Tech is a weird microcosm where EMs are just Managers. The best EMs have an IC background, but many job postings list ZERO requirement to that effect [6], and ask any Engineer-turned-EM: They ain't doing much Engineering anymore. That's not just a benign anomaly; its a problem with how our industry builds companies. And we sit around twiddling our thumbs wondering why engineers hop jobs every year or two; its because, well, the pay is probably better, but also because its a coin flip on whether your manager is actually good, or just some guy that talks good.

Hypothetically, what is a better path forward? Get rid of "Engineering Management". The team has a Lead Developer, who is legally or whatever, the person who "manages" the team (there's that word again, KILL IT WITH FIRE). That role is a peer to PMs, POs, Designers, etc. That role requires a long history of actually doing engineering; and still does it, at least from a high level (meetings are necessary and, yeah, its hard for Engineers-Turned-EMs to find time to code; but writing/reviewing specs, PRs, mentoring the team by helping them debug problems, I'm salivating at the idea of having a manager like this).

[1] https://www.insomniac.com/careers/

[2] https://sms.playstation.com/careers

[3] https://www.valvesoftware.com/en/ (kind of interesting that their home page is their open roles. hiring like crazy! no managers).

[4] https://www.epicgames.com/site/en-US/careers/jobs?keyword=ma...

[5] https://www.respawn.com/careers

[6] https://stripe.com/jobs/listing/engineering-manager-payment-...

Everything you've said can be related to any other engineering discipline. Think of how many mechanical ways your car can break. Or a building can degrade. They have creative ways of dealing with that too. But do we insist that automotive or architectural design can't be managed? The distinction is other disciplines have managed away a lot of those failures through the constraining the design alternatives to standards and best practices (and sometimes regulatory codes). In other words, software feels like it's more creative because it's less well managed. So to say it can't be managed because it's more creative is circular logic.

What you've really illustrated is that software is hard. Engineering is hard. The distinction is that other engineering disciplines have had a much longer time to codify good practice. I bet if you went into, say steam engine design in the mid-1800s, it would feel a lot more creative than today. For a variety of reasons, software development is not nearly as good at implementing standards and to go into all of them would be a digression. However, I think the distinction that we disagree on is that it's due to anything inherently different in software. I'd make the case that software is easier in some respects (e.g., it doesn't display wear out failure modes) and harder in others (e.g., it tends to have more interface failures). I'm saying it feels more creative because it's less well managed. If you've ever worked in a heavily regulated sector like safety-critical software, it definitively feels less creative than a CRUD web-app development effort for this very reason.

I personally think part of the issue is that EM becomes a career-track that can start immediately out of school. It's similar to the change in MBA programs. The better MBA schools used to require that you have worked in industry for about a decade before even applying; now it seems like most schools offer a management track without necessarily having any experience. The result is a self-selection for people who want to manage without necessarily having a concrete understanding of what they are managing.

> I'd also posit that most of the defense of the position comes from managers. Do you not recognize the irony in this?

That’s not irony. That’s someone with no domain expertise saying something and then someone with domain expertise refuting it.

If I, a casual baseball fan, made a claim about umpires being useless in baseball and then an umpire came in to explain otherwise, that would not be irony.

I’m also not an EM, though I have been one in the past.

I don’t understand your point about PMs. You’re saying that the responsibilities of an EM should be that of a PM. So you’re just arguing for a name change? Or something else?

Don't know if that is what they're suggesting, but I would suggest:

owner/board -> worker teams (up to 5 individuals) -> team helper (this is the previous manager role)

Edit: I will also add that it's strange, the more experience I have of incompetent managers, the more I'm told I don't understand them!

> I don’t understand your point about PMs. You’re saying that the responsibilities of an EM should be that of a PM. So you’re just arguing for a name change? Or something else?

Well, its not just a name change, but generally Yes.

The biggest thing is from the Org Hierarchy perspective. I want to preface what I'm about to say to be perfectly clear: This is not true in every company.

EMs have the final say on resourcing for code-related tasks; but poor understanding of the code, systems, etc because the Lead/Senior devs live there. EMs have the final say on product decisions from PO/PMs under them; but a poor understanding of the product because the PO/PMs/etc breathe that. EMs have the final say on designs; but a poor understanding of UX because the designers have that.

The best EMs always have some background in one of the roles I outlined above. They come from an IC background, they were due a promotion, burned out in the IC role, ran out of promotions in the IC track, whatever.

But in many situations the role of an EM becomes a mediocre mashup where the one thing they're actually good at is navigating the politics of org hierarchies; or if you want to be Business Proper, call it Communication. Ask any high school guidance councilor where "Communications" lands on the list of Valuable College Degrees and you'll get a pretty consistent answer. But: EMs somehow escaped this destiny, because tech has a weird distortion field on incomes right now.

Here's the sinister part: Because EMs hold power over everyone who reports to them, its common to see turf wars over responsibilities. Example: "We don't need to hire for a PM, I'm doing that". That's why it isn't just a simple name change; its their fundamental place in an org hierarchy that can make the role a net drag on an organization. Orgs hire them without a tactile definition on the responsibilities of the role [1]; just extrapolate "manage the engineers" to three paragraphs and call it good. You'll do roadmap planning (in collaboration with senior leadership and the PMs). You'll help prioritize incoming work from different stakeholders (in collaboration with the PMs, Customers, and Engineers). You'll help build the team (in collaboration with Recruiting). You'll mentor the engineers (but, we don't require any engineering background, so how you'll do this well is anyone's guess).

The role doesn't actually DO anything valuable; again, at best, the person has IC experience and can carve out a niche that's a hybrid of that IC experience and more coordination/communication. But at average, they're a message bus that attends meetings and parrots messages from someone that actually matters to someone else that actually matters [2].

[1] https://stripe.com/jobs/listing/engineering-manager-payment-...

[2] https://www.youtube.com/watch?v=m4OvQIGDg4I

PM as product or project?
Yes.

(said tongue in cheek, but the confusion is so often carefully maintained that...)

The power dynamic between managers and those they manage is the differentiator. Sure it's a spectrum but half of that spectrum (from average to god awful) have power over your career/work, to your detrement.
> Sure it's a spectrum but half of that spectrum (from average to god awful) have power over your career/work, to your detrement.

It is always your responsibility to advocate for yourself, your career, and your work.

If you are an engineer you should view your manager as a marginal value add only. Some managers add more value to your career than others, for sure, but it's still marginal relative to the effect that YOU have on your career. If you find yourself on a team with a truly bad manager who is having a negative affect on your career, get out...but this is truly a rare occurrence in my experience.

If your manager is only adding a marginal value to your career it is time to have a conversation with them. A manager that isn't advocating for their team isn't a good manager at all. They're something else.
A manager can only add marginal value to your career. ONLY.

You spend 40+ hours a week on you and your career. Your manager spends a small fraction of that directly on your career.

100% agree that they need to be advocating for you/your team, finding the right projects for you/your team, etc, etc. But at the end of the day your career is your responsibility, and it's only a fraction of your manager's responsibility.

This view makes it seem that the manager is compensated directly by the team.
Thats assuming the average is net neutral to your career/work.

The average engineering manager may be a net benefit, or a net detriment. The rest we can extrapolate from there.

I do think that this is fair and it is a reason why bad managers stand out so much in people's minds. I think that making it feasible for a team to fire its own manager would be generally a good thing.

But this has little to do with the argument that management as a concept itself is self serving bullshit.

Why? If most managers are useless that means most in the role aren't actually helping or doing anything yet the world seems to go on. Why have that role then? If you can have someone who is a negative in that role, then you can get rid of it.
> If most managers are useless

Big IF. Even worse-than-average managers are not useless. To have a truly useless manager is an extreme rarity.

> means most in the role aren't actually helping or doing anything

You're painting a broad spectrum of people on a binary scale. A bad manager is maybe 30% as useful as a great manager. But 30% useful is still better than not existing.

> If you can have someone who is a negative in that role, then you can get rid of it.

By this logic every job is useless. Any role can have someone bad at it.

I think this is the sign of inexperience/immaturity.

What you're describing is a universal aspect of life. From parents, to teachers, to managers all the way back to chieftains of prehistoric tribes there have been power differentials between people and the more competent person has not always been the more powerful.

And we're honing in on the pain point of that aspect of life. I'm not having a revelation here, I'm lamenting the fact with my peers on a site dedicated to technology/engineering.
I think what you're describing isn't inexperience or immaturity; its idealism in the idea that competent people should hold power.

The world may not work like that, but it isn't immature to fight for it.

I have been a manager and a manager of managers and I think we really do not have good data on whether not "management" as a profession in software engineering really adds value. We're bad at quantifying the value of engineers, and we're worse at quantifying the value of managers.

There are definitely a wide range of non-engineering skills required to produce good software but that doesn't automatically justify the existence of a dedicated engineering manager role in most or even any teams.

I can justify it quite easily. Take it away and see what happens.
I don't think its possible to just take it away and see what happens, because organizations build the concept of EMs into their entire culture.

As an example: I worked in a Big Tech org where the only way to get anything from another team was an org hierarchy jump. ICs could reach out directly; ignored. Some teams didn't even have a way to reach out to them. You had to go EM, then maybe a Director, then it filters down, and maybe a day, maybe a week later, you'd get an email introduction. It doesn't have to be like this, no one even decided it should be like this, but because they had the hierarchy that's how the culture evolved.

The better comparison is to look at companies who don't have that role, or define that role significantly differently from the traditional Big Tech definition. There are many; of course, not as many as the latter. And just like companies who do have the role traditionally defined, there are success stories and there are failure stories. To me, the more I've read up on those stories, the more I've realized how pointless the role is.

Or, maybe more accurately; how much of the role's responsibility is really to be a crutch for bad culture, bad upper management, bad hiring practices, bad interviewing, etc. That ain't totally pointless, but if you're also flipping a coin on the quality of each EM you hire, and moreover the coin is rigged because we don't even have an industry standard definition for what defines success in the EM role in the best cases; there are better ways of reaching the same destination.

But, you know, most of the time those better ways require an ounce of Trust from senior leadership, and that's like pulling water from desert sand.

There's not a ton of consistency across even relatively similar-looking tech companies in my experience, so you really should expect your mileage to vary. My N=3 large tech companies in my career is not so much better than your N=1 example, but it does allow me to say that these things are not consistent at all, with some notable exceptions, usually constrained by employment law.
Devs: "Overworked? Too many disparate responsibilities? Not being able to write enough code? No team cohesion? This is a systemic failure of leadership, start interviewing for other positions."

Devs: "We, as software developers, are underappreciated! People only pay attention to us when things go wrong!"

Also Devs: "Managers are so useless lmao"

I like this caricature but remember that, since this is not a regulated industry, there are many different personalities, and those who think this way don’t succeed for long.
What happens is that an otherwise productive engineer has to step up and perform the role, but without any recognition of the extra responsibilities or any reduction in expectations of their individual contributions.

So then they find a job somewhere else and another otherwise productive engineer has to step up.....

Meanwhile the other engineers continue on blissfully unaware, patting themselves on their backs for how they don't need to be managed.

I've seen this happen in smaller teams; it can work well! Productive teams and skilled engineers can manage their own workload. Not all of them want to do that, so that needs to be taken into account, but it can work spectacularly.

I've also seen it work poorly. We've already established that there are good and bad EMs; there's good and bad in everything. That doesn't justify the role of the EM!

I've also seen PMs do this. This is the far more common situation, and it works! Workload planning ends up being a collaborative effort on the team, with the senior engineers holding domain knowledge over operations, maintenance, architecture, implementation, while PMs/Designers/etc hold domain knowledge over the business, customers, etc. Work once in an environment like this; well, at least a good one; and it will make anyone and everyone question why EMs exist at all. There's no room for them. They wouldn't contribute anything even if they were added to the mix.

And no extra agency and no extra authority. I've been in that spot, had the best 4 months of my life (lack of authority was painful). Then 2 clueless managers were hired above me.
I've been at my current job for 12 years. For my first three years, I had no manager [1]. I then did an internal transfer to development, and had a 'meh' manager [2]. He burned out after a few years. The next manager I had was great. Technically, he shouldn't have been our manager as he was a director at the company, but due to financial politics, the company couldn't hire a manager for us. He just told us what we needed to do and otherwise, let us developers alone to do the voodoo that we do. He was eventually let go and one of the other developers on our team was promoted to manager. He too, was great, just telling us what to do, and trusting us to do the voodoo that we do. He retired. My current manager (from the company that bought us out) is bad. Enterprise development being shoved down our throats, not only telling us what to do, but how to do it.

So, in my mind, a good manager will tell the team what to do, listen to them, and let them do the how. Next up is no management---in my experience, I knew what needed to be done, and got it done. It was great, but I realize that was a bizarre case that normally doesn't apply everywhere, but because of the nature of the work I did, only a few other people actually knew the work involved. The 'meh' manager didn't hurt, but really didn't help. And bad management, well ... let's just say a bad manager can really damage a company.

Until bad management showed up, our team always delivered on time, had smooth deployments, very few bugs in production, and otherwise, was not a source of issues for anyone. Now, we've missed multiple deadlines, horrible deployments, bugs in production and our customer, The Oligarchic Cell Phone Company, is very pissed. And it's not the sole fault of my current manager, but of upper management in general.

[1] I was initially hired in QA to test the call processing side of our product (the bit that happens when a call is placed). The existing QA manager only knew how to QA the cell phone handsets, not the call processing server side. I knew next to nothing about the cell phone handsets. It was clear the QA manager was not a good fit for me.

[2] He wasn't great. I don't think he was as bad as some other employees said he was. He was a developer who was forced into a management role.

I've worked in a place without eng managers, product managers, scrum masters, various MBA people, you know... all those employees that a certain segment of HN thinks are useless. It was just Sales and Software Engineering, and the CEO, to whom everyone reported. It was the worst job I've ever had.

Developers just developing, without interference from evil managers and clueless PMs! Amazing! The ideal work environment for the genius bootstrappy engineer! Sounds like heaven, right? It was not. It was total chaos.

1. Nobody knew what they should be doing and what were priorities. Someone from sales would run downstairs and say "I just sold Foo to a giant customer! You need to build Foo now!!" and everyone would go off and start building Foo. Then the CEO would fly in and ask "Why are you not building Bar? I'm personally interested in Bar, please show some results! Oh, and any product changes need to be personally approved by me now. Byeeeeee (gets on his plane again)". So developers kept developing but had no idea what to develop.

2. Joel Test[1] was 0 out of 12. Since it was just developers developing, nobody had time to write a spec, or set up source control, or design a build/release process. Those were icky tasks that stupid PMs and managers did. Developers want to develop. So the software engineering process was a clown show. Releases to customers were always late, and when they happened they were built directly from an engineer's workstation (they would just find a tree that actually built without errors, and that was the release).

3. If the software failed in the field for a customer, and this happened constantly, there were no useless support staff to talk with that customer, do basic tier 1 and 2 support, diagnose, and so on. Customers simply got angry, and since it was just developers developing, they had nobody to call and rage at, so they'd call the CEO. Then CEO mad. CEO would make a developer fly out to the customer's site with a laptop and debugger to pacify the customer. Now, that particular developer wasn't developing and was sad.

4. Things like career growth, mentorship, training, learning new best practices, none of that existed. It was just developers developing, so there really was no knowledge transfer or any distinction between junior, senior, staff, and so on. Nobody's job was to set these things up, so it never happened. There were no levels so no concept of promotion. If you wanted a raise, you'd go to the CEO who would just say no. That was basically your career development.

So yea, go find a place without managers and MBAs and let me know how it goes.

1: https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...

> 2. Joel Test[1] was 0 out of 12.

Sorry, but then you and your colleges were not senior enough to handle an environment like this. This is not a question of missing management, but also missing (technical) leadership.

While I do not know if it would have solved all your problems, you can make this environment better, without adding a management layer in between.

I can't speak for everyone, but I would not argue against PMs or Senior Leadership.

There are two critical differentiators in the role of an EM: power over those managed, and the bias toward management over productive output. The people who predominately fill those roles are those who are good at management, not those who are good at production (and, by the way, the "good EMs" which DO exist are generally people with a history as an IC, and treat the role more as a PM).

> nobody had time to [...] set up source control

Now wait, how do developers develop without source control?

As an individual contributor, I consider a number of things in that paragraph good practice. Specs, say. But source control? That's just so fundamentally basic that I lack vocabulary to express how essentially important I consider it to be. How does a team get anything done without one?

Can you design an organisation in which has managers, which would fall apart entirely if you took them away? Yes absolutely.

I'm not sure this really demonstrates that they added value so much as they just prevented value from getting subtracted by other dysfunctional parts of the organisation.

I've worked for months while they hired a new manager, and we just had less meetings.
Conversely, I had to attend more meetings when I didn't have a manager, because they were no longer there to act as a filter/shield for the chaff around the corn of what I needed to know.
Presumably someone was still managing you (e.g. there was someone for you to go to if you wanted to book time off, ask for a pay rise, etc)?
I imagine bikeshedding galore lol.
Exactly this.
> Managers exist on the same spectrum as any other role. Most are about average. Some are better, some are worse. Same with engineers themselves.

I do understand what OP said somewhat though. Mostly due to Peter's principle, thus, managers are not "about average" but "mostly incompetent". It is easier to promote people managers than ICs in growing organization, hence it is easier to play out Peter's principle in real life for people managers.

The key that I think makes all the difference is to treat moving to management as not a promotion, but just a change to a different career track. Same as if the person went into design or any other non-engineering role.
Remember that the Peter principle only applies to people who’ve peaked and who are in roles with some meaningful promotion path remaining. It doesn’t apply to someone who’s working their way up the ranks and is currently an engineering manager. It also doesn’t apply to someone in that role in a small-to-midsized company where there’s nowhere further to be promoted without buying out the owner.
The Peter Principle is just an idea someone had (and intended to be satire) and not an actual factual reflection of the way the world works.
The fact that it's satire doesn't make it untrue.
Not just that. The fact that it's satire means it's at least somewhat true.
However if the satyrical speaker did not believe that they had a duty of care to the truth, then it is bullshit[1].

[1] Prof. Harry Frankfurt, On Bullshit. http://www2.csudh.edu/ccauthen/576f12/frankfurt__harry_-_on_...

It does seem to be a reflection of how the world works though. Most promotions risk being promoted to your level of incompetence because they are happenstance. They mostly occur either when you're joining a new company or someone leaves/company is growing which makes room.

Being promoted because you are excelling in your position and taking on responsibilities of the one above is the rarest main reason from what I have seen.

> Most are about average

Surely you meant to communicate something different here and not a mathematical impossibility.

Do you mean most fall within 1 standard deviation of the average? That still means half the managers you encounter would be below the average quality assuming a normal distribution (which it’s clearly not - skills tend to follow the power law).

Most engineers are actually decidedly quite bad at software development itself for what it’s worth. The equivalent of a first level line manager is typically a first level engineer (not always but usually). Good managers get promoted to manage managers / multiple teams which dilutes their qualities (they now have to train other managers to be good). So think about whether you’d put a very junior engineer in charge of a project and what kind of results that might have, especially since if the manager is actually good they’ll be promoted away whereas an IC who’s hood is simply given more responsibility on the project but the role doesn’t change too much.

Really unclear what point you are trying to make. But yes my intention of using the word "about" average and not "exactly" average was to communicate that most people hover somewhere around the middle. If you want to get really specific and get into stddevs, be my guest.
"Most people" cannot be above average. That's an information free statement.
> Most are about average.

That is not how averages work. It depends on the distribution.

It's most likely a bell curve
To answer your nitpick with a nitpick, averages can work that way. Do you know the distribution of engineering managers well enough to say that most aren't "about average"? GP was making a claim about engineering managers.. not about all averages.

But regardless, that's missing the point. The point is that the distribution of engineering manager quality is likely pretty similar to that of any other role. So claiming that "there are way more bad engineering managers than good ones" seems likely to be untrue unless you also believe that about nearly any other engineering/management/product position.

> To answer your nitpick with a nitpick, > averages can work that way. Do you know > the distribution of engineering managers > well enough to say that most aren't > "about average"?

Sorry it hit a sore spot; especially in a community such as this we should at least try to speak accurately regards statistics.

That's not what I'm saying. The OP is stating that it holds for averages. It doesn't. It might in this case but we don't have the stats.

The statement just doesn't make sense - you can say exactly the same about a random value. It will hold in some cases. Average too. However it will not hold in all cases.

> Managers exist on the same spectrum as any other role.

Anecdotally, I've met a lot more people who don't want to manage (again) than people who don't want to be ICs. I think that indicates a different "spectrum" of humanity.

> Managers exist on the same spectrum as any other role.

I think it doesn't help that you'll find about 1 manager for 8-10 engineers. The same spectrum, but lower raw numbers, might give an exaggerated impression of mediocrity.

The 'average' manager may indeed be a net-negative, much like the average car crash.

> frankly just don’t have any idea what the job is for

We know what the job is for, but maybe there's no actual value there.

Do doctors have managers? Do lawyers have managers? No, they might report to some administrative body, but they mostly work on contract or in teams. The 'communicate with customers' nonsense is delegated to lower-paid clerical staff, not 'managers.'

What engineers need is low-level clerical people to handle the day to day comms with others outside the org. We don't need managers, unskilled labor needs managers.

> Do doctors have managers?

Yes. If a doctor is working in a hospital, there are most certainly managers. Obviously not "technical" managers in that they're doctors themselves or the doctor's "boss" but in that there are managers who are co-ordinating workforce, priorities, staffing, supplies etc etc. This is very much a thing and is more broad than engineering managers but is an incredibly important task so the daily admin work does not come to a doctor who is probably prioritising saving lives and helping people

> The 'communicate with customers' nonsense is delegated to lower-paid clerical staff, not 'managers.'

This is incredibly demeaning of people in hospitals who actually have to do these jobs. There's a massive amount of work required here and it is by no means "clerical". When "customers" literally have their lives in a doctor's hands, the complexity increases hundredfold. There's legal sensitivities, paperwork, spending, collections and so much more stuff involved and this is not even counting the kinds of things they need to do which involves interfacing with patients and their kin about sensitive matters. This is not simply "admin work". This is critical, life saving stuff

Are managers of doctors saying ridiculous things like you need to only seem patients 30 and up this week, or your not diagnosing enough strep throat.
Assuming there is an analogue between a very clinical and technical field like development and an incredibly volatile and human field like medicine is futile. They don't have many of the same problems we do

Instead they have to force doctors to break bad news to patients' relatives or do it themselves, get signatures from both parties for procedures, coordinate in/out patient streams, listen to doctors demand equipment and medicines and face upper management denying them their requests and tons of other such bullshit. Medical insurance and its intricacies is a whole big ball game that they have to constantly play with so that's fun

I have plenty of friends in the medical field and yes you hear stuff like this all the time. “Thirty and up” because maybe there is an underserved community. “Not diagnosing enough strep throat” because maybe there is a recently discovered epidemic and doctors hadn’t been testing for that.

People who have a high level view can direct the folks down in the trenches quite productively.

I don't think "hospital administration" is really an analogy that helps your argument since the growth of that sector has a significant share of the blame for rising healthcare costs and all kinds of other issues. Some level of support and oversight is needed but it seems to frequently grow to the point where it becomes a net negative.
If you consider interns and residents doctors (which they are), it's not a wild leap of imagination to consider attendings "medical managers".
> Yes. If a doctor is working in a hospital, there are most certainly managers.

Maybe some places. In the US, most doctors are independent providers for hospitals, they don't have a traditional 'manager'. Outside of a hospital setting, this is also true.

> This is not simply "admin work". This is critical, life saving stuff

It may be, but it's lower skill work delegated to people that are subordinate to doctors, not their managers.

> In the US, most doctors are independent providers for hospitals, they don't have a traditional 'manager'

You are putting a round peg in a square hole. As I already stated, these are not the kind of managers we see in development where your manager is your "boss". Even as independent providers, doctors will have someone they are interfacing with who will see to the admin and other work so they are focused on medicine. Less than half of all practicing doctors in hospitals in the US are independent. Most of them are employed by the hospital. You are grievously misunderstanding the role of the "manager" here. There are certainly far fewer managers in independently practicing medical facilities like clinics but that's because the volume is far lower and the doctors themselves wear many hats

> but it's lower skill work delegated to people that are subordinate to doctors

Again, this is very insulting to the people working these roles. They are not "subordinate" and the work in not "low skill". These are parallel roles to doctors. Leaving this kind of work to doctors would result in a failure of the medical profession in its entirety because of the sheer volume and sensitivity of it

I'm not sure that's true.

Many lawyers do work on separate projects: Alice drafts my will, Bob handles your divorce, etc. Since these can usually proceed independently, there's not much to manage. However, bigger cases/projects usually do have a structure: someone, perhaps a partner, interacts with the client, develops a strategy, and delegates its implementation to associates.

Likewise, the doctor who manages your blood pressure in a private practice is fairly independent. On the other hand, hospitals, especially teaching ones, often incredibly hierarchical, with med students at the bottom and layers of interns, residents, chief residents, fellows, and attending, with a department chair on top. Attendings can treat patients individually, but they also oversee the work of the more junior staff; they're even called "supervising physicians" in some places.

If any project has more than a few people, I'm not sure how a "team" can proceed without at least a de facto organize/leader, and if that leader spends most of their time leading....well, that's a manager.

The important distinction is:

A partner in a law firm, who oversees a large case, is a lawyer. A doctor overseeing med students, etc. is .. a doctor.

These are competence and seniority hierarchies. That is very often not the case for eng. managers (and so inherently more dubious and less useful).

Try telling a surgeon, that his new supervisor is basically a glorified clerk, who will tell him what to do and in what timeframe. Having worked with doctors, I can vividly imagine a hilarious scene.

Doctors have professional bodies that they can be removed from, same with lawyers, and accountants, and any number of professional associations. But the big differentiator is that largely these professionals do their work solo. They may need to consult with peers from time to time, but their day-to-day bread and butter is their own. Software development is not solo for the vast majority of devs. They need order and the ability to be directed to create a piece of the larger pie.

This is from a 20 year dev who's spent a few of those in management, but enjoys development more.

> Do doctors have managers?

LMAO. Yes. They are doctors who went into management.

Isn’t that true for everything though? More bad devs exist than good one? I guess a manager could make the same claim that devs are making his life miserable.
Yeah, it goes both ways. Worse is when someone thinks that they're this magical unicorn that is always right when they're in fact more often wrong and correspondingly makes trouble for everyone else. They make you out to be the enemy when you're not. It's horrible when that person is a manager. But it's also horrible when that person is a developer. Or any other role. I've managed people that you just have to let go, after trying every method known to man, you can't fix their fundamental psychology and neuroticism. Some people are just broken and organizations unfortunately are not equipped to deal with that (would be nice if every organization could have an in-house psychiatrist, but that's not the reality we have).

I will concede this though. When that bad person is a manager, EVERYONE on the team can suffer, the entire culture can suffer. When that person is just a team member, others on the team can usually figure out how to just avoid that person so that the problem can be compartmentalized. Better still, a good manager will not tolerate the bullshit because they know that it can poison the team if not handled properly. When that person is a manager, there's no avoiding the problem and team policies and culture will be poisoned accordingly so that the best people leave and nothing good is left.

Isn’t that true for everything though? More bad devs exist than good one?

It wouldn't surprise me to learn that a large number of users in this community have actually worked in a bubble of tech outside the norm where most devs were actually pretty solid overall. A developer who is truly incompetent (not just mediocre) would have a very hard time even getting hired at a FAANG or similar, let alone stick around very long.

Be careful with the echo chamber you Want to believe in vs what it is. There’s plenty of incompetent people at FAANG or in HN.
Actually I've developed the wisdom to realize that 90% of people are not good at what they do for a living. They don't have that job because they're talented at it, they have it because they needed a job.
Its true, but I think the impact is what matters. Even a below average dev produces output; it may be substantially less than a great dev, it may not be of the highest quality, they may require more hands-on reviews and mentorship from other devs on the team, but its still producing output. In comparison, a bad manager can invert the productive output of a team or individuals on that team; high attrition rates, high quiet-quitting rates, prioritizing the wrong things, interrupting work such that little gets done, not playing defense, etc etc etc.

The "old" saying (well, I've heard it said a few times) is: bad software (probably) won't kill your business. There's a litany of examples to this effect. However, bad management will, with increasingly leveraged effects the further that bad management is from the line worker.

Bad developers write code that has a negative impact on team prouctivity. e.g. by insisting on a wildly overcomplicated implementation or writing poor tests and being aggressive to anyone that questions them, or being highly negative about some decision or other to the point where the team are not sure if that person is in charge or their manager is.

They can also pester everyone with mountains of trivia in PRs and refuse to change anything in their own and so on and on.

My own boss says "the main thing is to hire nice people - everything else can be improved" and that changed my perspective a lot. I think he's right.

A bad EM can do more damage of course. :-)

But the worst thing ever is when a bad dev gets promoted to the position of a dev manager or a tech lead. Armed with “knowledge” and “experience,” and now with a degree of authority, they would put their weight on everything they touch. The damage will be immense (but no one would care).
So now we’re including actual engineers in this perpetual rant against management, now? Is it only engineers whose sole job is to write code given a spec who are valuable? At what level of seniority is a job “useless” or worse?
Bad devs do not have reports they would have authority over. Bad EMs do.
The power dynamic is completely different. Managers have the ability to hire/fire, guide technical decisions (usually for the worse) and set the tone for the team since its "their" team. The team itself has very little recourse over a bad manager.
They can quit. I promise you as a manager I spend at least half my time trying to keep developers happy and engaged because losing even one of them will cost the team way, way more in productivity than indulging somebody who wants to implement a perhaps-overengineered solution.

I don't know how it is everywhere, but in my neck of the woods good developers are hard to recruit and expensive to lose - they have a lot of leverage and they know it.

I've met devs who don't have the self-confidence to leave their current job under a terrible manager because they don't want to go through the equally terrible interview loops. They're stuck in some kind of purgatory.
But a manager is something you progress into. How did bad people progress into it?
This is actually pretty consistent across companies: being the most senior person around when the last manager leaves. Sometimes it's a senior dev, sometimes a PM, heck I've seen it be somebody from the UX org. The path of least resistance is a quick promotion from within. As many of us have experienced this leaves us with a non-zero amount of managers who are both unqualified and uninterested in their role, but accept it for status (you're supposed to get promotions after X years right?) and pay reasons.
what people don't undertand (and that included me, when I did the change) is that being a manager is a totally different job than being a developer. you can be an extremely good developer, but be a lousy manager. there are different skills needed for those roles and not all of them are transferable. when you transition from a senior developer, you don't transition into a senior manager, you start from zero. it helps to be a good dev, but it's not a guarantee for success.
This is a common misconception and it is exactly how "bad people" progress into a role where they aren't a match. It is an entirely different role. Most engineering managers come from an engineering background and rely on the learned experiences of that job in order to be successful.
There are oodles of terrible managers. There are oodles of terrible everything and we definitely remember the bad experiences more than the good experiences. Especially since a lot of what a good manager does (deflect distractions, ensure consistent prioritization, hire people who don't suck) makes it seem like nothing is actually happening.

A very large number of people really are saying that these roles aren't necessary. Larry Page famously fired all of the managers at Google at one point in the past. I regularly see people say that zero management at all would be preferable, both for startups and megacorps. Heck, the article itself is about this very idea.

Sturgeon’s Law: 90% of everything is crap. This applies to managers and to engineers. Turn your argument around and ask what happens when good managers have to deal with crappy engineers, because there are a lot of crappy engineers too. (And note especially that engineers can be bad on many axes. It’s possible for people with excellent technical skills to bring negative value to the organization due to poor attitude or poor communication, among other things.) Do you want good managers to judge you and assume that you’re a bad engineer just because they’ve had to manage some other bad engineers? Bad engineers also taint the role and lead to a certain earned reputation.

But if everyone projects their worst fear on the role, then we’re all stuck making assumptions, being pessimistic, and missing the good people because we’re blinded by our stuck ideas incorrectly generalizing individual people to their roles. If we can’t stop to see the good things and what does work, then functioning together is difficult and it drags down the team.

What value do you see in good management, and what makes a good manager in your experience?

I'm a PM, and I've had to live through a fair number of god awful engineers. It's miserable to work with them, too.

I don't malign the profession because I've had bad experiences. Engineers should be smart enough to know that experiencing a bad manager, or even a few bad managers doesn't mean that " people who live in these roles are overall bad, don't know how to effectively execute these tasks and present an aura of superiority over the technical roles when they're providing very little value at all."

That's just being irrational and salty.

I’ve had to work with a lot more terrible engineers than terrible manages.

A lot of the time, what makes someone good or terrible in their role is maturity and professionalism.

I don’t know. I think what some people complain about here when they talk about bad management has nothing to do with management. Most seems to complain they have to do reporting which is not fun. While that’s generally true I wouldn’t call that bad management.

I had a relatively bad (inexperienced and overwhelmed would be truer) manager once when I was still doing engineering years ago. I know he was bad because I had to do a significant part of his job for him notably regarding smoothing interpersonal issues in the team and cross-team communication in the org. I don’t see most people here complaining they have to do too much management.

>because more terrible managers exist than those "good ones" that you allude do.

The irony is that I've heard the same said about engineers. It's easy to take the cynical point of view, but probably not wise or accurate. Like the OP, in my experience the people making those types of claims tend to have an overly simplistic view of the problem.

'more terrible managers exist than those "good ones" that you allude do'

This is quite hyperbolical. A person can have a life experience of "mostly bad manager", but that does not mean "most managers are bad" or that "most people have experienced bad management".

I've been 16 years as a professional software engineer. I would not describe anyone to whom I was a direct report as "bad manager". Quite contrary, I've been quite happy with most of them. This does not mean a life without conflict or misunderstanding, of course.

Statistically, bad management is of course a non-neglible problem, but the above makes the situation sound hopelessly pathological.

> I would posit a guess that most, if not all, engineers on HN have had to live through at least one terrible manager that has soured/tainted the position.

FWIW, all my engineering managers have been great.

> Oh please, there's a reason why those comments exist - because more terrible managers exist than those "good ones"

I guess that's just your experience? Just because you've had a few bad apples doesn't mean all engineering managers are terrible.

> present an aura of superiority

Sounds like you're just projecting your experience onto other folks.

I'd wager the percent of terrible managers is the same as that of terrible engineers. We all have worked with such coworkers at some point in our careers. Yet no one ever turns around and says "the engineering role is bullshit", simply because that would invalidate their own careers.
Eningeers get tons of actually effective training and schooling. Alot of people probably spent at least 4 years in school learning a science where there are right and wrong answers. It's easy to evaluate engineers. Most managers seemed to get to that role by accident, or because they knew the right person. I think there's way more underperforming managers. Managers aren't going to school for years, even when they do the degree they come out with feels useless.
One of my least favorite things about being on the technical side of things is this overarching smug sense of superiority that every other role is bullshit and doesn't do anything of real value. Or that other roles are malicious and/or incompetent and if engineers got their way the product would be perfect and free of defects of errors. e.g: "Don't blame the developers for X, we only put it in because of product or sales!"

Well product or sales probably don't like stuffing the product with ads, they only put it in there because you like collecting a paycheck every month.

Good way to bash that down is to ask 'would you want their role?' It makes them stop and think what does that person really do and they usually do not want to do it at all.
I think that often engineers hold the view that the role in question doesn’t need to exist. And some roles are just welfare for MBAs.
I guess they have read "Bullshit Jobs".
I've never personally felt that race-to-the-bottom capitalism would generally allow for such parasitic drains on productivity, but then again, if you're hiring on past contributions only, how would you as a non-expert in sales/marketing/etc know what makes efficiency?

I don't think your view is anywhere near as common as you think it is, but maybe in your immediate peer group there's some self-selecting cause for believing so.

I didn’t say it was my view, just what I’ve seen in expressed by others.
This was the question I asked myself that totally changed how I thought about sales and marketing people.

I cannot do sales, I do not want to do sales, but if I want a job someone needs to do sales. To me sales looks like an awful job, but some people really get a kick out of it and I'm glad they do because otherwise I would earn a lot less than I do.

We love to think that "if we build it they will come" but the reality is very different, and most of us work for companies that would struggle to grow without some form of sales or marketing operation, no matter how good the product might be.

> To me sales looks like an awful job

You meet new people. They tell you about their problems. You explain to them how your product can alleviate them. You work on finding a common position regarding what you could bring at which price. When it works, you get a big cheque. It’s pretty fun really.

I think the outbound cold calling side of it was the bit that never appealed.

Once that connection has been made I can definitely see the attraction.

That is a terrible argument. Would you want to be the office elevator boy? I like to be useful so of a role would be useful I would want to do it even less.

As for what I think about managers: unsure, I have been a manager, worked under many managers (most of them bad) but I am still not sure if mangers should exist or be replaced with another role.

I don't want the janitor's role either, but that person isn't in charge of me. Engineering managers are glorified secretaries. We should replace them with actual secretaries that are subordinate to engineers.
My best experiences with managers were ones that did that. Just let me work and help me if I need it. I'll reach out if I do.
That's not a manager, that's a secretary, which is my point. Engineering groups don't need managers, they need lead engineers and clerical staff, similar to a group of lawyers or doctors.
Managers jobs are typically kind of like a secretary but more. But more of a jack of all trades. Making sure the budget is correct for this year so we can hire the right amount of people (accountant). Jim on the third row needs a lot more hand holding than usual because his wife is in chemo (HR). Going to the upper management to make sure that 3 of your co-workers get the recognition they deserve (cheerleader). Sitting in that 3 hour meeting working out who is going to pay for that feature the sales guys must have (negotiator). Plus a dozen other things. If that position did not exist you know who would be doing that? You and all of your coworkers would. Are a lot of people bad at that? Yep. But some are good too.

The point of my question is to make people stop and think about the chesterton's fence of why is that position there. For example your janitor example. Extremely well defined position. Most people do not want it (including yourself).

You think lawyers and doctors don't have people to manage them?

The reason most engineers don't have secretaries is because we usually prefer doing the same thing with automation and scripts.

I'm curious what difference you see between a "manager" and a "lead engineer".
One of the best things I ever did was run a business on my own very early on.

I was terrible at it. Forced to actually contact customers I had no clue what to do. I had no idea how to price things. I communicated terribly and drove away initial customers.

I learned a healthy respect of other positions in a company, because when I tried them I had to accept they were actually hard.

Instead of an ad-hominem attack against a strawman, can you actually address the points made by these people you're labeling as professionally immature and unwilling to understand these non-engineering roles? Can you actually provide anything that illustrates your point at all? Just calling us all immature children does nothing to change my mind; it only makes me think you're defensive because you know deep down that your role is actually truly worthless bullshit. How many hours per day do you spend in meetings?
Every other part of a business runs on politics (i.e. bullshit). If you don’t want to be dealing with that 100% of the time, you need someone else to do it for you. And they will necessarily have to expose you to some of it, sometimes, to get info from you so they can communicate what’s going on to the rest of the business. Without the rest of the business doing what they do, you have nowhere to work.

And sorry, unlike a program you’re writing, you don’t have any say in how the logic works (or doesn’t). The rules are set and you’re in the system. You might be able to find some variations in other companies.

You clearly only read the first third of the (admittedly) somewhat roundabout and meandering commentary. I know because your comment was what I was thinking until about a third of the way through, when I realized that that was not at all what this person is saying.
He only read the headline and now we're all discussing his feelings instead of reading the article which is about something else entirely. I recommend anyone still following this dysfunctional thread to go ahead and read it.
Being younger and 'technical' it's easy to feel as if you're a linchpin to the whole process and everything else is peripheral (This happens in every department though btw). I think everyone should try their hand at starting a business or launching a product (technical or non-technical). You will be amazed the labor and efforts that go into even the most mundane things and you will quickly be wishing you could hire on someone to help manage your product/project, help you market and network, help you find out which forms you need to fill out for taxes you didn't realize you needed to pay, what these terms actually mean, how to find capital, etc, etc, etc. If your product takes off I would guarantee you aren't going to hire an engineering manager to 'analyze' your engineers in order to optimize them as much as you are wanting someone to keep up with day-to-day issues and priorities so you don't have a dozen engineers sheering yaks or you aren't spending an inordinate amount of time dealing with a dozen engineers individual issues while trying to run a business and allocate yourself in a dozen other directions. Like you mention you become a lot more happy when you realize the tremendous efforts people on your team make (there are always exceptions) that may or may not be in your department.
I think these comments come mostly from engineers who have just started their software engineering journey or somewhere in their early stages. When you are at that stage, your odds of coming across an inspiring figure in other areas are very low, unless you have a natural proclivity to other areas in your life.

As you grow, you do realize that software engineering is a piece in the overall puzzle and you mellow down and start to learn the interfaces with other functions. Even then your superiority bias won't away but will mellow down for sure. This is simply because your success as a mid-senior engineer is no longer a function of just your engineering skills. Its a function of how well you can sell your ideas, how you can articulate your messaging so that every other function can work with you, how do you get buy-in from competing parties etc. But again, engineers will brush these aside as 'politics' unrelated to software engineering :)

When I was just starting out as an engineer, I was very interested in what management was doing. I went to every town-hall type meeting I could, every business planning meeting, every financial meeting. I really wanted to be steeped in it to understand the role.

Year after year after year I learned again and again that there's something truly toxic about middle-management and up. It's like the higher you go, the worse the air gets, and your brain starts to get clouded and fuzzy. Technical people stay in their roles for decades and get better and better over time; management plays musical chairs where they change roles every 2 or 3 years. The new role has almost nothing to do with their old role. If you saw a whole group of people randomly switch every couple years between being an Aerospace Engineer, then a Software Engineer, then an Environmental Engineer, then a Structural Engineer, you'd rightly go: wow, all these engineering jobs must be super easy! They just throw anybody into those roles. They don't take any time to learn, etc. etc. So why, when people randomly switch every couple years between product manager, director of operations, financial director, project manager, sales manager, director of internal innovation, director of digital growth, director of New-Techy-Buzzword -- why do you not conclude the same thing? All those jobs are stupid and worthless, clearly, because they come and go with the wind, and anyone in the mid-to-upper-management sphere can take on any of those roles. Clearly they require no training. Clearly they are not hard. Having an MBA degree does not qualify you to do all of those roles, unless those roles have absolutely nothing to them. Note that I intentionally excluded anything having to do with "legal" in there, because that's an actual job that takes an actual expert.

My long-winded point is that I did the exact opposite of what you claim. I used to believe that software engineering is a piece in the overall puzzle and that all these other functions are an important part. But I learned, time and time and time again, that the primary driving force in corporate America is the Principal Agent Problem and that all these roles are just titles to be shuffled around among those in the Business Caste for their own personal benefit. Entire companies are nothing more than pawns in the game these guys (and it is mostly men) are playing with each other, jockying for the most impressive-sounding titles, extracting as much money as they can from the public sector into their own pockets. If they're actually doing their job well, they're losing at the game. You have to switch jobs every couple years to keep up.

Instead of actually reading the article and critiquing what the author wrote, you've taken it personally and really just haven't provided any valid points.

The last 2 paragraphs of your comment can be applied to your behavior actually.

If you have something to explain about the roles of non-eng professions, then do so. All this post does is argue how you’re more mature and superior to everyone else in the thread (without explaining exactly how that is, or giving any particular insight).
RTFA before commenting please

Your comment added nothing because it was responding to a straw man rather than the article itself.

You are right. Running a business is nuanced and smart people are required for it.

Imo, the real problem is that engineering work is disproportionately difficult compared to management and yet, management gets recognition, visibility and power to control engineer lives. This happens in every step. Engineering interviews are insanely harder than management, engineering promos are opaque and need grinding for years as opposed to management promos in growing companies and these days, senior engineers have to manage politics as well. Engineering managers are not useful in any way but yet, get higher compensation and recognition. Why?

The only manager that engineers like are those who have previously been strong engineers themselves. It's the earned respect that lets people be ok with bosses. Not titles themselves. Certainly not people management or glorified assistants managing spreadsheets for upper levels.

As someone who has switched between management and IC work, I’ve found management to be much, much more difficult to do well. Management should be managing people, which is much harder than managing code.

Perhaps this is why there are so many bad examples. The job is nearly impossible to do exceptionally well.

But in fuzzy disciplines like management you're allowed not to do well. Engineers are fighting with the law of physics. You can't bullshit your way out of a formula or a bug in your code. Thus when bad managers demand that you do x by end of the day/week/month they put an insane amount of pressure on you because there's only one way out. You have to crack the code, you must figure the problem out.

Therefore technical people develop a special sort of humility, reminded everyday of their errors by the law of physics, that bad managers who fail forward never do.

> Engineers are fighting with the law of physics. You can't bullshit your way out of a formula or a bug in your code

I mean, structural engineers are fighting physics. Software engineers, generally, are fighting information theory. FWLIW, I spent 15 years as a (quite successful) programmer with a lot of bullshittery going on about what code works. Have you never shipped buggy code and played it down b/c of time constraints or you were just tired or not motivated or realized this bit doesn't actually need to be perfect?

That's actually why I switched to being a people manager - I was a mediocre programmer that people thought was exceptional because I was good at the b.s. I find people management much more difficult to do well, and much more rewarding when growing junior eng into senior eng compared to shipping a bit of code.

I think the critical point is: You've done both. I don't know you, but I will go out on a limb and say: having that history as an IC makes you a better EM; one of the good ones I hope.

Great EMs have that experience; and it makes their/your job way harder because now you understand, at a deep enough level, what the people you manage are going through. When product reqs come across the desk of an IC-turned-EM, they can feel that gut punch immediately: "fuck, this is going to be so hard, that system is so legacy, and Sarah is super overloaded right now because she's the only one with any experience on the message bus transformer converter ingester"

Management track EMs actually do have it easier, because they get to think in the discrete world of tickets and human resources.

At a high enough level in any company: senior leadership needs to think about the world as perfectly discrete like that, because there's so much other bullshit going on that worrying about the specifics of the message bus transformer converter ingester would drive them off a cliff. But EMs aren't that. But many, many EMs think like that, and a big part is the incentive structure of their career path; their boss thinks like that, and their boss's boss thinks like that, so if I want to have my boss's boss role one day I need to think like that.

The strawman side of what I'm arguing is: "Well, you're just describing a bad EM". But the whole point is that that's quickly becoming the average in the industry, and that average is starting to define the role. Career-track management who get promotions, then write the hiring reqs for their replacements, and every other EM below them, combined with a massive shortage of engineering talent meaning companies need to define a different bar for their EM hiring reqs anyway.

I have seen many (extremely smart too) engineers cry at work, but never managers. Make of it what you will.
People with emotional issues aren't as likely to be promoted into management. Management is often way more stressful as you're getting dumped on from above, from peer managers, and all the negative feedback from devs all at the same time (plus needing to actually facilitate getting things built). Maybe you work at some poor company that can't promote devs high enough so they're forced into some form of management role to get a promotion. Those companies suck because they steal good IC talent for roles they're less suitable/valuable for, and causes the company to have perverse incentives to over bloat their management pool than necessary.
>> People with emotional issues aren't as likely to be promoted into management.

And engineers who don’t invest in their work emotionally are not usually the best

>> Maybe you work at some poor company that can't promote devs high enough so they're forced into some form of management role to get a promotion.

How does this follow from what I said? Also, I have a bit of experience so it’s not one company

I've worked at several big corps and the managers are the ones who take all the stress. I would never ask one of my team (or one of my colleagues) to work to the point where they cried - this is a negative signal.
> Perhaps this is why there are so many bad examples. The job is nearly impossible to do exceptionally well.

I believe that the job is nearly impossible to do well. Which leads a lot of people to suspect that the role of Engineering managers is badly defined. Which leads to all the complaints above. Nobody is happy with the current org structure.

Spot on. The fact that engineers keep having to learn things continuously for years, decades treading through anywhere from technically difficult issues to bad documentation, mostly on their own time for fear of falling behind, while running to honor daily and hourly deadlines and being imaginative, smart and personable at work is insane. Atleast managers get to rely on their experience that adds up while engineers jump through languages frameworks and libraries while attending leet code interviews is crazy. But peasant, get back to work and no quiet quitting for you, and you are a lower form of life is the prevalent attitude among many managers. There are good managers, most of them technical like you said, a smaller portion among them have empathy
As someone who's spent 25 years straddling the IC/EM line in companies of all sizes, I can tell you unequivocally that management—especially engineering management—is not easier.

I think it's fair so say that gross incompetence is easier to recognize in a programmer than a manager, especially to the untrained eye. It's also true that a well-functioning team may be easy to run and the manager shouldn't have to do much except not fuck it up.

But at any kind of scale, all problems are people problems, and there are never ending systematic dysfunctions and organizational problems. Everyone can be making a valid claim to doing their job, yet the output is nowhere near what it could be. These types of problems can be difficult to diagnose and extremely difficult to unsolvable at the high end. One must be technical enough to understand the details, able to zoom out and understand how costs of various paths interact with UX, operations, security and other concerns, and then say the right things in the right venues to nudge people in the right direction while also maintaining the morale and agency of all the ICs who do the actual work.

It is brutally difficult, and the reason most EMs are bad is not out of malice or sociopathic tendencies (though I will say the emotional toll is high for non-sociopaths which is probably one reason they are disproportionately represented in management and executive leadership).

When it comes to managers, it's hard not to say their role is BS for many of us. I've never had a truly good manager (19 in 10 years). Many of their perceptions don't match with mine or the other team members.
A good manager is often invisible. If you forgot they were there, you were either lucky that everything in the org was going right (or was so far away it didn't matter), or they were really good at shielding you from the fact that everything was not going right (and making it seem like that didn't matter). :)
They've all been very visible.
"...actual smart people can make real contributions in non-engineering roles."

Can they? Certainly. Do they? Well, not as often as you might like.

I used to work for a government contractor who had what I liked to think of as a "butts in seats" strategy. The contractor got paid by taking something like 50% off the top of what the customer paid for the employees (back when I was a contractor in industry, that was more like 15% but that is neither here nor there). The "complexity and nuance" that goes into running that business for a maximal profit involves keeping the direct customers happy---and they're managers, not users---while having as many employees as possible. You need to ride the line between leaving money on the table and having so much broken that higher levels of the customer start to get upset. Laying down narratives is a very important part of that process.

This isn't, however, limited to government contracting. I've ridden quite a few projects into the ground in industry because the goals and incentives of Product Managers, Program Managers, etc., were not aligned with the goal of a successful project simply because there are many ways to be a successful manager and a track record of successful products is not the easiest.

Yes, they were all smart people. Many were even likable, skilled leaders. But if your goal as an engineer is to be part of a successful product and not to be a well-rewarded part of a successful manager's organization, then you will not be happy. Is that what you mean by "professional immaturity"?

It's hard to identify failing managent, especially from the top looking down, and the burden of management failures fall on those below them. This leads to a lot of frustration and blog posts like this, wondering if all managent is bullshit.

It seems really unfair to a developer, who thinks "if I screw up the entire company halts, if you screw up I have to work harder". And so the developer can't shake the feeling that management is bullshit.

I bet you read the title only, and not the article.

There is way-way more to it than the title. Nowhere did the author reduce the contribution of non-engineering roles.

An excellent read!

What may look like cynicism at first is actually just fair criticism. It does not lack maturity, rather the opposite given it has some thoughtful research and examples of why EM can be in fact bullshit.
There’s a lot of roles needed to build a product. As the engineering load grows, the engineers have less time to handle those other duties themselves as much as we might like to.

When that happens, other people have to be involved to take over.

There are real requirements to communicate with other parts of the business, customers, coordinate who is doing what and triage what is needed when.

So generally, I agree with you that the mindset isn’t a great one.

At the same time, there are methodologies that aim to alleviate exactly this problem by ensuring engineers directly control more than they often do.

Scaled Agile (SAFe) is my favorite because of two core tenets.

1. There are 2 backlogs, one managed by product/business and one managed by dev/ops/arch. Going into planning, capacity allocations are given to each (usually 70-30 product dev). Priority among those backlogs is entirely handled by the group managing it.

2. PI Planning where backlog items are presented from each group and dev is responsible for planning out those priorities over the next 8-12 weeks in the manner that they believe is best. Everybody who could potentially answer questions that devs have is present with their schedules cleared to streamline the decision making process. Plans are discussed with management, risks assessed and finally agreed on.

I love this process. It gets everybody on the same page as far as who is doing what, when and why. It reduces friction and lets devs focus for 2-3 months at a time without a directional shift.

Planning from product is focused on the next PI instead of the constant “we have to drop everything and work on X now!” situations that so often happen.

I wish more orgs would adopt it. I hear so often about devs stuck in orgs claiming to do so that aren’t actually doing any of the things that make it great and it’s frustrating.

Interestingly Musk fired the entire Marketing / PR department. Hasn’t seemed to affect Tesla quite yet.

I love how you also snuck Scrum master in there, a role no one needs. Project managers are also often shoved into places they’re not needed (I’ve generally found them to be a net negative vs having the manager be responsible for it).

this is just personal and professional immaturity. bonecrusher2102's empty comment does not respond to any of the arguments in the blog post. instead it's repeating the same tired prejudice that the commenter inhibits against anyone who is trying to articulate a critique of business management. i really hope bonecrusher is able to grow out of this mindset. they'd be a lot happier and more productive
I don’t discount the importance of Managers. The thing I struggle with is Engineers trying to do the job of Manager without having any training or even really identifying as a manager. They still think their job is to supervise technical decisions.

Meanwhile there are numerous process and personnel challenges that go completely ignored, because these Engineering Managers think their primary responsibility is as some kind of overseer preventing employees from doing their jobs wrong.

I would love if software companies started hiring dedicated, trained Managers. But that doesn’t seem like a thing they do. Instead they just promote an Engineer to Engineering Manager and hope for the best.

This sounds like a generalization to me.

During my time writing software professionally I've had good, bad, and neutral managers.

I've found most of my good managers at companies that produce software as a product. These managers were technically trained and rose to their management roles through working as engineers at other companies. In two cases these managers were actually the CTO.

Most of my bad managers have been at companies that rely on software to facilitate their business, but do not consider software to be their business. These managers knew little about software and our teams were usually bloated by non-technical roles and often unproductive. Every idea ultimately had to be passed through engineers for validation / refinement and engineering became a very constrained resource.

Neutral management is where I would place most of my managers. They don't really aid in or detract from my productivity. They're there and doing things (even if those things are not always visible to me). They demonstrate enough value to dispell the feelings of: "If you weren't here then we could hire another engineer to actually work on this problem".

That said, you are 100% correct that if I didn't think about these things at all then I'd be much happier. After all, happiness is reality minus expectation.

This is most accurate to my experience as well. While I don't think it's helpful to disparage management as a whole, I do think it's beneficial to talk about where bad management exists, why, and how frequently. On the flip side, people talking as if bad management doesn't exist or is some minority I think are forgetting not every SWE works in the valley at a FAANG or bootstrapped to-be-unicorn company.
I believe the take you see is mostly coming from enterprise developers that have witnessed the immense inefficiency and waste of larger organisations. The solution to a non-engineering savvy manager in such organization is to add more people and more frameworks.

Mind you - to "them", these "dreaded MBAs", the development organization is a problem, often regarded as cost, and development is done by... developers. Sometimes the developers is the actual problem and they have gradually sunk the software in to a unmaintainable swamp of crappy code and debt - but this is a competency and hiring problem. It will not be solved by any framework or project manager. But you need the competency in your leadership to understand what's what and this is missing from pretty much any large org I've set foot in. The high functioning teams is these settings are more a stoke of luck, and they often have to utilize guerrilla tactics to keep delivering value.

I've seen my fair share of global CIO's talking us through cloud and blockchain, never have to actually deliver and move on to the next company or fancy role.

I've seen CIO/CTO not trusting developers and believing no-code and citizen development to be the end all. Guess what - more unmaintainable crazy stuff

I've seen large organizations falling in to the "one system" trap on all levels, even trickling down to the software teams - a dedicated 8 person jira team for the whole org! What could possibly go wrong.

I've also witnessed amazing autonomous development teams that move at amazing speed with quality. In these settings you have management that understands the process of supporting a business with valuable code.

Most of the time IMO it's the business themselves that cause a lot of the problems facing developers by not understanding that it's they who own the processes getting digitized.

They buy software from vendors, staff up a project team to integrate, fire and forget. This "fire and forget" project mentality is what accumulates in a shitty org, and shitty orgs start from the top.

If you haven't read "Turn the ship around" it embodies all of this. This condensed video is really worth a look:

https://www.youtube.com/watch?v=psAXMqxwol8

The complaint about OKRs - using only specific meazurements to destroy the ability to decide/agency to land actual outcomes/results - seemed pretty spot on. It's not even engineering managers necessarily; knowledge working orgs in general, and, in my view, it's not immature to grumble about, it's immature orgs that ruin their best potential, that dont get knowledge work & actively obstruct it.

Having these ideas in mind, particularly backed up by some good background as is present here - some discussion on knowledge work, Peter Drucker quotes - is context orgs ought to try to be aware of, prevent from happening.

Sad to see such a well written well explained article reduced to "grow out of their mindset" antagonism. There's not any argumentation in this rebuttal, just personal badmouthing & berating. The conflict described is real, but apparently people who feel tensions & dissonance of it all are all just "immature".

I think it's part of the common "I'm surrounded by idiots" attitude of the many jerks in our industry.
I agree. It feels like half of programming posts are just the same 10 topics discussed over and over

Yes we know management metrics can't predict every end date, we know agile doesn't solve every problem, we know blockchain is a solution without a problem, we know code complete and the mythical man month are some of the best programming books.

It looks like you've read the headline and decided to get angry.
My pet problem is not with those roles, they are needed, it is with the overpaying of those roles and downplaying of the requirement of actual engineers and thus lowering their standing an payment. An engineering manager should in my view never earn more than the rest of the team and where I live they do earn more by default.
What is your take then? You seem to have been offended but don't provide any counterpoints
The real issue is that in most software engineering teams, these roles are better done by a SWE who is good at X than somebody who exclusively does X, but especially at big companies the person doing X doesn't really understand software engineering.
Nope. They most typically result from the fact that "you mostly can't learn business or management in school," period.

There is no meaningful correlation between title, schooling, and/or effectiveness in management.

This mindset exists in every occupation. And it's always superficially true.

Everything would grind to a halt if it weren't for people who do X. Everybody else exists because X people are doing X.

In fairness, the Agile Manifesto is about pushing developers to work directly with the business people and each other in order to cut out the 'middlemen' you speak of. Each of the twelve principles highlight areas where developers need to pick up the slack when product/program/project management is cut out of the picture.

For better or worse, this is what we, as an industry, have adopted and a generation has grown up not knowing any better.

Here's the thing. At the end of the day all of the "complexity and nuance" of running a business doesn't matter. The only way you even get to execute on that is if you're flanked by good engineers.

All roads lead to the engineer. Bad managers can be worked around. Mindless PMs can be worked around. But if every engineer at apple suddenly stopped working there would be real economic consequences. If managers and PMs stopped working they'd be replaced by engineers who are by and large more capable at adaptation anyway. Engineers should hold all the power. In most orgs management exists to prevent what is effectively an artificial union forming among engineers. Most, I'd argue even 99%, of engineers do not want to be sitting in meetings and spending 9 hours a day building CRUD. Without the guy cracking the whip over your head you wouldn't. I wouldn't. Anyone wouldn't. The power dynamic favors managers - hence all the hate.

MBAs take a lot of flak because much like the kid engineer coming out of school who believes he's legitimately God's gift to man the MBA does the same. The difference? The MBA controls your salary, whether you keep your job, whether you get your job, the direction of the company, the marketing of the product, the features that will be worked on, the finances of the company, etc. The MBA holds legitimately all power that is not engineering. As such, by generalizing and blaming "the MBA" you are more right than wrong on who is the real problem. I believe most engineers should go back for their MBA. Not to get better at business but to understand their enemy. An entire career is boiled down to a few excel formulas.

Do you know what makes me happy? Not even knowing my manager exists. Not even knowing my PM exists. In my a little over 10 year career I can name two managers and one PM that actually made a fundamental difference to me. I'd be infinitely happier if PMs and managers were replaced by robots that let me do my job and enjoy what I do. Instead, even something as trivial as "I'd like an extra day to optimize this because I can see it having problems under load" needs to be "scoped" and "talked about", then it needs to be "put into a future sprint", then it needs to be "pointed", "tagged", "etc". This is borderline tyranny to someone who is creative. Only a spreadsheet monkey sees value in this nonsense because at the end of the day I'm right (because I built it) but I won't be given time to do it until it breaks (because the MBA), when it does I will be on pagerduty and probably hearing about it (from my manager), and then I will need to ask for time and a meeting will be called to discuss and do JIRA nonsense (by the PM). You see? As an engineer it's always my fault. Even when I'm right. Who are the people who will arrive at my desk to blame me? Them.

> If managers and PMs stopped working they'd be replaced by engineers who are by and large more capable at adaptation anyway.

It's funny how these ultracapable genius engineers don't just start their own company free of these bullshit manager and PM roles and just steamroll the competition, isn't it?

A few reasons:

1. They would rather be building cool things than doing all the other things involved in running a company. Nobody said managers are doing literally nothing, just that they're generally not very good and they really don't deserve or earn the authority they have. Their role is a support role, like a typist or a document manager or something. They should be considered basically secretaries to the engineers, so your question is "why don't the engineers all go become secretaries then?". Not to bash secretaries, but rather to give you the point that their authority comes not from what they do, but rather from the caste they were born into and/or the college they graduated from.

2. Many of them would go and start their own (likely very successful) companies, if doing so weren't a gated community open only to either (A) those who already have lots of connections and lots of family money to fall back on as a safety net if they fail, and (B) those who are willing to subsist on dry Top Ramen and live out of their car for years while they devote 100% of their time to their startup. Most of the good engineers out there have responsibilities like kids and/or mortgages, because it takes a long time to become a good engineer. And most people aren't born into the "business caste" that starts companies and becomes high-level managers at companies in the US.

3. They do. When it does happen, they become wildly successful and do completely fucking steamroll the competition, because the competition actually truly veritably is garbage run by chucklefucks who are only there because they were born into the Business Caste.

The real reason is a lot of us are risk adverse. We’ve seen startups go bad many times. It seems easier to work a mediocre but relatively high paying job, save, and invest.
They do. In fact, the top 3 tech companies started this way. So I guess you're right!
Avoid confusing sales with managers. Most "genius engineers" still need money, and they still need that fabled creature known as the salesman who can convince someone to pay for a software system he doesn't need.
They don't want engineers to unionize because the first thing they'd do is pause feature work and fix all the tech debt.
> fix all the tech debt.

lol, okay, maybe before you have a couple $50k/yr revenue customers that rely on that legacy/tech-debt to run their business.

ask windows/office devs or linux kernel devs how often they get to fix all that tech debt.

> much like the kid engineer coming out of school who believes he's legitimately God's gift to man

(other people doing stuff, inducing mild amounts of accountability)

> This is borderline tyranny to someone who is creative.

> most engineers should go back for their MBA. Not to get better at business but to understand their enemy.

That's an incredibly adversarial attitude severely lacking in self-reflection and empathy. It's really tough to work with people wound so tight. Having been a manager, if I were yours, I'd be working on helping you grow up a bit, and if that didn't work, I'd be helping you find a different role that was more suited to your...ahem...creativity. A role far away.

It's weird you assume I openly post this where people know my face.

I play ball at work because if I play ball I continue to make enough money where at the end of the day I don't care. I'm fully capable of reading a room and know full well the consequences of stepping out of line. Frankly a manager "helping you find empathy" strikes me as a form of indoctrination.

But thank you for the deep psychological analysis. Frankly I'm glad you're not my manager because the saccharin nature of your psuedo intellectual post would probably have me quitting anyway. It's always the "empaths" who are the first to fire the shots across the bow in the face of valid (albeit direct) criticism.

I'm only going by the words that you wrote. You come hot out of the gate and people's reaction to that validates your internal drama where everyone's an enemy. But all we're talking about is your feelings at this point, so I'll just stop because that tangle really does escape me.
You are arrogant and, more importantly, wrong.
Thanks for the useful reply. I really enjoyed your deep analysis of my post.
If you click the link, you'll find that the article features text below the headline that deals with literally none of those things.
The MBA is for people who want to skip right to "being in charge" without having to learn how to actually do anything first.

The scary part is, if you went to a selective enough school, it kinda works.

The Ivy League undergrad -> elite MBA -> management consulting -> C-suite pipeline is especially frightening.

My issue with the converse is that being a good engineer and understanding how to do things doesn't necessarily make you a good manager. I've worked in plenty of orgs where they don't treat leadership as a skill unto itself and assume just because you're a good engineer, you'll be good at managing an engineering team.
I think if you have to pick a base for leadership, doing the thing you're managing other people in is probably the best.

The worst in my opinion is finance-- it's like driving using the rear view mirror. No business has ever succeeded or failed because their accounting was really tip top.

No doubt, I just think too often leadership is looked at as an afterthought to the skill they are managing? It's akin to the Peter Principle. Just because you are a good developer does not mean your skills translate to great leadership.

People would laugh at the idea of a good leader being thrust into a SWE role based solely on their leadership skills. Yet we often think transitioning from a SWE to a leader is just picked up. I'm asserting that they are different skillsets. Will being a good developer help lead a team of SWE? Absolutely, but that alone doesn't provide the requisite knowledge and skills to perform a manager role, but we often think that's the bulk of what's necessary.

Heh, a bit harsher than I would have stated it but I can't help but agree. Of course, 30 years ago, I would have disagreed with you. Probably in a few decades the author of the article will agree with you too! So there's that.
Managment offers an escape route to people who struggle with tech competency. Just grind it out for a few years a dev, then transition into management. This is a standard formula for years and i've seen many many people follow this.
How are you reconciling your take against the actual content of the article?
> It's just personal and professional immaturity.

Not so sure about that. In the beginning of my career I looked up greatly to a lot of people in these roles. The older I get the more that has faded. Truth is I can do their jobs fine, but they can’t do mine; yet they have a tendency to look down on me.

(I’m in Sweden though, and the MBAs still have a very strong grip on the Nordics. Might be a different social dynamic in the US.)

That was very well said, but with a few word changes could be used to support anything.
Some of you people strawman like a murder of crows is attacking your field.

Coordination is necessary. Communication is valuable. Running a business is complex. Product managers do valuable work. Designers do valuable work. QA does valuable work. Leadership does valuable work. Engineers do valuable work.

The core of an EXTREME number of complaints about modern professional software development lies in the pervasiveness of Career Management; and EMs are an extremely attractive entrypoint for people into this kind of track, who have no experience in any of the IC-facing roles, yet now they're managing ICs.

Just go look at the vast majority of job postings for EMs. The requirements are extremely bare on actual, hard engineering experience; maybe you see the last requirement read something like "built an app in java or c++", and it never gets covered in the interviews.

You can't manage a role you haven't held, I will die on this hill. Senior leadership is fucking hard; that takes specialized skills, MBAs maybe, a little bit of crazy as well. EMs are not that, and anyone who tells you what EMs do is remotely as specialized as what the people higher up do is probably an EM. At their best, EMs should have an engineering background (or at least PM/PO; having worked with engineers as peers); they should know what it takes to build modern software systems from the inside; they should know how to mentor. At their worst, EMs who don't know any of this, but know management, spend their days as a Jira parrot and can make the lives of the people they manage miserable.

Its actually astounding to me that this is controversial, and that people don't recognize that the only reason companies change the requirements bar for EM positions is because, if they made the bar what I describe, that candidate would also make a great engineer; and companies are short engineers, not short "people who manage people". Its not out of some grand design that the best managers live on the management track. Many, many other specialized disciplines don't do what Big Tech does. The tracks for Engineers and Engineering Managers shouldn't be separate; they should be one track. But Big Tech companies don't want their engineers leaving the IC role, so they make do; and the irony of it all is all this does is lower the average quality of EMs in the org, which causes engineers to leave anyway; just to competitors.

That's why Engineering Management is bullshit. It doesn't have to be. Much of what that role does is necessary; its just overwhelmingly filled by the wrong people, who then morph the role into some bastardization of what it should be, get promoted, then write the job spec for their replacement.

[1] https://stripe.com/jobs/listing/engineering-manager-payment-...

[2] https://careers.google.com/jobs/results/77396557743170246-en...

[3] https://boards.greenhouse.io/cloudflare/jobs/3135805?gh_jid=...

> the complexity and nuance that goes into running a business

Unfortunately one of the side effects of having something so important also be so complex, hard to reason about, and hard to prove causation for, is that there are a lot of empty suits attracted to an area where it's hard to disprove that they contributed, but a lot of money to be made if they can convince the right people that they did.

By definition we can't know how many are genuinely hardworking contributors, how many are parasites, and how many are somewhere in the middle (e.g. did some good work but is phoning it home these days, got lucky but misattributed their own success so now just doles out bad advice). Claiming that only one of these three groups exists is of course naive - but when running into people who have a different perspective or make different claims, it's worth keeping in mind that the subset of these groups they've run into might differ from your own.

>Here, we see engineers reduce the contributions of such common roles as: Product Manger, Program/Project Manager, Scrum Master, Marketer

Cow dung is common too, but not necessarily useful. Maybe for manure...

Most actual work happens despite those roles, not because of them... Or even against them - and is dilluted, sabotaged, rushed, and crapped upon all the time by the decisions of the roles above.

If you meant "software production needs this role", then no. Software production (from Xerox Parc to the Linux kernel) can be just fine without them.

If you meant "a modern corporate bureucracy needs those roles to make a product", then maybe, but that's part of the reason those enterprise products are shitty.

I think you're being as disingenuous as TFA.

There are just as many useless managers as there are useless reports. The reason you see so many 'managers suck' posts is because they're in a position of authority over the talent they manage. That's all.

Management shouldn't mean authority, it should be like HR or IT, a support role.

Who should be held responsible for engineering projects or initiatives that require more than one engineer? Who should be tasked with originating and prioritizing and staffing such projects?
The technical team leader. Staffing is management/HR at the behest of and under the direction of the team lead.
> The technical team leader.

AKA the manager.

No, they are different roles. Technical leads makes technical decisions, not staffing decisions. Managers makes staffing decisions. They can be the same person, but often aren't.
"I should be paid 300k for only 3 years of experience, be able to work remotely without location-based pay, work 25 hours a week. Oh, and my managers should support me, not wield authority over me"

I'm gobsmacked by the entitlement of these people.