Podcast: Play in new window | Download
Subscribe: Apple Podcasts | Spotify | TuneIn | RSS | More
Can we progress to the highest levels of the technical career ladder like senior staff or principal without destroying our lives? Max Kanat-Alexander would say it comes down to getting very clear about what your job is and is not. Those seeking to become principal engineers must relentlessly focus on the work they are uniquely suited to deliver within a specified scope.
This week in episode 287 you’ll hear Max recount how he became one of the technical leads for the developer productivity and happiness team at LinkedIn. Max shares a series of questions for evaluating what could be next in our careers and how we might decide between people management and remaining at the individual contributor level.
Original Recording Date: 06-30-2024
Max Kanat-Alexander is a Principal Staff Software Engineer at LinkedIn and is one of the technical leads for the developer productivity and happiness team. He is also the author of technical books such as Code Simplicity: The Fundamentals of Software. If you missed part 1 or part 2 of our discussion with Max, check out Episode 285 and Episode 286.
Topics – The Principal Engineer and Deciding Where to Focus, Boundaries, Individual Contributors and Managers, Developer Productivity, Evaluating What’s Next
3:09 – The Principal Engineer and Deciding Where to Focus
- With so many problems you could solve once at the staff or principal engineer level, how do you decide what you will focus on next, and how do you do it without destroying your life?
- “You need to decide on a set of strategic initiatives that you own. You cannot just be the ‘I do everything and help everybody generalist.’ You can’t just be constantly running around putting out all the fires because you know better.” – Max Kanat-Alexander, advice for the senior staff engineer
- Strategic ownership of a project means you are responsible for that project’s outcomes and that you have agreed upon it with your manager.
- “Any piece of work, if you can do it the instant you get it, do it the instant you get it… And the more you do that the less you will build up an overwhelming backlog of things that you now just can’t ever handle.” – Max Kanat-Alexander
- Max would include Slack messages in the above. Even if you are not entirely certain of an answer, you can answer the message immediately and qualify your answer.
- If something can be done in the next 5 minutes, do it in the next 5 minutes and send it out.
- “You need to know specifically what’s your job and what only you can do. And you need to only do the things that only you can do. And anything that anybody else can do, you need to either assign it to them or help them learn how to do it… You have to be ruthless with yourself on this by the way.” – Max Kanat-Alexander, on the importance of delegation
- Max tells us it is tempting to try and do all the work yourself and that sometimes even he fails in this area. Listen to his example of responding to a question in a Slack thread that someone else should have answered.
- It’s important to be very clear with yourself on what is and is not your job.
- At Max’s level, he and his manager agree about the things Max will work on, but the way in which Max achieves the work he has set out to do is up to him (not really a concern of his manager’s). Max makes decisions based on the impact he has promised to deliver and rarely needs to work outside of normal working hours.
- “I am always on the lookout for problems that are critical to the business in the scope that I’ve been assigned.” – Max Kanat-Alexander, on making decisions about where to focus his time and effort
- Max doesn’t really get assigned tasks but rather scopes. One example scope he shares is solving engineering metrics for the company (starting with the developer productivity and happiness team and moving beyond that).
- Within the scope described above, Max would need to decide which metrics to work on first, which teams to work with, etc. This requires Max have a framework for making decisions and that he get the required data to help him make each decision.
- “And if I ever can’t make the decision it’s either because I don’t have a principle about how to make it or that I don’t have the data that I need. And so one of the most key skills is figuring out what data you don’t have.” – Max Kanat-Alexander
- To Nick, the above sounds like an exercise in dependency mapping. Does this come from project management skills gained while working on these large problems?
- This skill, which Max says every engineer should develop, is the same as requirements gathering.
- “One of my observations that I have of engineers is that every single time you cannot solve a problem is because there is something about the problem you do not understand, not because there’s something about the solution you don’t understand… Getting this through to engineers is one of the hardest things I’ve ever done. People absolutely want to solve the problem way, way more than they want to understand the problem.” – Max Kanat-Alexander
- Nick mentions continuing to ask questions to ensure we understand the problem can sometimes annoy people, and in these cases we may have to explain that we are seeking only to understand better.
- Max says we can know we have all the necessary data when a solution is obvious and we are confident about it. And if we are not completely confident in our solutions, it means we have never gathered enough information about the problem.
9:20 – Boundaries
- How can we set the type of boundaries needed without appearing like we’re being mean or jerkish?
- Max says our social skills really matter in this area.
- Not everyone else inherently knows what our job is and is not, and we have to learn to redirect them helpfully.
- This also requires we make some judgment calls. Max mentions sometimes it would be a detriment for him to answer on behalf of others (i.e. especially if it’s about timelines owned by the manager of a specific team), so he may choose to redirect to the proper resource in these cases.
- Nick says in a way you’re asking yourself how to get rid of each request to focus on the work you are uniquely suited to handle.
- People who decrease their scope and become more specialized may be fearful of not being able to return to a more generalized role.
- Max says try to find someone to eventually take over your specialty to allow yourself to go and do something else.
- If you are feeling too specialized, Max would suggest not staying in the role for too long.
- Max gives the example of COBOL programmers who decided not to learn anything else. There are some programming jobs focused on COBOL today but not many. And this path certainly does not have a career ladder associated with it.
- Perhaps a better path would have been seeing continued work in this area as an eventual dead end. Max would encourage pushing your manager to help you find a different or more expansive role, and if the manager cannot help, you can certainly seek out something on your own that expands your technical breadth.
12:38 – Individual Contributors and Managers
- Upon reaching the top levels of individual contributor in a company, does make see most people become people leaders? What does Max think about moving into people leadership?
- Max would prefer to stay an individual contributor despite having been a manager in some of his past experience (like when he ran the consulting firm).
- Being an individual contributor and being a manager are very different roles according to Max.
- As a manager, Max is very meticulous about the operational details of a team. He might be focused on spreadsheets, logs, or some type of bug tracking system.
- Max would work closely with project managers and know the details of the work being done by his team. He would work to get to know his people and understand anything in their personal lives which might impact their work.
- Though Max would be obsessed with delivering outcomes, he would think even more about his employees and ensuring they are not sacrificing overall wellbeing in favor of outcomes.
- As an individual contributor, Max needs focus time.
- He may be designing something, reviewing something writing code, or in a long technical conversation about a specific topic.
- Max could be switching back and forth between 4 different things, for example. He would be paying more attention to specific sets of technologies and results than to specific people.
- Though Max is good at being a manager, it does not make him feel fulfilled.
- “Would you rather make people or technology?..What are you building? What would you rather build? Would you rather build other people, or would you rather build technology? And if you’d rather build technology your answer is an IC. And if you prefer building other people your answer is manager.” – Max Kanat-Alexander, on the decision between individual contributor and manager
- The answer to the above can change and can even change multiple times. Max has seen people at his level and above switch back and forth between individual contributor and manager and vice versa.
- “There’s a whole craft of being a manager, especially being an engineering manager. There’s a whole craft of being a great engineering manager… To be truly stellar at it is actually rare. So you can build up your skills just in that area…and it can be just as rewarding to see the people and the teams that you’ve created create something amazing as it is to create something amazing directly.” – Max Kanat-Alexander
- Would a logical lateral move for a principal role be something in product management?
- Max says this depends on where you are in the organization.
- In developer infrastructure where Max works, usually there are no product managers. In fact, Max might steer the potential product manager away from infrastructure.
- Engineers who work on infrastructure and build tools for it generally only want to listen to other engineers.
- If you’re working on a product specifically, you as a product manager are working tightly with the engineering manager to deliver a product together.
17:19 – Developer Productivity
- Max says it is very common for an organization to not have defined productivity at all even after building an organization around it.
- At LinkedIn productivity is defined as engineers being efficient and effective. Happiness is added at the end to get developer productivity and happiness.
- Efficient could mean doing something in the least amount of time possible or as frequently as possible (i.e. remove the friction). Effective means getting the results desired.
- What made Max want to focus in this area?
- “The thing that I care about as a software engineer is helping other software engineers be better software engineers.” – Max Kanat-Alexander
- Max was the technical lead at Google of YouTube for the Xbox 360 (one of the first ways to watch YouTube on a television). The product was very successful, and there were a number of cool technical things done on that project.
- While the product was wildly successful, after a year or so Max became very bored.
- Some people are product engineers and some are infrastructure engineers. It depends on whether you want to help users or other software engineers.
- Max’s passions and interests keep drawing him toward helping other software engineers (and thus the infrastructure focus).
- At Google, when Max was bored he told his manager that he wanted a different job. Max’s manager connected him with the head of developer productivity for YouTube. This person needed someone to help sort out certain problems, and Max jumped all over it.
- “I say just do the thing you’re going to do. What happens is if you do this thing, eventually an opportunity will show up. And when you’re like, ‘I can do that opportunity,’ people will believe you because you’ll have a pedigree of having done the thing.” – Max Kanat-Alexander
- Nick calls this out as relatable experience (experience that prepares you for a job you don’t have yet) and that it is something we don’t often know how to leverage properly when updating LinkedIn profiles, in writing resumes, or in interviews.
- Max says he just tells stories in interviews, not claiming to be an expert in relatable experience.
- Nick says you get the story by doing something and then documenting your work and accomplishments.
- Max says he tends to struggle with documenting his work and usually has to go back to look at his calendar and read through a number of e-mails to get the necessary information for a performance review.
21:25 – Evaluating What’s Next
- To decide what we might do next, Max says we should first decide if we want to keep doing what we are doing.
- “It’s very easy to get caught up in something comfortable.” – Max Kanat-Alexander, on deciding what to do next
- Max would encourage us to continually evaluate our answers to the questions below.
- Is the work I’m doing still making an impact?
- Does the work I am doing require that I do it, or could it be handed off to someone else?
- If I stop the work I am doing, would anything bad happen to the company?
- “Even if you’re comfortable. Even if you think your job is totally secure, eventually, somebody else will figure out the same answers that you have about your work.” – Max Kanat-Alexander
- Max has seen people who were in roles that seemed safe but produced very little impact get bad performance reviews and then get fired.
- If your boss tells you the work you are doing doesn’t make any sense or doesn’t seem valuable, ask for their help to correct the problem. If you continue to focus on work that isn’t perceived as valuable, that is a very good way to lose your job.
- We need to be honest with ourselves about the importance of the work we are doing in present time and be constantly evaluating this.
- Max would also consider the following questions to gauge interest and capability for a new endeavor.
- Do I think the problem is important to solve?
- Am I interested in solving the problem? Am I interested enough in it to do a good job?
- Will I have the resources I need to accomplish this?
- Max says you should never take a project that is not funded. He has seen many individual contributors destroy their career by taking unfunded projects without the proper resources to deliver any results.
- Resources include people to help (engineers, project managers), hardware / software needed, and possibly agreement from other teams to do the work. Do your research on the resources at your disposal before taking a job!
- Do I think I’m capable of doing the job?
- “When all those things are true and I have to compare them, the question is ‘which one has the most important long term impact for the company?’ Sometimes there are things that have more short term impact… I really want to do the thing that has the best long-term outcome.” – Max Kanat-Alexander
- If Max had to choose between delivering something really cool in a few months and changing the company in 3 years, he would prefer to change the company over the longer term.
- Taking a project that has a big impact in 3 months might mean you only maintain the project for the foreseeable future with very little additional impact and no clear exit plan to work on something else.
- Nick feels like this is a demonstration of the ability to understand the scope and time horizon of value delivery before taking on a project.
- As you think about moving up the engineering career ladder, ask yourself “how many people would I be comfortable leading toward a goal over how long?”
- Max’s answer, for example, is thousands to tens of thousands over several years.
- “Every person needs to think about that answer for themselves because as much as you might want that promotion, if you get there and you can’t do it, it’s going to be a miserable experience.” – Max Kanat-Alexander
- Being a number 2 or right hand of someone at Max’s level would still give someone a very large scope. Most of the people Max relies on directly to lead significant parts of a project are senior staff level engineers.
- “Because even parts of that problem have such a significant scope that they require somebody who understands how to handle that problem, or they still affect the same number of people over the same time horizon but they are only one piece of technology as an example.” – Max Kanat-Alexander, explaining the concept of scope as it relates to a project
- Max gives the example of leading a project to update all dependencies across all code repositories at LinkedIn. One piece of this is the dependency infrastructure, and Max mentions a senior staff engineer is in charge of this. But that is only one piece of the greater project as there are elements in addition to just the infrastructure that need handling.
- The scope differences described above are analogous to the difference in a plumber or electrician for a house and a general contractor.
- As you think about moving up the engineering career ladder, ask yourself “how many people would I be comfortable leading toward a goal over how long?”
- To follow up with Max on this discussion…
- Send him a message on LinkedIn
- E-mail him using the contact form on his blog Code Simplicity
- Follow Max on Twitter @mkanat
Mentioned in the Outro
- Remember you are not locked into a career as an individual contributor or a people leader forever. Your preference can change. If you need more advice on how to make that decision, check out these episodes as a small sampling of our back catalog:
- To the people managers listening, please let your people know if the work they are doing is not valuable, and individual contributors should ask for guidance if they aren’t sure if the work they are doing is valuable.
- Being part of something successful does not mean it will be the most interesting thing we’ve ever worked on. We should keep track of our interest level over time and do what we can within our control to keep the work interesting. Don’t let yourself get to the point of performing poorly or no longer caring to take action!
- If you would like a free copy of Max’s book, Code Simplicity, you can get one here.
Contact the Hosts
- The hosts of Nerd Journey are John White and Nick Korte.
- E-mail: nerdjourneypodcast@gmail.com
- DM us on Twitter/X @NerdJourney
- Connect with John on LinkedIn or DM him on Twitter/X @vJourneyman
- Connect with Nick on LinkedIn or DM him on Twitter/X @NetworkNerd_
(A) I totally love this. But (B) do you do all of these topic summaries manually or do you use an AI tool to help you with it? I podcast a fair bit too and struggle with this.
I’ll often use an AI tool to help brainstorm on a title and pick out major themes to use as part of it, but I find myself writing the summaries on my own, often times based on what gets highlighted in the intro. It’s nice to spot check what I highlight in the episode description section at the top against what an AI tool says the major themes are. But the show notes are my own. I haven’t been using an AI tool for that. I feel like an AI tool would save me time on the show notes, but making them myself actually helps me remember the show’s content better.
That makes sense, and (unfortunately or fortunately) is basically what I’m doing now as well. In editing a podcast like this, coming up with the big profound moments, it’s tough to do that ANY way but manually, as only you know what really hit home. I do all my podcasts on video too, so I’m putting a lot of those subtitles on the video, which also takes time. It’s fun time (I “play” Premiere Pro way more than any video game I ever did as a kid) but still, it’ll probably be something I figure out how to outsource to some sharp kid who wants to learn the business.