> For those with the structural advantage of frontrunning the flow of information to the team, it is literally effortless to accidentally cultivate the impression of being some kind of wizard
As someone more junior, I've already seen this and realized what was up and I absolutely hate it.
In many cases there is literally no reason other than seniority that people can't do things. If you gave the same information access to a capable junior or mid level eng they would be able to solve these problems, write the document, etc but that doesn't happen because it's not explicitly part of your role.
As a junior engineer: ask for this kind of work! A good manager will be receptive to requests to work on things outside of the role you've been assigned, whether it's for career advancement/cross-functional knowledge/interest.
It's not that easy. I can't ask for things I don't know about, and extremely often work is assigned far before I know anything about it.
My manager also has to balance what work to give to which person. It's very unlikely he's going to give me the opportunity to do high level work like synthesizing information, writing a design doc, etc and even if he does I'm at a structural disadvantage compared to someone who has full access to information.
I know from talking to the PM, more senior engineers on my team and sometimes my manager that this structural information advantage is real because they often talk about things I have never heard of, but they have been involved with for a long time.
It's not easy, but still something you can try to work on with your manager. It's possible that he's not doing this work himself, although he really probably should–in that case, you're going to have to pick up the slack. Part of management is being receptive to opportunities that allow your junior engineers to grow. Sure, it might take the senior two days while it takes you a month, but if he keeps assigning you simple tasks there's no room to let you actually advance to being a senior yourself. And that's just a bad way to run a team.
The best way I have found to bridge the information gap is to actively bring it up during your 1:1s. Managers typically have an idea of what you "need to know" that is based on their idea of your current task. It's not always accurate and they may not always be able to see why from their vantage point. "I was working on project X and ended up being blindsided by changes from team Y, which blocked me for a week" is a really strong argument that you should perhaps be included in meetings with team Y. "I hear you and the team lead talking about our stack for Z a lot, I'm not really familiar with that. Can you tell me more about what's going on with it/can I get some time to work with it to get up to speed/where can I get information on it?" can help start a conversation on something you've just heard about. Keep abreast of "rumors" of where various teams are going and see if they have mailing lists or other places where they post general information for "stakeholders" (of which you are not, but often these are digests for people–often upper management–who are not fully familiar with the team, which would is useful for you too).
Of course, this requires work from your side, probably on top of your existing duties. Ideally you have a manager who is sympathetic to such efforts for the reasons I outlined above. A two-way communications channel is key. It's always possible that he'll tell you to keep your head down and that this stuff is "above your paygrade" but there's really not much you can do about a manager who is bad at his job ¯\_(ツ)_/¯
As someone more junior, I've already seen this and realized what was up and I absolutely hate it.
In many cases there is literally no reason other than seniority that people can't do things. If you gave the same information access to a capable junior or mid level eng they would be able to solve these problems, write the document, etc but that doesn't happen because it's not explicitly part of your role.