Absolutely. So I have definitely not always been in a senior role, and let me tell you, it has been a long and fantastic journey to get here, that was never always up and to the right. My career has taken many different twists and turns, and I’ve tried out product management, and I’ve tried founding a company… So I’ve done all kinds of things and learned so many things along the way.
At Slack - it’s funny, when I joined I was a senior engineering manager, so maybe it comes full circle. Then I transitioned into an engineering director when I started running infrastructure, and I’m now a senior director, so I got that senior back.
[00:12:25.02] In the beginning, when I was managing that team of seven front-end engineers, I was – and again, not hands-on from an “I was writing code”, because as we’ve talked about, I wasn’t the right person to be making the technical decisions, although I can understand the technology quite well and quite quickly… But I knew what the team was working on, I knew the challenges, I knew with a very high degree what was coming next for them. Engineering was much smaller then at Slack, it was less than 100 people. The group that I was in had about 25 engineers, so I knew what our larger plan was for all those 25 engineers.
I would often sit in meetings that were talking about – and again, as a manager, I do attend a lot of meetings. The goal of opt-in attending a lot of those meetings is to gather information, and to also see when people are blocked and how I can help them, and how I can also help transmit information throughout the organization.
So I would sit in meetings that would be talking about things at the feature level, and as I transitioned to lead infrastructure, one of the things that happened was – this was a brand new engineering organization. When engineering teams get big enough, you have to subdivide them in some sort of logical way, but always knowing that org structures and how you divide - that’s a very hard problem.
We had had a logical division there of how we would divide it, and now I was running this new organization… So I had this really exciting, unique opportunity to figure out “Well, what is the mission and what is the vision and what is the strategy for infrastructure?” So instead of thinking necessarily about the feature level that I had before, and the vision and the larger plan being set by the senior directors and VPs in that previous engineering organization, I was thus in those shoes.
So I had to figure out what are the current challenges with our infrastructure, how are we scaling right now, what’s breaking, and how are we gonna scale through the next huge jump and growth in our user base? What are things that are important for us to work on, but not urgent? What are the fires that are burning? So I really had to deeply understand from this infrastructure perspective what was going on, and I had to create a compelling vision that resonated not only with the engineers, but with the senior executives - the CTO, the VP of engineering, even the CEO, Stewart Butterfield; I presented this vision to him, as well. So it moved from feature level, again, to all of infrastructure.
Now, as a senior director, as my boss likes to tell me - my boss is Michael Lopp, who many of you may know him on the internet as Rands - my role is not only to stay involved in infrastructure… I mean, I love this team; I feel like it is such an incredible, incredible organization… But to think about all of engineering, and the company as well.
[00:15:53.09] When I joined, around two-and-a-half years ago, engineering was around 100 people, and now I think we’re at around 350 people. So thinking at that larger scale, thinking about how we make decisions that impact across all of the organizations and impact other places of the company… So it’s all about leveling up the scale at which you’re thinking about, and when you do that, you can then have even greater impact. But one of the hardest challenges with that is that now you need to influence – and again, I deeply think… One of the most profound lessons that I learned in my career was when I became a product manager and I had to learn how to influence people (people being the engineers) when I was not their manager and I did not have explicit authority to tell them what to do.
The higher up that you go in management, your job is all about influence. Ultimately, the engineers in my organization and other organizations - they decide what code they’re going to write that day and what code they’re not going to write that day. They make all of the decisions. Now, I try to influence those decisions by giving them additional context, by giving them background, by talking about why what they’re working on is so important… But at the end of the day, they decide their destiny, and I am there to help support and guide them. And the higher you go up in an organization, you have to be able to influence even more people in the organization, and that’s incredibly difficult to do.