Before that the manager was essentially the best engineer in the team (or the one that wanted to get promoted). Being a manger meant you were respected directly for your skills and you were expected to still be a full time contributor. Directors meant you were one of the best ICs out there. Now, being a manager or a director means you sometimes did an MBA in an unrelated field. This brought a ton of politics, nonsense meetings (because the most visible output for managers is more meetings where they can posture).
Let's go back to what it used to be. We don't need weekly 1:1s to check on feelings. We don't need a full layer of managers syncing with each others and taking political decisions that will mainly advance them. We don't need another layer of gatekeepers.
I'm not saying all managers are bad, but this charade has been pushed a bit too far.
As a manager that does weekly 1:1s, I agree with that statement. But I do need 1:1s to check on progress, uncover blockers that people haven’t surfaced on their own, make continuous small decisions, offer support, assess performance, collect status information for my manager, and last but not least give employees the opportunity to share feelings frequently. They do, and it’s not very often, but it’s important to have a dedicated place for it otherwise devs often don’t share until damage is being done.
I’ve also watched devs who didn’t have weekly check-ins go pretty far off the rails. One dev I remember would go off by himself for weeks designing clever code and over-engineering things that weren’t needed. I thought to myself that someone should be checking in with him, and then months later I got stuck doing overtime before a delivery deadline with dozens of other devs on a weekend chasing an intermittent release-only runtime crash that turns out he caused by trying to get tricky with copy constructors. A quick 1:1 could have prevented this bug that ended up costing tens or hundreds of thousands before it ever happened.
BTW, the best managers I’ve ever had were technical contributors, and they tended to be more relaxed about check-ins than the non-technical managers, in part because they had a better sense of where things sat. Personally I also feel like a better manager when I’m contributing technically to a project, and devs seem to respect that more.
I constantly reiterate to people, whether they're reporting to me or not, that they need to speak up when there's a blocker. I feel its a very telling skill of engineers whether or not they can communicate issues in an effective manner urgently and figure out the best course of action to unblock.
I've heard tales of 300k/yr engineers that just sit there and wait for a manager to ask if they're blocked, or just sit there until they're told what to do.
That's why historically having managers being strong IC contributors remove that need because they already KNOW the progress and issues on the field.
Modern BigTech created that artificial layer of managers that need to know about all the blockers and progress, just to report it to another layer of managers. That layer is so big that they need 8 hours of meetings to sync with each other. This is purely an organizational issue.
I'm saying a lot of the managerial work is busywork that got pushed as a need by BigTech need to empire building.
I like to think of it as a manager isn't required to have technical expertise, it can help, I can hurt, but they have to be a leader. Junior and mid career are required to have technical expertise, but not required to have leadership, though it would certainly help them be high impact and thought leaders in their space.
The more senior I get, the more like a manager I am. Less hands on, more coaching, guiding, teaching and setting direction. Meetings and docs become my tools less than code. When I'm writing code I'm only increasing the output of one person, me. Everything else is force multiplication. I just don't have to do the bullshit performance management.
I haven't had many excellent experiences with project managers, but dang was he good at keeping me unblocked.
In my BU there were directors with 2 direct reports. Even at the next level up, the number of non-IC directs is only high single digits. There are many managers who were already engaging technically with the product (not PRs but playing an active role in planning work) and they have no idea what directors are actually doing...aside from attending meetings with other directors.
Almost all decision-making capacity has been moved outside of teams which has resulted in almost no actual work (because everything needs to be cleared by someone with no engagement with product) and people leaving (because promo decisions are made by people who have no idea what anyone is contributing, the worst ICs are the only ones they can retain ofc).
It is a terrible environment to work in.
I don't necessarily think the manager should be best IC but definitely someone who is genuinely talented with sufficient scope and responsibility to make good decisions/add value for ICs. There are way too many passengers today.
Also, this is true of higher-level ICs. At my work, they have no real engagement with product so have influence through ambiguous statements about the general direction that get passed around like the word of God. None of these decisions, so far, have been helpful or relevant.
A decade or so ago, the high level ICs I interacted with were much more technical.
They were the kind who would perhaps not invent truly novel things--but plenty did in the right companies--but they had mastered their domains and genuinely solved thorny problems that others struggled with.
Nowadays, they are more political and less involved. I have met many that do not code or barely code. I've been in months of meetings to decide to do something fairly obvious just to ensure "alignment" even though no parties actually disagreed, just wanted to nitpick minor details that could just be a comment on a PR.
I'm not sure that's ever been true.
Google and other adtechs are not hard tech, that's why they have so many managers)
An underappreciated reason for this is empire building: Someone needs to be promoted to Senior Director and one way to do this is to add a layer of management: Adding 5 headcounts that essentially do busywork makes it easier to advocate for why your org is very important and why you should be promoted.
- entry level dev
- senior dev (start being groomed for management)
- senior dev/leader (take on 25% management duties)
- manager - management track.
Once you're on a management track, you essentially are taken off of any dev work and then depending on how well you've networked determines how fast you move up the management chain. Some companies like Target, they groom and move anybody up relatively fast who they see any potential in.
The only exceptions I've seen in my career are either startups or medium sized companies where there is no management track. You're a developer from the day you're hired until you either get fired, laid off or leave the company.
When I was an entry level dev, I left three companies because they wanted to start grooming me to move up into management. I was way more into being a developer and writing code then managing people.
Please tell me where these 'managers make a lot of money and do nothing but approve timesheets' companies are, I'd kill to work for one!
On the other hand I've had managers just the same - cannot understand why anything is difficult and certainly wouldn't waste their time trying to help you.
It's just people, they're sympathetic or not. Determined or not. They care about the outcome for more than themselves or not.
But what we are saying here is that they are essentially an artificial layer of busywork that adds very little value. This is what decades of empire building and organizational issues have created.
It's slowly changing and people are realizing a lot of the manager work is self-created and sustained.
My prediction is that most tech companies will go through flattening cycles now that we start realizing that adding managers adds a similar amount of busywork.
the places - where pure managers just existed i.e manager, senior engineering manager, director, vp etc - just added unnecessary overhead.
places that flourished had a manager who was also an IC - who reported directly to the CTO
which means I was 1 layer away from the CTO
I worked in several BigTech that had managers excellent at talking and posturing in meetings but doing no or negative works.
The issue is that managers are hired and judged by other managers, not IC, not producers. This creates that managerial class that make themselves self-important.
It's as if people are saying they want a direct democracy in which every issue is voted on directly by the participants, with just one layer between the people and the "prime minister." Good luck with that when the group size exceeds 50 people, and one realizes that people don't want to vote on every issue affecting a larger society or organization.
I have been employed before the 2000s and that was the norm before AdTech started to empire building around managers.
Hard agree. One-on-ones are one of the silliest fads in our industry lately. Why would you wait until a weekly scheduled meeting to bring something up? Your manager's job is to be available to you when you need something, not just once a week. And if they want to know how you're feeling.. they should ask, putting it on an agenda feels very disingenuous.
Me and my direct manager (a C-level) tried weekly 1:1s for a full year and ended up giving up on it because it was clearly unproductive cargo-culting.
The dirty secret is that most employees in the software field are not capable of that level of maturity and forwardness.
I’ve had employees like that and our 1:1s switched to monthly cadence and were frequently skipped if they felt like there was nothing to talk about.
For the majority of the others they had some level of anxiety about discussing problems and needed the structure of a scheduled meeting to feel safe enough to bring up issues.
I see comments in this thread being dismissive about discussing feelings and I assume they would be terrible managers who couldn’t handle the first time they had a direct report break down in tears in front of them while struggling with some task and feeling worthless.
As a result, people pop in my office regularly to start these conversations, which I prefer because it leads me to believe I am approachable, which is by far one of the most important things a manager should be.
My own boss seemed to see the time as an opportunity to apply pressure so of course I utterly hated them and wanted them to end ASAP. I didn't want it to be like that for my team. I thought I should be a source of help.
A good manager is worth their worth in gold even if they produce zero technical output. I've had managers that were absolutely instrumental in my career as a programmer, and they did close to zero IC work.
>>Before that the manager was essentially the best engineer in the tea
Yes, and it was absolutely awful. Keep the best engineer in the team as the best engineer on the team. Call them experts, distinguished, senior++, whatever, don't make them managers.
>>Let's go back to what it used to be
God, please don't.
>>We don't need weekly 1:1s to check on feelings.
Speak for yourself please. I find weekly 1:1 extremely important for the entire team, especially in fully remote roles.
The two extremes of company culture are status cultures and service cultures.
In a status culture the product is the internal status hierarchy. External products are largely incidental goals, and customers and markets are only valued to the extent they create metrics that can be exploited by status seekers. Likewise employees.
In a service culture the goal is customer service through high quality output and employee development.
US corps lean far more to status culture than service culture. This is excellent for short termism, but the culture often becomes dysfunctional, if not outright abusive, and sooner or later it implodes, because status cultures aren't good at accepting reality, or at accurately reading it when they do accept it.
And status cultures tend to cargo cult management, where the C-suite is comparing its status to other C-suites, and copying apparent status-raising actions without thinking them through.
In good times a status culture will overhire, because hiring more employees looks like growth. In bad times status cultures will overfire because "cutting the slack" is lowest common denominator status management.
AI is the same on steroids. You get the promise of more growth with fewer employees, and that's hard to resist, even though it's entirely speculative and could easily be catastrophic. (Company results, and especially lasting company results, are orthogonal to whether some employees get good results with AI, because what actually affects results is how predictable the improvements are, whether there are likely downsides, and whether they're structurally in the right places.)
Whether managers should also be ICs is a side issue.