The sad thing is that the way the software industry is structured, it creates environments where juniors are doing the deep work and people with more experience are doing shallow logistical work.
Upper management should also be doing deep work. Middle management should be doing the logistics of translating the results of upper management's deep work into something that guides their team's deep work.
Thank you, I hadn't arrived at that insight until you articulated it.
This is probably the main reason why I burned out last year (1 year before COVID-19). I started programming when I was 12, but after 30 years of acquiring knowledge and experience, I'd find myself getting blank stares at meetings when I explained the crux of a problem and how to go about solving it. The team just perceived me as slow and out of touch, without realizing that I had just short-circuited everything they were discussing. They'd arrive at the same conclusion I did in a few weeks, but by then we'd be on to the next challenge. Rinse, repeat.
So instead of getting into the zone on hard problems, I found myself going through the motions to satisfy productivity metrics slapping duct tape over junior-level spaghetti code. It was unfathomable to them that their technique was at fault because they were so deep in what they were working on that they couldn't see the forest for the trees.
I've decided to take a break for a year or two and am currently doing handyman work for a good friend to make rent. I'm healthier and happier than I have been in many years. So for anyone reading this who feels any unease about where the tech industry is heading, I just want to reassure you that you can try new things and the world won't come to an end. You're capable and have resilience that maybe you haven't had to tap into for a while. Maybe we're just coming up against walls that we can't easily climb ourselves, and we just need to wait for the industry to catch up to what we already know.
TL;DR: my life is basically the cliche ending of Office Space right now, but that happens periodically and that's ok.
Every industry has this where the juniors are doing the deep grunt work that required focus and hours of manual work, while the seniors manage the overall strategy, deal with business relationships, and oversee/mentor the juniors.
this seems a bit like a false dichotomy - I don't think that's how the software industry is structured. Maybe it's how companies with dev teams in _certain_ industries are structured. I've even had managers in the past who did deep work in addition to doing some of the more logistical work of project planning / story breakdown and it's almost a basic expectation that a senior engineer be hands on with the most complex, business-critical systems
I agree if companies don't have non-management tracks for experienced engineers. That does result in the environment you're talking about in about the worst way where your most experienced eng's are unhappy / hate managing and inexperienced eng's are stuck with bad managers
Maybe pairing would help here as a way to get more of this knowledge transferred more quickly so the shallow work can be spread out?