I have/had amazing mentors and I started to do some thinking about how formative those guiding hands have been for me. This article isn’t so much about how useful mentorship is or even about my specific experience. Rather, it’s about an issue I see within a lot of companies: mentorship for senior engineers.
I saw a few Quora posts about what differentiates a senior engineer from a junior or mid-level engineer and I found the majority of answers intriguing. Sure, I expected more autonomy and less hand-holding but I didn’t expect structured mentorship to be lost completely after reaching a certain level of seniority. I think about my time as a mentor to the Orbital team at UWaterloo.
For a quick update, I’ve been mentoring their RTOS team since January 2022. In many ways, I see myself in them. They’re intellectually curious and bring fresh perspectives but they’re also impatient and not particularly disciplined. [TODO - talk about how cool cubesats are and why we need a more open source RTOS that can enable different groups to create their own cubesat modules]. I’ve helped them understand how to structure their code base, manage their teams, navigate nuances in OS development, software engineering and design teams. It’s clear they hang onto my every word, even more so when I express uncertainty about a subject. At times, they stop and doubt themselves when I’m in the room so they don’t seem like they’re saying something crazy (I recognize I need to improve as a mentor/person so that I seem more accessible to incomplete ideas). I’m their biggest cheerleader when I promote them and their work to my colleagues and potential employers and I absolutely wish them the best. To them, I’m the senior engineer.
But I’m far from ideal. I usually consider myself marginally employable. And then it hit me - I need structured mentorship, the same as the Orbital team needs it. And I would wager, the same as my senior colleagues. It’s not lost on me that this statement can be misconstrued - I have a lot of respect for the guidance my senior colleagues impart unto me. But there are times when I notice I can show them different perspectives and can be usefully critical of their pull requests and design documents (I imagine they do more than write code and design systems). That suggests that there is room to improve, both for me and them. But there is no institutional framework for mentorship beyond junior/mid-level. Monthly or weekly one-on-ones don’t count because that time is too limited and is usually better spent on career progression, transparency about management decisions, etc. I want to be able to change how I think about thinking. To know what I don’t know that I don’t know. To have that external set of eyes and ears. It requires a bit of attention from seniors who might not have the time but I’m not convinced that it has diminishing returns with more seniority.
If hardened surgeons and professional athletes need coaching, so do the upper echelons of the software industry.