wpasc
12 hours ago
The author notes:
> One caveat: my experience comes mainly from working on infrastructure and developer tools at large companies, on teams where engineers have a lot of bottom-up autonomy to influence their roadmaps. In a more top-down environment, there may simply be less room to work this way.
I wonder if the overall trend in tech is that engineers are experiencing less bottom-up autonomy and more top-down controlled environments. I would be curious to see how many tech companies (or the average engineer's experience) have changed from being tech led where engineers have autonomy to being more product management led. My suspicion without evidence is that the overall engineering autonomy has decreased over the years as the culture of tech has (in my opinion) shifted away from tech focus to more business, management, product focus with engineers just as the widgets who are tasked with fulfilling the goals of business, management, product.
all hypothesis, only anecdata
geodel
11 hours ago
This sounds about right. At least I feel it acutely in my career. And the more experienced I got instead of more autonomy it has decreased. So to me it seems autonomy is decreasing at a rather fast clip.
Even outside projects and general work condition it is worse. 10 years back I could just decide when to work from home, or do a few interesting projects show to managers get approval afterwards. Today I have to explain myself to managers and get proper approvals for same thing. And I have been in same place for quite some time so it is not even the case that I have to prove to my new employers first.
Being not much ambitious I use to think after these many years and multiple successful project my win is to be a kind of made guy in that same mid-level position. Supporting , fixing project which I delivered over years and just take it easy, start day late, leave early until retirement.
Turns out things I assumed, don't exist. And even if they do they are above my level. Not worked in big tech, no massive RSU based compensation and with AI flattening difference (in employer's view ) between 2 vs 20 years of experience, story is not going to end great for people like me.
majormajor
10 hours ago
>And I have been in same place for quite some time so it is not even the case that I have to prove to my new employers first.
Any individual company is likely to atrophy because continual success breeds fear of change, fear of breaking what's already working. Especially if management rotates and new management didn't actually create the success in the first place.
geodel
6 hours ago
> Especially if management rotates and new management didn't actually create the success in the first place.
Critical point, and absolutely true in my case. With change in management all past successful projects are "failures" now. Instead of using x, y, z projects uses a, b, c so leadership is kind to dismiss me with prejudice.
noisy_boy
4 hours ago
How will you get bonus if you don't do anything different?
How will you do anything different if you don't ignore/brush-aside past successes and focus on replacing them with new things?
How will you replace them without funding i.e. more budget, more power?
How will you keep moving up if you don't repeat this cycle?
cube00
11 hours ago
>Supporting , fixing project which I delivered over years and just take it easy, start day late, leave early until retirement.
My experience has been you'll be regularly moved around to mitigate the "bus factor"
If you're seen as highy capable you'll be moved on to firefighting duty.
maccard
10 hours ago
Yep, and if this happens you need to get promoted quickly out of that or you’ll get stuck at it. It’s great fun, and you’ll learn about every project your company has going on by doing it.
ipaddr
4 hours ago
The higher the position the less leeway you have because you are working on bigger problems with more experienced people who want to do things their way.
It makes sense the higher up you go the more demanding the boss because their boss is more demanding.
hankbond
11 hours ago
Without providing too much detail, at my current place of employment I find that to be the case.
In most of my career, especially when in a Staff role, it has been up to me to propose the direction and priority of work within my scope. Usually, this is based on my estimation of the impact to the business (possible new features, security) or operations (devx, efficiency $$$). Obviously I still have to work with product to get things scheduled as they have needs that must be met, but it was as an equal partner. As a very creative person thats usually the space I enjoy the most.
zug_zug
12 hours ago
I agree with this and think that when your company isn't profitable and is running out of runway (due to the end of the zirp) and can't get more, moving toward features that more directly could land sales is a natural top-down move (and totally correct in the abstract).
However I still see a lot of "work theater" where directors couldn't care at all about changing the bottom line but just care that work that sounds plausible enough is executed in a predictable way that makes them look good (in fact they get pretty disappointed if something happens TOO fast [like half the estimate] as it illustrates they are out of touch the work they are claiming to represent). What I'm saying is that "do more top-down-product" in theory makes sense as a direction, but in practice I usually see it as wasted energy.
nbardy
2 hours ago
I think this is largely true. Theoretically it follows that mature industries would become this way more and more.
In my software engineering jobs there was always strong top down product direction. In my AI research jobs people are often staring at me blankly waiting for me to tell them what we can do.
A young industry the only people who really understand the potential of what the technology can do are the experts and practioners.
Overtime all the best ideas get picked off, and the general population who are non practitioners gain enough knowledge that they can understand what the technology can do better than the experts how can impliment it.
rconti
5 hours ago
I'm sort of in this area, and I'm fighting the same struggles because I desire "productivity", not autonomy.
I asked my manager if I should be creating tickets for the work I'm coming up with, and he answered a question I didn't ask, saying he doesn't count sprint points. So I clarified, shouldn't I at least be creating tickets so that we're accounting for it in our sprint planning? And he didn't seem to care.
IMO, it's a 180 degree shift to go from trying to accomplish assigned work to creating new work and accomplishing (or delegating) it / adding it to roadmaps / etc. To me, it wasn't at all obvious that this was what I should be doing, so it was strange to sort of stumble upon it when asking an adjacent question.
It would have been very useful to get an explicit instruction such as "hey, only spend 1/4 of your time on planned work" or similar.
I'm sure there are plenty of people out there who spent their entire career trying to avoid doing assigned work so it's an easier transition, but for rule followers it's a weird change.
JauntyHatAngle
3 hours ago
I always include sprint points or at least some metrics to track, because even in areas that don't care about it, there is some chance a new CTO/manager/buyout or whatever jumps in. Day 1 asks for metrics and then retroactively judges people's output on it.
I've annoyed my team previously in demanding jiras and sprint points (and helping build it out as much as I could to not take too much of their time) because I could feel the turn happening to metrics.
Sure enough the only person in my team let go was because he outright refused to fill in his JIRAs and I could not get through to him the difference in what is logical and what plays well to management when they lose their minds.
Bit of a tangent, but even in the work you're describing, I treat sprint points and JIRAs as future CYA, not necessarily a work sheet.
gilbetron
9 hours ago
In my experience (35+ years), it is the opposite now. It used to be massively top down, and now it is more and more bottom up, at least with the companies I have experience with.
wreath
2 hours ago
Do you mean this applies to other engineers who are less experienced than yourself or only to you?
mcv
11 hours ago
I've certainly seen that shift in some places. 8 years ago I started on a project as a freelance software engineer, to build something they couldn't really envision yet. I had a ton of freedom, built a prototype, chose my own tech stack, designed every part of it. A team was built around it, and I migrated to a leadership role where I decided the direction, addressed issues I saw, redesigned parts that needed improvement. We had an enormous amount of freedom, and used it to build great things fast.
A bit over a year ago, I joined that same company again, as lead of what's technically the same team, this time as an employee, but everything had changed. It was very hierarchical, very top-down, very little freedom, lots of red tape and office politics, and a tedious, slow pace.
hansvm
10 hours ago
I've had about the same level over the years. Early on, before I had a nest egg, I had little real autonomy, despite outward protestations top-down asking for risks and ideas. Afterward, maximizing average outcomes rather than worst-case risk, I've had a ton of career success either proposing and executing good ideas or else just ignoring the product roadmap when necessary to make the company better. I encourage my team to do the same (ideally they have to resort to subterfuge less than I did since I highly value bottom-up input, but either way is fine). It's, again, risky, but if you consistently deliver above expectations then in many environments you'll get more promotions and raises than you know what to do with, despite the lack of predictability.
Lately, product and my boss have been on board, so it's been fantastic to actually have partners to discuss these "risky" ideas with and better fit them into the roadmap rather than guarantee things which would get us all promoted will be shot down instead. I personally have more bottom-up autonomy than I think I've ever had at $WORK.
That's only anecdata. Another aspect of that tech microcosm is that at various points I explicitly did not have permission to do the right thing and had to be careful with the politics. It only worked out because I was right and because I was okay with the consequences if I had been wrong. Maybe that means I had low autonomy in your definition?
nickjj
8 hours ago
I've spent ~20 years working either as a contract worker and in more recent years, full time work.
Every company I did substantial work for was bottom up from the perspective of my role, which is also related to infrastructure and developer tools / workflows.
Basically I'd work alongside the dev team and report to the CTO, VP of engineering or engineering manager depending on company size. Nothing really needed sign off beyond my manager and even then in most cases I was left to self-regulate 95% of it. That style makes a lot of sense for this type of role, it's much different than writing app code with feature requests coming from a product team.
Every substantial line of work was directly related to reducing friction, pain or instability as well as saving time. These could be workflows or technical implementations. Also a lot of times it is bringing order from chaos. These could be things that directly affected me or the dev team. Internally I treat the dev team as both peers and customers.
bluGill
8 hours ago
You can get to be a staff level engineer doing that. However, beware that to really make it up the corporate ladder, you actually have to reject that. Note that I didn't say reject doing the things assigned. I mean reject it as in you figure out the things that they should be assigning and get those done instead.
There are lots of different routes via staff and above level engineer. However, what they do have in common is working on really hard problems that take a lot of other people to work with. You will typically find your staff and higher level engineers rarely are actually writing code themselves. They are all management, but it's a technical management part.
The thing is, it's really hard to be there because management will constantly assign you various product-focused things and you end up being a widget. And so you have to figure out how to break out of that to say, no, this is the wrong widget and you have to show them that, look, I delivered this widget and when they see it, they should realize, wait, this guy was right. I assigned the wrong widget and he did it and so I need to trust this guy and give him more time to do things that give us the right widget.
Remember, the real goal is to make money for the company. As an engineer, you might say your salary is, say, $200,000 a year. But that is only a small part of it. For every dollar they spend on you, they need to spend $10 on other things to make it work. To pay your salary, you need to make not just enough product to bring enough to pay for your salary. You also have to pay for marketing, sales, product support, other managers, HR, and a bunch of other things I can't even think of off the top of my head. So the real question you should be asking is how do I earn, by actions I do, more than $2 million a year for my company. If you're earning your company $2 million a year as an engineer, they're breaking even on you at best, you should do widgets they trust will work. If they are earning $10 million, that's something that you should be putting on your resume and saying, look, this is why you need to give me a promotion. I am earning this $10 million every year. If you want to do even better than that, make it not $10 million that you're personally doing, but things that, because you're assigning other people to do them, are earning hundreds of millions. If you can earn the company hundreds of millions of dollars a year, you can justify a large salary for yourself, and you keep dozens of other engineers busy doing things.
Or you can take the lazy way out and just be a widget producing what they need you to do. That's good enough.
lalitmaganti
8 hours ago
(author here) I really like your framing here! I think it captures the essence of my thinking in a really concise and coherent way.
johnnyanmac
7 hours ago
Hard to feel motivated either way when both roads seem to ultimately lead to layoffs, regardless of performance. If you can even get to staff/principal level to begin with. That's more a matter of when you were born these days instead of what you know.
afavour
9 hours ago
All anecdata here too but I agree. I’ve been in the industry long enough to remember when companies weren’t _all_ tech and us tech folks were considered specialists with a niche who charted their own course.
These days tech is indispensable to most businesses so top down control has been asserted.
austin-cheney
12 hours ago
Most of my career has been spent in JavaScript and then MuleSoft. I have only ever seen top-down authority in about 20 years of doing this, except for when I was at Travelocity early in my career.
The general perception is that JavaScript work in the corporate world is for young people who have no idea what they are doing and lack the maturity to write original solutions. This perception is common from developers who do other work, management, and developers who primarily perform JavaScript work. If I want to be creative or have autonomy to do anything more ambitious than putting text to screen I have to save it for personal side projects or do unrelated work.
MuleSoft work was just more of the same with all decisions funneled to strict silos of a select few and everybody else was just a keyboard pressing stooge.
Yes, that does sound dreadful, but what's worse is that it amplifies the personalities of people who will throw others under the bus for attention and potential rock stars who perform their most diligent work at hiding from that attention.
cube00
11 hours ago
> more ambitious than putting text to screen
And you will be ordered exactly where to put that text down to the pixel.
However your design system will be built around a twelve column bootstrap layout which your designer won't follow because "an experience can't be constrained by columns"
sandeepkd
11 hours ago
Its a good thing that the Author pointed out the caveat cause most companies/teams/people do not operate in this mode. Subtle in the details is a fact hidden that the author is able to manage what he wants to do, most people do not get that kind of luxury. This either means that the author has earned enough political reputation based on past work or they are aligned with their management chain.
tldr; this advice is probably impractical for a bigger chunk of industry.
geodel
11 hours ago
Agree. It is to author's credit that he shows self awareness about this kind of autonomy and privilege.
ricksunny
2 hours ago
It's funny you highlighted the 'one caveat' line. I literally came here to post 'One caveat:' (and nothing else), as claude code seems cli to revel in adding an apparently obligatory 'one caveat' blurb at the end of every response. (viz. https://www.reddit.com/r/ClaudeCode/comments/1vbsr2m/one_cav... )
Struck me that the staff engineer 'finding problems to solve' might be (whether for better or worse) manifesting that same tendency.
By the way, as Maganti's article has both the 'one caveat' structure and the reference to 'shape' , both being very common claude-isms, I treat the article as gen-AI. May still have something interesting/useful to say, may not, but I'd find the prompt series Maganti desired to employ to elicit producing the article prose more informative than anyything about the prose itself.girvo
11 hours ago
This is my current world, at least. Bit of a shame. But they pay me well enough still and the work is interesting enough that I don’t mind too much.
ravenstine
8 hours ago
Every step up in my career has, ironically, lead to less autonomy.
alchemism
7 hours ago
“It is easier for a rich man to pass through the eye of a needle than find the Kingdom of Heaven.”
hinkley
7 hours ago
I confess that when I work at controlling places, I engage in conspiracies. But I can only pull the subterfuge off for about 3 years and then I have to move on before I get PIPed for making their entire engineering staff more efficient, and then they move the goalposts for 'meets expectations' and don't know exactly what it is I'm doing, but they know they don't like it and now they have some numbers that tell them what they want to hear.
Like a woodworker building his own jigs, I always build my own tools whether the company wants them built or not. When I'm in a supportive environment, I work on and share those tools loudly. When I'm not, it's over lunches, behind closed doors, pulled out during emergencies, or just snuck into the CI pipeline without comment.
Frankly, the fact that not everyone does this has always been a cultural disconnect for me. The whole point of our field is to take repeatable tasks and write code to replace them. The fact that only about one in six of us does this for the tedious or error-prone parts of our own work is just maddeningly bizarre to me.
Nevermind the overly large fraction of people who have to be dragged kicking and screaming into using tools written by others. That number has gotten smaller over the last couple of decades but it started too high and the slope of that line says something awful about the industry. I don't know what, but it's something I'm sure nobody wants to hear, so I haven't poked at that bear too much (I have plenty of other bears to poke.)
zmgsabst
11 hours ago
I think it was correlated with outsourcing and H1B replacements, because you can’t outsource the leadership required for bottom-up methods.
Further, foreign business culture is significantly more too-down than American business culture.
pydry
11 hours ago
I think the autonomy was stripped not that long ago and it's making software products far worse.
It doesnt make sense that this would happen from an economic perspective at first glance - not unless you consider labor (devs), execs and investors to be three competing groups who are vying for power.
suburban_strike
9 hours ago
I noticed what you describe 5 years ago.
Since then, not only have we lost autonomy, but there was no top-down direction to begin with. And there is none now.
Nobody knows what the next incentive to chase is, so they're liquidating headcount and engaging in fraud to appear profitable.
(re: fraud, I'm learning the hard way why my own employer's stock price dramatically improved-- ever since they switched to stack ranking, they just make shit up to PIP and deny severance ahead of layoffs.)
0xbadcafebee
10 hours ago
It depends on company culture, and there's as many of those as there are kinds of people. I've worked at large, medium, and small companies, in many industries, and there's no common pattern. The people in charge set the tone, and the people are all different.
If there's a pattern in the people, it's that more people in charge are less capable of doing the job, because they've grown up in a culture of ignorance. The past 10 years has been dominated by "StackOverflow Engineers" promoted to management, and people who read HN clickbait blog posts and believe it's good advice (it's not). They never had the time, training, or mentorship to learn from decades of experience. And Dunning-Kruger keeps them confident that they don't need to change.
However, on this point:
"the overall engineering autonomy has decreased over the years as the culture of tech has (in my opinion) shifted away from tech focus to more business, management, product focus with engineers just as the widgets who are tasked with fulfilling the goals of business, management, product"
That's exactly what engineers are supposed to do: listen to and enable the business. A mechanical engineer does not dictate the shape of the car. The designer tells the mechanical engineer what the car will look like. It's up to the engineer to make it work. However, it's also up to the engineer to tell the business that you can't fit a 600hp engine in a Mazda Miata without seriously affecting handling. It's supposed to be a two-way street. Good management/leadership knows this and enables it.
supriyo-biswas
4 hours ago
> That's exactly what engineers are supposed to do: listen to and enable the business.
This may be the case if you're a junior engineer just crunching through individual tickets, but with the lower end of software engineering being automated away where even more junior engineers have to take more product/feature ownership, I don't think "churning widgets" is the right way to think about our job anymore.
spl757
10 hours ago
this