“One of the biggest reasons the title of “Staff Engineer” is so hard to wrap up in one quick explanation is because it entails such a wide scope. Over the course of my time as a Staff Engineer, I’ve had responsibilities that fall into all of the following categories at one time or another”
Up until I became an Engineering Director I’d been a Senior Software Engineer since the early 2000’s, not long before Microsoft acquired Visio. I was so self conscious about the title change I asked that nobody talk about it. I didn’t tell anyone. Why? I was kind of embarrassed because I thought there was no way I could be a Senior Engineer amongst all the legendary Principal Engineers I worked with. At Visio a Principal Software Engineer was equivalent to what we call a Staff Software Engineer at WillowTree.
Fast forward to 2019 when I join WillowTree we had Staff Software Engineers and I had never actually heard the term. We also had Principal Software Engineers. The difference was a Staff focused on technical stuff and the Principal on managing folks and helping them grow.
Since then the Principal role changed name to Engineering Director. Same responsibilities, new title.
One of the things I found attractive about WillowTree was the dual track a Senior Software Engineer had the choice of taking when they promoted to the next level. I’d been thinking for quite a while I’d like to become more of a people manager and get out of day-to-day coding. To this day I still love writing code and building product. I fill that need today by building my own products. They’re small, digestible, apps I enjoyed building and maintaining, especially Stream.
Since I became an Engineering Director I’ve caught myself missing the day-to-day work of building a product. By that I mean doing the code. It’s a real transition to become a people and project manager instead of writing code. It’s taken time for me to really embrace the change and I’m finally started to settle into it.
A part of me wonders if I could be a Staff Engineer and I think I could. Staff folks tend to work on stuff around the edges, gluing all the various bits together, making sure the build pipeline gets setup and working, working with the client to decide architectures, third-party services, and overall strategy. They also tend to jump on big issues, bugs, and hop around technologies at will and pick them up quickly. In my experience at WillowTree they have the ear of our client.
My history tells me I have filled a lot of those roles, all of them in fact, but the thing that I feel would stop me from doing that job is speed. I’ve never been quick to make change. Yes, I can adapt, but I’m not one to do it overnight. I’m not what I’d label intelligent. I work really hard at what I do to make things soak into my brain. Over the course of my career I’ve outworked people. I don’t give up when I’m onto something. My lack of speed has always been, I believe, my biggest weakness.
That’s why the people manager track was so interesting to me. I knew it was time to get out of coding, I love mentoring, and it feels really great to see others grow in their career.
But I sure do love sitting in a quiet room building software and if I could work on my own projects all day, every day, I’d do it in a heartbeat. 😃