Part 2: An Elegant Puzzle Book Discussion w/ Will Larson


Summary

In this second part of the interview, Will Larson, engineering manager at Stripe and author of An Elegant Puzzle, delves into the concept of creating ‘just’ environments within engineering organizations. He explains that a just system ensures people who follow established processes are rewarded equally to those who advocate for themselves outside the system, eliminating incentives to defect from company processes.

Larson discusses the practical challenges of implementing fair processes, noting that while people know how to create them, they often require significant time investment. He explores ways to make these systems more efficient, such as pre-materializing selections for project leads or batching decisions to reduce overhead. The conversation highlights the tension between the desire for consistency and the need for operational efficiency.

When models fail or situations become messy, Larson emphasizes the importance of human skills: listening to individuals involved, synthesizing perspectives, and identifying structural misalignments rather than attributing problems to individual actors. He references Hanlon’s razor, suggesting that environmental factors and misaligned incentives typically drive conflict, not malice.

A surprising insight Larson shares is the counterintuitive relationship between authority and speed. He explains that wielding formal authority often requires extensive stakeholder alignment and communication, which can slow progress. Conversely, operating without authority (e.g., running local team experiments) can provide more freedom to move quickly and innovate. The discussion also touches on the challenges of balancing core business maintenance with innovation, warning against the anti-pattern of isolated ‘innovation teams’ that create organizational friction.

Finally, Larson offers career advice for engineers considering management. He encourages experimentation, arguing that in a long career, spending several months trying management is a low-risk way to gain valuable perspective. He reassures that skills developed in management often accelerate growth on the individual contributor track as well, framing it as ‘slowing down to speed up.‘


Recommendations

Books

  • An Elegant Puzzle — Will Larson’s book for engineering managers, packed with practical advice and resources. Recommended for engineers of all levels to gain perspective on management and systems.

Concepts

  • Hanlon’s Razor — Referenced in the discussion about diagnosing team conflict. The principle suggests we should not attribute to malice that which can be adequately explained by other factors (like structural misalignment).
  • The Innovator’s Dilemma — Discussed in the context of why large companies struggle to innovate. The theory explains that a company’s core business becomes so valuable that it becomes irrational to invest in disruptive new ventures.

People

  • Matt Klein — Creator of Envoy at Lyft, mentioned as an example of an engineer who has chosen to remain an individual contributor throughout a long and successful career.

Tools

  • Systems Thinking — A methodology highlighted throughout the conversation. It involves modeling interactions within an organization to understand levers, constraints, and unintended consequences, forcing clearer thinking about actions rather than just goals.

Topic Timeline

  • 00:01:12Defining a just environment and fair systems — Will Larson explains the concept of a ‘just’ environment where people who follow established company processes are rewarded at least as well as those who advocate for themselves outside the system. He emphasizes designing systems where the best results come from doing what the company asks, eliminating incentives to defect from processes. This creates fairness and consistency across the organization.
  • 00:05:18The challenge and efficiency of fair processes — Larson discusses the open secret that people know how to run fair processes, but they are time-consuming. He contrasts a thorough, transparent selection process for project leads with simply picking someone quickly. The key challenge is finding systems that maintain fairness and consistency with less overhead. He suggests batching decisions or pre-materializing selections as ways to increase efficiency.
  • 00:11:18Skills for when models fail and diagnosing conflict — When systems or models break down, Larson highlights the importance of human-centric skills: talking individually with everyone involved, synthesizing perspectives, and facilitating group meetings to get all problems on the table. He stresses that conflict between teams is almost always due to structural misalignment or misaligned incentives, not individual bad actors. The goal is to understand the forces motivating behavior.
  • 00:16:59Systems thinking and unintended consequences — The conversation explores systems thinking, which forces clarity by specifying the actions (levers) that will create an outcome, not just the desired goal. Larson shares an example where modeling revealed that engineering manager hiring, not general engineer hiring, was the core constraint for growth. This unintuitive insight redirected focus and time investment to the actual bottleneck.
  • 00:21:44The counterintuitive burden of authority — Larson shares a major lesson: wielding formal authority is often slower and more constrained than expected because it requires extensive stakeholder alignment, communication, and restraint. Conversely, operating without authority (e.g., running local team experiments) can be liberating and allow for faster movement and innovation. This flips the common assumption that authority is necessary to accomplish things.
  • 00:25:23Balancing innovation with core business operations — The discussion addresses the innovator’s dilemma: large, successful businesses rationally focus investment on their core, making it hard to fund new ventures. Larson critiques isolated ‘innovation teams’ as they can create social friction and problematic handoffs. He suggests thoughtful organizational design, like building new products on top of existing platforms, to enable innovation without creating destructive internal competition.
  • 00:29:19Career advice: Trying management vs. staying an IC — Larson advises engineers considering management to view it as a low-risk experiment in the context of a long career. He argues that spending 6-9 months to try management provides valuable perspective and that the skills developed (e.g., stakeholder alignment, systems thinking) often accelerate growth even if one returns to an individual contributor path. He encourages overcoming the anxiety of ‘losing time’ on a promotion track.

Episode Info

  • Podcast: Developer Tea
  • Author: Jonathan Cutrell
  • Category: Technology Business Careers Society & Culture
  • Published: 2019-07-08T09:00:00Z
  • Duration: 00:35:59

References


Podcast Info


Transcript

[00:00:00] dealing with exceptions is kind of this like core core leadership skill and particularly dealing

[00:00:05] with exceptions as you design process and figuring out how do you find it’s sort of like

[00:00:10] architecting software how do you find the common patterns then how do you make them extensible

[00:00:14] to kind of handle like what reality brings you it is it is a really powerful topic to think about

[00:00:20] particularly when you’re thinking how do you also make this a fair and kind of just system not just

[00:00:26] one that kind of gives the results that people wanted to have all the time

[00:00:30] you just heard the voice of will larson this is part two of my interview with will

[00:00:37] will is an engineering manager at stripe and he recently published a book called an elegant puzzle

[00:00:44] this is for engineering managers but i recommend that engineers of all levels take a look at this

[00:00:50] book there’s lots of practical advice and tons of resources as we discussed in the previous

[00:00:55] episode of the show and i’ll see you in the next one bye bye

[00:00:56] my name is jonathan cattrall you’re listening to developer t and my goal on this show is to help

[00:01:01] driven developers like you find clarity perspective and purpose in your careers and i think will is

[00:01:07] going to help you do some of that in today’s episode so let’s get straight into the interview

[00:01:12] with will larson and you mentioned a just system this is a concept that i believe you talk about

[00:01:20] in your book and it’s something that i wanted to to bring up now because i think it’s a great

[00:01:26] idea to think this is something that solves a lot of the questions uh and i guess kind of

[00:01:32] conundrums that you might find like for example in an engineering manager interview you know how

[00:01:39] do you uh establish a culture where the people feel the people that are directly reporting to you

[00:01:46] they feel like you’re taking care of them like you care about them as as people but also that

[00:01:54] you’re demanding

[00:01:56] the the quality level that is necessary for success and i think that’s that’s a really hard

[00:02:03] thing for people to kind of wrap their minds around and i think that this this uh terminology

[00:02:10] of a just environment is exactly the kind of the road to an answer to that can you describe

[00:02:17] what a just environment would look like so when i think about kind of

[00:02:24] justice

[00:02:26] in process which is which is kind of a interesting idea i really think we want to make sure that

[00:02:32] people know how to accomplish things the right way that the company has said like the way we

[00:02:38] want you to get up level is this the way that we want you to be exposed to new roles and to apply

[00:02:44] to those new roles is this the way that we want you to kind of have your compensation updated is

[00:02:49] this um we really want to make sure that people who do what we’re asking them to um

[00:02:56] are rewarded at least as well as people who don’t do what we’re asking them to

[00:03:00] for example if we’re saying that there is a kind of a certain process to get your compensation

[00:03:06] adjusted each year say there’s some sort of automatic compensation adjustment system that

[00:03:10] happens to kind of bring you up to your current kind of whatever like your title is and the kind

[00:03:16] of pay band there plus like an increase of a cost of living or something we we want to make sure

[00:03:21] that someone who is just following that process gets the same exactly the same amount of compensation

[00:03:26] treatment as someone who’s been like advocating for themselves kind of every every couple of

[00:03:31] months to to get like a raise or whatnot but also we want to make sure that we’re not putting some

[00:03:37] people in the position where they’re just they got hired with a lot less money um so that they

[00:03:40] have to advocate for themselves consistently to try to get like a consistent result but really

[00:03:45] we want to make sure that no matter how people interact with the process they get like approximately

[00:03:51] the same results and to me that’s justice where we don’t incentivize people to

[00:03:55] um

[00:03:56] defect from the process we don’t incentivize people where they think kind of following the

[00:04:01] processes for suckers or whatnot we actually want the best results to be for people who do

[00:04:07] what we ask them to do as we design these systems that they then live in yeah i think that’s

[00:04:13] important because it it means that both sides have a responsibility you as the company the manager

[00:04:19] you have a responsibility to know what you’re looking for and that’s that’s hard but it’s also

[00:04:27] useful and and if you can articulate what you’re looking for and somebody actually brings you

[00:04:34] what you’re looking for rather than creating this kind of mysterious environment where

[00:04:40] um the picture in my mind is somebody kind of saying well you know just impress us uh that’s

[00:04:47] that’s a situation where

[00:04:49] uh where it’s very stressful to be a developer but it’s also unlikely to succeed right because

[00:04:56] uh the way that somebody might perform in that environment is erratic and it certainly doesn’t

[00:05:03] match everyone’s personality to go out of their way and find a way to quote impress their boss

[00:05:09] that’s that’s a bad a bad situation for everyone one of the kind of like the the open but slightly

[00:05:18] hidden secrets behind

[00:05:19] this idea of like consistency and fairness um in companies and process is that people really know

[00:05:28] how to run fair processes it’s just hard it just takes a lot of time so consider two different

[00:05:33] examples if you have like a really important project that you need someone to run

[00:05:38] what you could do is you could kind of send out an email to the company ask people to apply over

[00:05:44] the next week um you could make a clear rubric of how you’ll select from the people that apply

[00:05:49] you could go nudge people to kind of encourage them to apply people who might not think they’re

[00:05:54] ready but you think are ready and then you could select someone you could give feedback to everyone

[00:05:59] not selected explaining why they weren’t selected and then you could send an announcement saying who

[00:06:04] was selected to lead it you could do all of that or you could just pick someone that that you think

[00:06:09] would do a great job and like move on to the next problem and so one of the challenges is that like

[00:06:14] people want justice but they don’t necessarily want to like invest the time into doing it

[00:06:19] and also um there are ways to make this cheaper though and so one of the things i’ve been thinking

[00:06:26] about is a lot of the processes that i’ve designed and seen designed are kind of just and fair but

[00:06:33] but they’re they’re really heavy and so a lot of the work i’ve been doing in kind of management

[00:06:38] over the last year is trying to understand how do we find these systems that have the same

[00:06:41] properties of kind of fairness and consistency but also a lot less overhead to implement

[00:06:46] and that that is when i think we get to this place where we’re going to be able to do a lot more

[00:06:49] we’re going to actually have kind of everything we want where i think often when people aren’t

[00:06:53] following these kind of more structured processes it’s just like a efficiency like we need to get

[00:06:58] this done not not kind of a absence of desire to have consistency for for the folks they work with

[00:07:03] and and can you share um you know kind of what what is an example of making a more efficient

[00:07:11] and fair process is is there something that you have in mind that um that like like a process

[00:07:18] that you would actually refactor to be

[00:07:19] more efficient but also still just so going back to this example like the selecting kind of leads

[00:07:26] for projects like something we’ve done is we’ve moved towards pre-materializing the the selections

[00:07:31] where one of the challenges is that we’d have like a project like an emergency that comes up

[00:07:36] we need someone to lead it but we don’t have time just to like a full process to like take a week

[00:07:40] and find someone we need someone like tomorrow or today um and so something we’ve done is like

[00:07:45] how do we like pre-run these selection processes where we can actually

[00:07:49] find the next person a queue right yeah but exactly right how can we do the work ahead of

[00:07:54] time instead of doing it in the moment yeah that makes total sense and it’s it’s not so much about

[00:08:00] you know doing less it’s about finding the ways to uh kind of have on-time delivery in that

[00:08:07] particular scenario but i’m sure there are ways that we can uh we can optimize for doing a little

[00:08:12] bit less like uh taking advantage of people’s opt-in behaviors and uh allowing people to do a

[00:08:19] lot of the work that they need to be able to kind of be on tracks for example is what i was thinking

[00:08:24] about is is a way to say okay you know if you’re interested in this particular kind of growth then

[00:08:31] this you know this is the stream that you want to be in perhaps you’re not going to have something

[00:08:37] in this area immediately but when something comes along you’re already in the stream right you’re

[00:08:43] you’re already kind of a part of the group that will you know be opted in to this rather than

[00:08:49] everyone at that moment or every moment something comes along i think that’s exactly right i think

[00:08:54] that’s kind of like pre-materializing this putting people in stream where you know exactly what

[00:08:59] they’re looking for so you kind of like set them up for that i think that’s that’s definitely kind

[00:09:02] of the right way to think about it it’s i think you you can actually to your point about like

[00:09:08] being like not necessarily easier or less work i think there are ways you can make it less work

[00:09:13] where if you actually batch these things you can actually do a process and you can get like the

[00:09:17] next 15 people to work

[00:09:19] on these sorts of projects where you can do it all kind of the fixed overhead of running the

[00:09:23] process you just do that once but but i think you’re definitely right that there there are kind

[00:09:28] of there’s still a lot of kind of work there um and sort of a variation on this idea though is

[00:09:35] that there are also like types of projects that are critical for the business that are not

[00:09:40] necessarily glamorous or exciting and like a lot of like compliance overhead like teams that worked

[00:09:46] on gdpr last year were not necessarily like

[00:09:48] desperately

[00:09:49] to work on kind of this this project and i think that’s where really the company culture can be so

[00:09:55] important about kind of focusing on business impact as like core to what makes work desirable

[00:10:01] and rewarding work and avoiding this idea of like complexity or interestingness as kind of what the

[00:10:07] company um recognizes and values yeah that’s very hard to do right because it can be uh it can be a

[00:10:14] slog to work through some of these things and i think you know that brings me to another point

[00:10:18] that i think is important to me is that i think it’s important to me is that i think it’s important to

[00:10:19] to note and that is that you know all of these systems all of these models they are all exactly

[00:10:26] that they’re they’re models which means you know they they are useful but they’re also going to

[00:10:31] miss something along the way right we’re going to have uh you know a moment where we hope to have

[00:10:39] all of these systems in place but because of some overlap or some particular scenario that we

[00:10:45] couldn’t have predicted or somebody’s uh you know particular scenario that we couldn’t have predicted

[00:10:49] tastes even the system doesn’t necessarily cover everything and so i wonder you know when you come

[00:10:57] up to these kind of messy situations where yes you you have this kind of idealistic way of dealing

[00:11:04] with problems but you know when you encounter these messy situations what skill sets do you

[00:11:11] think are important to fall back on when the model just isn’t quite doing you know doing the work

[00:11:18] that you need it to do and so i think it’s important to think about that and i think it’s important to

[00:11:19] instead you have to kind of do this manual uh kind of human work right it’s almost hr work in a way

[00:11:26] um what are the what are those skills that you think are important for engineering managers to

[00:11:32] cultivate well when the model isn’t working i think there there’s kind of two different things

[00:11:38] to do there’s kind of diagnosing the current situation and there’s like figuring out how to

[00:11:41] fix the model but i think you know that when something’s going really wrong the the first

[00:11:48] thing i do is i’m going to figure out how to fix the model and i’m going to figure out how to fix

[00:11:49] i try to talk individually with everyone involved and then i try to pull the group together and

[00:11:54] actually have that like kind of come come to truth team meeting where everyone has to like really

[00:12:00] kind of get their perspectives out and i i found as i’ve gotten better at running those meetings

[00:12:07] i found them extremely effective at getting kind of all the problems out on the table

[00:12:11] early on i think my comfort level with uh discomfort was not high enough for it but

[00:12:17] increasingly i think

[00:12:19] i’ve gotten really powerful so you know first listening asking second synthesizing

[00:12:27] and then really to me is like trying to understand the data going into the model and coming out

[00:12:34] in some cases like some human cases it’s interesting like what does the data mean

[00:12:39] there’s like just a few people involved but really trying to understand kind of the the

[00:12:45] principles that are driving conflict for example like if two teams are are really

[00:12:49] you know quote unquote misaligned and disagree about some problem it’s almost always been the

[00:12:55] case for me that it’s it’s actually like there’s like some sort of structural misalignment that has

[00:13:00] set them up for that not that there’s some sort of like people who are fighting with each other

[00:13:05] or something like that but there’s actually like something real misaligned that that it really

[00:13:10] pays to try to understand the forces that are motivating the people to act this way

[00:13:15] versus just projecting that the people are kind of bad actors or something like that it’s almost

[00:13:19] never the case that people are the bad actors it’s almost always some structural thing driving

[00:13:24] them into weird behavior yeah i i agree with that completely it’s a is it hanlon’s razor or

[00:13:32] i believe it’s yeah it’s hanlon’s razor not occam’s but hanlon’s razor essentially says that

[00:13:38] uh we should never attribute to malice what um what can be explained with pretty much any other

[00:13:45] explanation uh and and most of what humans

[00:13:49] are reacting to is some environmental factor um typically it’s something that they don’t

[00:13:58] necessarily understand or that they’re trying to understand and and so i think i think what

[00:14:04] you’re saying is is absolutely uh critical but it’s also something that’s hard to

[00:14:10] uh i guess see until you’ve fixed one of those situations until you’ve seen those principles

[00:14:17] at work and then you’ve said okay

[00:14:19] you know what is it exactly is this team uh aligned in a way you know on this particular

[00:14:26] project that they are responsible for too much for example maybe the the responsibilities are

[00:14:32] misaligned or maybe the expectations on one team are higher than the expectations on another

[00:14:37] those kinds of misalignments can be uh can drive behavior down the line that is you know one

[00:14:45] one two three four steps removed from the original problem

[00:14:49] to begin with there’s a whole kind of like genre of kind of like the wrong goals led to the wrong

[00:14:56] kind of behavior um and i think this your your kind of comments fall directly into that i actually

[00:15:03] haven’t seen too many cases in my career where there’s like a story where someone had the wrong

[00:15:08] goal and they just did this totally wrong thing i’ve definitely solved the right problem in the

[00:15:14] wrong way where i sort of like regretted the approach longer term i think at uber we kind of

[00:15:19] spun up the service provisioning in a system in a way where people could just self-service

[00:15:23] and we ended up having essentially one service per engineer at one point and i think that was

[00:15:29] an unintended consequence of that approach but it was still the right problem and the right

[00:15:34] goal and just there were unexpected consequences down down the road from it i think that’s i think

[00:15:41] what you’re saying is is um critical to the kind of the systems thinking mindset right the hope is

[00:15:49] with systems thinking and we won’t go into too much detail here um because the book that you

[00:15:57] mentioned is is really a better way to to learn about it but the hope would be that you can

[00:16:03] identify you know once you’ve gone through the process of kind of modeling out a system of

[00:16:09] various interactions you can identify unexpected interactions unexpected results from you know

[00:16:17] a particular node in that it’s

[00:16:19] kind of a graph problem typically when you look at a system a particular node in that sending a

[00:16:25] signal to another node you may not you know intuitively understand the relationship between

[00:16:30] two disparate parts of of that graph until you model it out and what you’re saying makes a lot

[00:16:37] of sense that you can look at these second and third order effects and if you try to solve the

[00:16:45] problem in one way those first order effects may look right right you may have

[00:16:49] part of the solution or you may have some of the effects that you want but these other

[00:16:54] unintended consequences certainly can happen too so one of the interesting things about systems

[00:16:59] thinking um is that oftentimes when you’re thinking about solving a problem you’re just

[00:17:04] like here’s the goal um but systems thinking doesn’t let you specify the goal it just lets

[00:17:09] you specify the change and then see the result and so this is forces you to have like a really

[00:17:14] clear hypothesis about what you want to do um and instead of just thinking about the problem

[00:17:19] you have to change these levers trying to accomplish the goal and i think that’s really

[00:17:24] powerful it’s not just we will you know deliver five new products next year it’s like how many

[00:17:30] engineers do we need to hire and when to actually deliver five new products next year i think that

[00:17:35] kind of thoughtfulness um by not letting you just specify the outcome but actually specifying the

[00:17:40] action you will take that will create the outcome um forces just like clearer thinking than any

[00:17:45] other approach i’ve really seen yeah and there’s there are tools to kind of

[00:17:49] model these things out um you know to to visualize um what does that system look like when you when

[00:17:56] you put all the pieces together you put all the interaction you know the interacting nodes or

[00:18:00] whatever you want to call it uh where you say okay you know we want to deliver five things well

[00:18:05] let’s let’s put a node on here that’s uh engineers and then let’s put um you know

[00:18:12] unexpected absences right and so you would have those two things that feed into the system and

[00:18:18] you may have

[00:18:19] you know uh 10 different things that you think are going to contribute or detract from you

[00:18:25] achieving that particular output at that point uh and i think you know it’s it’s really interesting

[00:18:31] to watch as you know especially if you have some kind of automated way of running these things

[00:18:36] uh it’s interesting to see how you know an input in one particular area may have a feedback input

[00:18:43] to another area right and the feedback loop is the thing that makes systems thinking so interesting

[00:18:49] yeah it’s that’s exactly right i think we often go into these things thinking we understand like

[00:18:56] how they work thinking we understand where the core constraint is um but but so often by actually

[00:19:01] taking real data of how things have worked and trying to model that we we learn just like new

[00:19:07] things for example one of the things i’ve learned is that like typically our hiring is constrained

[00:19:12] on engine manager hiring not on our ability to hire kind of engineers um and so that has caused

[00:19:19] me to really rethink that and i think that’s a really good point and i think that’s a really good

[00:19:19] where my time goes when when we hire and if i hadn’t done that modeling and then been wrong

[00:19:24] about it i i would have never kind of realized that was the right place for us to like put

[00:19:28] the majority of our time yeah that makes total sense and i do think there are a lot of these

[00:19:34] kind of unintuitive things about you know the environment that we interact with we think that

[00:19:41] if we you know directly work on hiring engineers in that particular example that okay of course

[00:19:48] you know that’s going to have the right impact on the environment and that’s going to have the

[00:19:49] right return but maybe there’s a bigger lever and i think that’s kind of the uh the the the key

[00:19:55] question is what is the right lever for me to pull to get the things that i want

[00:20:00] today’s episode is sponsored by get prime we’ve been talking about engineering management

[00:20:08] in today’s episode and the previous episode of developer t

[00:20:11] and you probably have noticed that the best engineering managers are excellent debuggers

[00:20:18] they can see better than others and they can see better than others and they can see better than others

[00:20:19] problems in code but they can also see problems in teams in a recent episode we talked about the

[00:20:25] idea of pattern matching and that is exactly what these great engineering managers are doing they’re

[00:20:30] looking for patterns and what kind of patterns are they looking for well that’s what today’s

[00:20:35] sponsor get prime helps you figure out get prime has published a book outlining 20 patterns for

[00:20:43] effective engineering teams you can get the book for free by going to getprime.com

[00:20:49] 20 patterns that’s get prime g-i-t-p-r-i-m-e.com slash the numbers two zero patterns 20 patterns

[00:20:59] thanks again to get prime for sponsoring today’s episode of developer t

[00:21:03] i’d love to ask you a question uh kind of switching gears here what are some of the

[00:21:09] more uh unintuitive things i guess it’s similar in some ways but more unintuitive things that

[00:21:17] you may have learned uh in the past that you’ve learned in the past that you’ve learned in the

[00:21:19] past uh since becoming an engineering manager that you think other engineering managers maybe

[00:21:25] they also have the the same kind of misconception that you had but now you see things a little bit

[00:21:31] differently are there some some things that you wouldn’t have expected to be true but you found

[00:21:36] them to be true sure this is a pretty large category um one thing that i thought was not

[00:21:44] true at all which i now believe is true um is that i used to think um that’s the kind of thing that

[00:21:49] there were kind of if i just had authority like if i just had authority over this i could accomplish

[00:21:57] anything um but but really what i found is authority is pretty difficult tool to wield

[00:22:05] at scale um so if you think about making a top-down decision around some sort of org change

[00:22:12] or a top-down decision around kind of changing the process to do something it it’s so hard to

[00:22:18] do that the right way

[00:22:19] you need to figure out the stakeholders you need to figure out the impacted parties

[00:22:24] you need to go talk to all of them build alignment get them engaged roll it out properly

[00:22:31] let everyone know through like structured communication um and that’s kind of it’s

[00:22:37] actually very hard to wield authority properly because it requires so much restraint and i’ve

[00:22:44] really come to believe that if you to wield authority properly you actually have very few

[00:22:48] kind of

[00:22:49] appropriate moves you’re able to take in any given point like your flexibility is just like

[00:22:54] greatly constrained by all the constraints conversely like i used to think you know

[00:23:00] operating without authority was very difficult um but what i really found is that there’s kind

[00:23:05] of a freedom of operating without authority which you don’t have to follow all the steps

[00:23:09] um so a lot of these processes that i’ve experimented with about kind of how we do

[00:23:14] kind of interviewing people internally for roles that we’re considering

[00:23:18] um

[00:23:19] logic selection um cold sourcing these are things we just ran as experiments internally to the team

[00:23:25] and there is like none of the overhead of kind of doing it properly because it’s just an experiment

[00:23:29] locally to the team we’re not asking anyone to like buy into it we’re not asking people to like

[00:23:34] do it our way and i really think that to me has been kind of eye-opening where in a lot of cases

[00:23:39] the authority actually really slows you down because you have to be so thoughtful with it

[00:23:44] and not having authority is i think sometimes liberating to actually move much more

[00:23:49] much faster and that’s something i would have never imagined was true until fairly recently

[00:23:53] that is a very interesting kind of dichotomy of freedom versus kind of i guess responsibility is

[00:24:01] is that the the constrained piece of that and we see this in organizations large organizations tend

[00:24:10] to make small teams innovation teams is what they’re often called or innovation department

[00:24:17] that are less

[00:24:19] responsible for kind of the the growth of the company or um you know the success of the for

[00:24:26] the stockholders and sometimes they even make entire companies uh that operate inside of the

[00:24:32] company just to kind of shelter them from that higher level authority that they otherwise might

[00:24:38] have and so i think this works both at the individual level and it works at the kind of

[00:24:43] organizational level um you can watch this happening in very young

[00:24:49] startups young startups have the ability to pivot their entire uh business plan right their entire

[00:24:56] strategy and uh though that may not be easy on the kind of the emotional state of the people at that

[00:25:03] startup uh financially it may be totally possible to do that and um you know it’s kind of the the

[00:25:09] big ship turning um you know if you’re light and agile you know lowercase a agile then it’s it’s

[00:25:17] much easier to

[00:25:19] to make adjustments and to continue experimenting because the stakes are low

[00:25:23] there’s kind of an interesting juxtaposition here of kind of the innovators dilemma which is

[00:25:30] one of the reason you have innovation teams in large companies is that the company business gets

[00:25:35] so valuable as you scale that it’s irrational to do any investment outside of supporting that

[00:25:41] core business and it makes it very hard to do new things um conversely um what i really don’t like

[00:25:47] innovation teams because typically they’re not going to be able to do new things and they’re not

[00:25:49] they create this social structure where like why wouldn’t you want to be doing the cool new thing

[00:25:54] with no production responsibilities when if you have that option like you should just do that that

[00:25:59] seems like a lot easier and so like there’s this interesting kind of friction between this the

[00:26:05] business need and kind of the how do you design a process where you don’t reward people for kind of

[00:26:11] bumming off and not doing the critical production work the most essential work to like run the

[00:26:16] current business and then the business if you only do the critical production work you’re not going to

[00:26:19] only do that you actually starve the business of like the the future by kind of over focusing on

[00:26:24] today and figuring out how to balance those sorts of things i think is is really some of the most

[00:26:30] interesting parts of kind of management and kind of just thinking in this domain overall

[00:26:35] yeah it makes total sense i think it makes sense to have your department your engineering

[00:26:42] department keep a pulse on whatever’s keeping the business alive um and you know artificial

[00:26:49] shielding a group of individuals from that is can be can can so kind of this bad discord uh amongst

[00:26:59] the the people who aren’t in that team uh versus the people who are it’s like the you know what

[00:27:05] made what made you guys so special right um then that’s that’s probably not a healthy culture but

[00:27:11] it also could could mean that you know the operational mindset is entirely different so

[00:27:17] moving whatever

[00:27:19] that innovated thing is into the mainline business may be a huge task if it wasn’t

[00:27:27] kind of integrated to begin with that that that is definitely one of the kind of the the most

[00:27:32] painful anti-patterns which is the innovation team that does a handoff to to the maintenance

[00:27:37] team to kind of run the new thing and then moves on to their their new kind of newest shiny thing

[00:27:43] i think you know if you look at stripe we’ve we’ve started to

[00:27:49] launch more and more different product lines as we get older and i think one of the things that

[00:27:54] we’re trying to do is we’re trying to layer the the products on top of each other not kind of

[00:27:59] strictly compete and not strictly um kind of extends the existing functionality but actually

[00:28:05] build things that are built on top of our existing platforms so i do think there’s ways that you can

[00:28:09] be kind of thoughtful about the organizational and business design to kind of avoid some of

[00:28:15] these kind of downsides while also allowing you to kind of innovate move quickly and kind of move

[00:28:19] and kind of not get kind of stagnant in how your company grows yeah that makes sense i’d love to

[00:28:26] switch gears for a moment here again and ask you kind of from a high level as as people are as

[00:28:34] engineers are growing in their careers they’re going to face the moment where they have to kind

[00:28:39] of make a decision are they going to continue being an engineer for the rest of their career

[00:28:44] or are they going to kind of develop these management

[00:28:49] skills and i was talking with matt klein uh recently um who created envoys at lyft

[00:28:56] he has a long career as an ic and he wants to stay an individual contributor um so i’d love to know

[00:29:04] you know what advice do you have for someone who is facing this conundrum of you know do i do i go

[00:29:10] into this uh different kind of path into management or do i continue being an engineer do you have

[00:29:17] advice for people who are who are facing that decision

[00:29:19] so one of the kind of perverse things of silicon valley kind of engineering in particular but as i

[00:29:25] think also common across kind of engineering in 2019 at large is i think we’re we tend to like

[00:29:33] have this like default assumption that we’re going to be in the industry for like 10 years

[00:29:36] or 15 years that it’s kind of this really short-term thing so for example you’re you’re

[00:29:43] you’re five six seven years into your career as a manager or as an engineer let’s say you’re a

[00:29:49] senior engineer at a company and someone comes to you and is like hey do you want to do you want

[00:29:52] to try being a manager um i think people are often like well if i try being a manager it might not go

[00:29:58] well and it’s going to take me six months to know it’s not going well and then it’s going to take me

[00:30:03] three months to re-ramp and i’m going to lose nine months on my kind of career track to getting

[00:30:07] promoted to staff engineer or something like that and i i totally understand like why kind of people

[00:30:13] get into that mentality but the the reality is like if you’re going to be in this industry for

[00:30:19] 35 40 years losing nine months to to try out a new role isn’t isn’t that big of a deal like you’re

[00:30:28] you’re still getting paid you’re just like haven’t gotten promoted at the same pace you’re expecting

[00:30:33] to so my first thought is that i think there’s a sense that experimentation is far more expensive

[00:30:39] than than we think it is and you know this isn’t true for everyone and so if you are supporting

[00:30:45] um several generations of your family off your income you you have a lot of money and you have

[00:30:49] a lot less risk tolerance if you have younger kids um and you’re supporting them you have a lot

[00:30:54] less risk tolerance and so it’s not this is not universal advice like everyone has to understand

[00:30:59] kind of their risk profile but in general i found that people really ought to try management if

[00:31:06] they’re interested in it if they don’t like it you pick up a different perspective and i think

[00:31:10] it’s really powerful perspective and then you can just bounce back off if there’s almost no

[00:31:15] permanent decisions you can make i think people frame things

[00:31:19] permanently sometimes but but i think far more people um go into management and then kind of

[00:31:25] step out of it after a couple of years and i think people consider i think that’s it’s pretty normal

[00:31:30] to kind of go through that path and those folks i think in the moment they feel like they’ve lost

[00:31:35] something but so much of being an effective staff engineer is the same sorts of skills that you have

[00:31:40] to build to be an effective manager so so i really think there’s an accelerant here it’s kind of like

[00:31:46] speed slowing down to speed up if if

[00:31:49] you want to go back to the ic path but i i really i really don’t think there’s harm

[00:31:53] and i think there’s a lot of upside if you give it a try

[00:31:56] yeah i totally agree with this idea that we have this uh kind of mental picture of our careers that

[00:32:04] you know the next six months are incredibly important to the the long-term reality and

[00:32:10] that’s not just to discount the importance of what may happen in six months but rather to say that

[00:32:19] um you know the the amount of change that you’re going to go through your career

[00:32:23] or throughout your career is it’s going to continue to grow and it’s you’re going to

[00:32:31] continue facing these new situations um you know one of the things that i said early on in the life

[00:32:37] of this podcast is as developers are trying to especially very young engineers if you’re trying

[00:32:45] to decide for example what language should you learn and your head is spinning because

[00:32:49] there’s so many new things that are coming out left and right and you’re trying to decide okay

[00:32:54] you know what should i do and you start learning one language and then you hop up hop over to

[00:32:58] another one and try to learn a language a week almost and the truth is you’re probably better

[00:33:03] off if you just went ahead and committed to one language for six months and a lot of people who

[00:33:09] are listening to this right now they already have a little bit of anxiety thinking about

[00:33:13] committing to a to a language for six months right but the truth is you know

[00:33:19] if you if you look at the grand scheme of your career um very quickly that six months that you

[00:33:25] invested to develop a much deeper understanding than you would if you were hopping around to

[00:33:31] every other language and just learning hello world that six months is going to return very

[00:33:37] quickly and you’re much less likely to to fall behind than you may immediately think you are

[00:33:43] and i think the same principle applies uh to to trying out a a

[00:33:48] position to be able to learn a language and to be able to learn a language and to be able to

[00:33:49] as a manager

[00:33:49] so much career advice is is kind of just uh here’s this incantation that i use to get into this cool

[00:33:58] role if you too pursue this incantation you will also get in a cool role and that could be

[00:34:05] you know learning a language every week for for 10 weeks that could be

[00:34:08] you know writing an engineering blog that could be being a conference speaker that could be like

[00:34:13] almost almost anything there are more ways to kind of be successful in your career than i

[00:34:19] think any one person can can list there’s just so many different paths to follow that can kind of

[00:34:25] get you there and i think it’s easy i’ve certainly been very anxious at times in my career about

[00:34:32] how do i get to the next thing the right thing um but but there’s so many different paths to

[00:34:38] follow that will get you there that that honestly i think just as you said focusing um doing some

[00:34:46] some good work um building some depth

[00:34:49] just do that over and over and you’ll you’ll get someone or really really really good

[00:34:54] thank you so much to will for joining me on today’s episode and the last episode and the

[00:35:02] next episode of developer tea this is a three-part interview with will larson and of course thank you

[00:35:07] to today’s sponsor get prime head over to get prime.com slash two zero patterns that’s get

[00:35:13] prime.com slash 20 patterns to read the free book about the 20 patterns you should be looking

[00:35:19] for in your business and i’ll see you in the next episode of developer tea

[00:35:19] on your engineering team thank you so much for listening to today’s episode

[00:35:23] if you’re listening to this show that means that you care about your career you are looking to

[00:35:28] level up as an engineer and spec.fm was built specifically for you spec is a network of

[00:35:34] podcasts including this one that is totally focused on helping you as an engineer level

[00:35:40] up in your career go and check it out spec.fm thank you to today’s producer sarah jackson

[00:35:46] my name is jonathan cuttrell and until next time

[00:35:48] enjoy

[00:35:49] your tea