Very honest and the raw truth about coding for staff+ roles - thanks for sharing! Thanks for the book reference - The Software Architect Elevator: Redefining the Architect's Role in the Digital Enterprise by Gregor Hohpe - will check it out!
I have to say I'm surprised and delighted to read this. Surprised because you do code more by volume compared to other engineers at your level I know 🙂 Delighted because this nicely lays out the trade-offs of coding vs other activities.
The level of involvement of senior engineers in debugging, particularly during incidents, is an interesting topic. We are valuable in debugging complex failures (multiple systems, lots of edge cases, rigorous and model-based thinking required, etc.). The challenge with deploying us in debugging is that, like coding, it requires 'deep and tactical' effort. We can, however, mitigate that by pairing senior ICs with engineers who work closely with code and systems. Senior engineers can provide guidance and direction to teams (e.g. what kind of data to collect to identify issues, where are the likely problem areas, patterns to follow) and communicate challenges and remediation plans (both short-term and long-term) to leadership.
At Atlassian, I was a major incident manager for most of my time as an architect. I feel this was a great concrete way to be involved in debugging at the right level and time; we are brought in for major issues, provide direction to teams (and shield them), enabling them to go deep into systems, and communicate upwards and outwards.
Very honest and the raw truth about coding for staff+ roles - thanks for sharing! Thanks for the book reference - The Software Architect Elevator: Redefining the Architect's Role in the Digital Enterprise by Gregor Hohpe - will check it out!
I have to say I'm surprised and delighted to read this. Surprised because you do code more by volume compared to other engineers at your level I know 🙂 Delighted because this nicely lays out the trade-offs of coding vs other activities.
Curious to hear your thoughts on debugging
The level of involvement of senior engineers in debugging, particularly during incidents, is an interesting topic. We are valuable in debugging complex failures (multiple systems, lots of edge cases, rigorous and model-based thinking required, etc.). The challenge with deploying us in debugging is that, like coding, it requires 'deep and tactical' effort. We can, however, mitigate that by pairing senior ICs with engineers who work closely with code and systems. Senior engineers can provide guidance and direction to teams (e.g. what kind of data to collect to identify issues, where are the likely problem areas, patterns to follow) and communicate challenges and remediation plans (both short-term and long-term) to leadership.
At Atlassian, I was a major incident manager for most of my time as an architect. I feel this was a great concrete way to be involved in debugging at the right level and time; we are brought in for major issues, provide direction to teams (and shield them), enabling them to go deep into systems, and communicate upwards and outwards.