I had a question on how does one exhibit impact and staff level behavior as a Senior engineer.
The staff engineers on the team code as much as me. Although I am a lead for a team, there is distinction between me and how another lead is being perceived. I am happy for them.
They have been in the company way longer, they advocate, question and are not afraid to speak up.
But code wise, I have way more commits. We are both leads, but I can tell they are on the way to becoming staff, and it is the behavior. I am not able to put a pin on it.
How can we be perceived of being extremely valuable and influential to the team without crunching code.
You have misunderstood what the staff job entails. Consider that the staff vs senior role are 2 different jobs.
Senior: Problem known, solution unknown
Example: "Build x feature on Android + iOS. You also need to tell the backend what to send down"
Staff: Problem unknown, solution unknown
Example: "Reduce land times by 5%" This may include optimizing the build system itself, looking at machine capacity, caching mechanisms, increasing CI performance, etc. There are so many different areas that you may have no context on that you'll need to jump in and quickly become an expert in.
Or maybe you're in a product team
"Eliminate our dead unused code"
Its akin to being dropped on a deserted island and asked to lead a team to get off of it. That will mean
Each one of these has its own engineering equivalents. I leave that as an exercise to the reader.
What I think you're misunderstanding is that you think its all about code. Its not. Shipping code is one of many angles by which to measure your productivity but its an ends to a mean. Why are you writing the code that you're writing? How does it fit into the bigger context? How will it get us closer to the overall strategic solution? Why should we allocate time and developer hours to this? Can we maintain it in the long run?
Your thinking should be strategic and try to handle the unknowns and potentially unknowables. Allocation of resources and identification of problem areas that are previously unknown is a big chunk of that. Ontop of that, because of how complex these systems and codebases are, unknowable/unpredictable changes will always come at you and you must be prepared to not let those derail your efforts.
If you cannot show the initiative to do that in a way that contributes to the strategic direction of the team, then you are not ready to be a staff engineer.
Try this...
This exercise will give you: