Very much agreed. Indeed, this is the most important job of the management. Many comments speak of engineering as something that would go off track if left to their own ways. But, the reason for that is lack of context and wrong incentives, in the first place. If engineers don't know why they are not being allowed to work on technical debt, it's a management failure.
Probably, but how much effort does that take? Why are you duplicating that effort along with all the other ICs?
You’re at Amazon, in 2001 and you know that in 5 years there will be a thing called AWS and that’s going to become the most important thing?
Much of this is attributed to the email Jeff Bezos sent telling people to productionize internal APIs.
My guess is: yes. People would be building what would have become AWS early on by solving the root problem for any given issue, establishing a decent API for it, and then consuming that API in some business logic.
Bezos' big contribution was telling people to do what they would have usually done.
A large part of a managers job is to have that context. Making everyone aware of wider context in a large org is untenable. ICs need to be able to focus on their immediate context so they can get shit done.
There's a reason staff+ eng aren't writing code all the time. They need to focus their time and energy on higher level tasks that enable other ICs to write code.
Personally I would love to have more context on everything, but I've got a glimpse of how much stuff my manager and PM are involved with and I definitely can't keep up with everything and also investigate issues, write code, etc.
I feel like this is a failure of the organization, rather than of those managed.
I’m perfectly capable of prioritizing things correctly if given proper context, but chances are very real that I’ll still pay more attention to what is important 5 years down the line, rather than what will make manager X look good this month.