If it helps anybody, this is what I learned from my time at G.
Suppose you are given an objective. Now you drive a project to achieve said objective. For starters:
0. Identify project requirements and scope.
1. Identify stakeholders. These are people/team who are directly/indirectly affected by your project/decisions. They are also people who may have nothing to do with your project, but could stand to gain something from working with you.
2. Talk to said stakeholders. Find out what they are good at, what they want and need. The underlying driving motivation for everyone is almost always career progression (promotion/bonus/etc), but this translates to different interests and goals. E.g our team just built this new tool and we want it to be adopted more widely in the company for greater impact to show that we're worthy of promotion to the next level.
3. Now that you have identified people's roles and interests, it's time to figure out how to align your interests with theirs. For example, you're migrating off a deprecated framework/tool, and another team is peddling their new framework/tool. Maybe you use their framework/tool. Maybe they customize it for you. Maximize this alignment. Business people would call this synergy.
4. Consulting with people shows that you are not a lone wolf, that you can work with others, plus no single person holds the entire picture along with the details. One added benefit is people feel good when they're consulted with. Makes them feel important. It also gives you visibility amongst upper leadership. This step is to build support for and awareness of your project. When everyone has a hand in it (no matter how small), they'll care more that it succeeds.
5. You get back to the drawing board and start designing the system/solution. You hold regular meetings with stakeholders to keep them in the loop, and to incorporate their suggestions. Any time there's a blocker or consensus can't be achieved, you go to their manager directly, or you have your manager talk to their manager. This is the diplomacy/politics part, and where great soft skill is needed (you can leave it to your manager as well). Ideally, if you did a good job with step 3 and 4, you won't have to get into this quagmire.
6. You partition work and dole them out to junior engineers, preferably pieces that can help them in their career as well. This is mentorship + delegation. It's what allows you to be productive and effective - you leverage other peoples' skills.
7. When you finally launch, thank and credit everyone involved (including leadership). Everybody gets to look good.
Suppose you are given an objective. Now you drive a project to achieve said objective. For starters:
0. Identify project requirements and scope.
1. Identify stakeholders. These are people/team who are directly/indirectly affected by your project/decisions. They are also people who may have nothing to do with your project, but could stand to gain something from working with you.
2. Talk to said stakeholders. Find out what they are good at, what they want and need. The underlying driving motivation for everyone is almost always career progression (promotion/bonus/etc), but this translates to different interests and goals. E.g our team just built this new tool and we want it to be adopted more widely in the company for greater impact to show that we're worthy of promotion to the next level.
3. Now that you have identified people's roles and interests, it's time to figure out how to align your interests with theirs. For example, you're migrating off a deprecated framework/tool, and another team is peddling their new framework/tool. Maybe you use their framework/tool. Maybe they customize it for you. Maximize this alignment. Business people would call this synergy.
4. Consulting with people shows that you are not a lone wolf, that you can work with others, plus no single person holds the entire picture along with the details. One added benefit is people feel good when they're consulted with. Makes them feel important. It also gives you visibility amongst upper leadership. This step is to build support for and awareness of your project. When everyone has a hand in it (no matter how small), they'll care more that it succeeds.
5. You get back to the drawing board and start designing the system/solution. You hold regular meetings with stakeholders to keep them in the loop, and to incorporate their suggestions. Any time there's a blocker or consensus can't be achieved, you go to their manager directly, or you have your manager talk to their manager. This is the diplomacy/politics part, and where great soft skill is needed (you can leave it to your manager as well). Ideally, if you did a good job with step 3 and 4, you won't have to get into this quagmire.
6. You partition work and dole them out to junior engineers, preferably pieces that can help them in their career as well. This is mentorship + delegation. It's what allows you to be productive and effective - you leverage other peoples' skills.
7. When you finally launch, thank and credit everyone involved (including leadership). Everybody gets to look good.