Tackling All Top 10 Engineering Leadership Challenges w/ Farhan Thawar #188 - podcast episode cover

Tackling All Top 10 Engineering Leadership Challenges w/ Farhan Thawar #188

Jul 23, 202441 min
--:--
--:--
Listen in podcast apps:

Episode description

Farhan Thawar, VP & Head of Engineering @ Shopify, was our first-ever ELC pod guest, so it’s fitting that he’s here to join us for this culmination of our series tackling the Top 10 challenges that engineering leaders face in a rapid-fire, high-energy format! Farhan shares insights into individual challenges, including motivating others after a reorg or period of uncertainty, why always being willing to learn & help is key for managing in any direction, strategies for creating buy-in, and best practices for coaching / mentoring. We cover team challenges, such as working cross-functionally to identify a shared truth and vision, using demos to measure dev productivity, and maintaining high velocity without losing quality. Farhan also dives into org-wide challenges, like understanding team topologies & building out your org’s resources.

ABOUT FARHAN THAWAR

Farhan Thawar (@fnthawar) is VP, and Head Engineering at Shopify via the acquisition of Helpful.com where he was co-founder and CTO. Previously he was the CTO, Mobile at Pivotal and VP, Engineering at Pivotal Labs via the acquisition of Xtreme Labs. Farhan is an avid investor and advisor to startups in Toronto and San Francisco, including being a mentor at yCombinator and First Round Capital. Previously, Farhan held senior technical positions at Achievers, Microsoft, and Trilogy. Farhan completed his MBA in Financial Engineering at Rotman and Computer Science/EE at Waterloo.

Join us at ELC Annual 2024!

ELC Annual is our 2 day conference bringing together engineering leaders from around the world for a unique experience help you expand your network and empower your leadership & career growth.

Don't miss out on this incredible opportunity to expand your network, gain actionable insights, ignite new ideas, recharge, and accelerate your leadership journey!

Secure your ticket at sfelc.com/annual2024

And use the exclusive discount code "podcast10" (all lowercase) for a 10% discount

This episode is brought to you by Revelo!Revelo helps you find, hire, and manage world-class remote developers in US time zones, pre-vetted for technical and soft skills. They provide:
  • A talent network of 400,000+ pre-screened engineers, vetted for coding skills & English proficiency, making it fast and easy to find your perfect fit
  • A payroll platform to pay developers in their preferred currencies, offer compelling local benefits, and handles taxes and compliance
  • A team of staffing experts that help you find the best candidates and get the most from your hires

With Revelo, you’re in complete control: you get to decide who to hire, you get to decide what to offer, and you get to decide how long to keep them on your team.

Visit Revelo.com/ELC today and save $2,500 off your first hire.SHOW NOTES:
  • Strategies for motivating your team after reorgs, rifts, or other uncertain times (2:37)
  • Farhan’s favorite quick wins & ways to re-engage with your team (4:48)
  • Managing up & sideways by being transparent and always looking to help (7:31)
  • Be dedicated to learning / bouncing ideas around with others (9:59)
  • Frameworks for identifying the long-term, winning opportunities to pursue (12:13)
  • How to influence & create buy-in around ideas (15:26)
  • Navigating situations where your idea / perspective is facing resistance (18:18)
  • Best practices for messaging a pitch when working cross-functionally (21:03)
  • Utilizing individual frameworks when mentoring & coaching (23:10)
  • Questions to ask when developing a personal career development framework (27:30)
  • Approaching performance-related conversations (29:11)
  • How to use demos to measure developer productivity (32:09)
  • Methods for maintaining high velocity without losing quality (35:21)
  • Insights on team topologies & identifying / building the needs of your org (37:14)
This episode wouldn’t have been possible without the help of our incredible production team:

Patrick Gallagher - Producer & Co-Host

Jerry Li - Co-Host

Noah Olberding - Associate Producer, Audio & Video Editor https://www.linkedin.com/in/noah-olberding/

Dan Overheim - Audio Engineer, Dan’s also an avid 3D printer - https://www.bnd3d.com/

Ellie Coggins Angus - Copywriter, Check out her other work at https://elliecoggins.com/about/

Transcript

Here's the truth. Hiring remote engineers doesn't have to be expensive and time consuming. Our friends at Revello can help you find and hire top engineers based in Latin America in a matter of days. Just tell them what skills and experience you're looking for. They'll come through their network of over 400,000 pre-vetted engineers and give you a short list of curated candidates that meet your specific hiring requirements. You interview

and hire on your terms and only pay for as long as you keep the engineer. To learn more, visit revello.com forward slash ELC today and save $2,500 off your first hire. Hello and welcome to the Engineering Leadership Podcast brought to you by ELC, the Engineering Leadership Community. I'm Jerry Lee, founder of ELC and I'm Patrick Gallagher

and we're your hosts. Our show shares the most critical perspectives habits and examples of great software engineering leaders to help evolve leadership in the tech industry. After surveying hundreds of engineering leaders, we've pinpointed the top 10 challenges engineering leaders face right now. This is part 4 of 4 in our series. If you're listening to this and you've been following along for the full series, thank you for joining us

along for the journey. We did it. We've made it to the end. If you're just jumping in right now, we've spent the last three episodes tackling a bunch of different issues. We've tackled challenges at the org level. So these are challenges like strategic thinking and figuring out the best way to deploy your resources. We talked about challenges at the team level, looking at the different friction points that may be holding your team back from

their full potential. These are things like cross functional collaboration. And we talked about challenges at the level of self focusing on things like coaching, influencing and motivating others. This episode is special because we're going to expand on all of the insights shared

so far and tackle all 10 challenges in one high velocity high impact conversation. To do that, we invited a special guest for the podcast, Farhan Thawar, VP of engineering at Shopify to help us crank up the intensity and share some of his favorite perspectives, frameworks,

approaches, and candid thoughts on all 10 challenges. Let me introduce you to Farhan. Farhan Thawar is VP and head of engineering at Shopify via the acquisition of helpful.com where he was co founder and CTO previously he was the CTO mobile at pivotal and VP of engineering at pivotal labs via the acquisition of extreme labs. Farhan is an avid investor and advisor to startups in Toronto and San Francisco, including being a mentor at Y combinator and first

round capital. Enjoy this conversation with Farhan Thawar. Farhan just wants to say welcome, welcome back to the show. Thanks. It's been a while. I know it's been it has been a while to set some context for a conversation for folks listening in. We interviewed hundreds of engineering leaders in our community to try to just get a sense of like what are the top challenges that people are facing? We ended up with 10 and we're going to tackle

them today. I think what's special is you are our very first interview we ever did on this show. So we figured who better to help us out with this than you to tackle all the challenges. 20 20 or like we recorded I think November 2019 like this is pre pandemic content. Different world. It totally totally. So I think there's only one way to go and

that's let's get into it. So the topic of how to motivate and inspire others. The common scenario where where this stems from is a lot of folks are sort of coming off of you know feeling they need to rebuild morale after a riff or a major reorg or some type of like turmoil within the company that they're trying to figure out. So what do you think about that? There's a few different ways to like approach that as a as a problem.

So one is so like you know we've gone through our own riffs like a lot of companies have gone through it. I think there's a few things to think about. One is is that there's like sadness for people who are no longer here. And I think that for the folks who are here as to sometimes even feelings of like guilt like oh how am I still here and they're not here. But I think once those subside I think the idea is that people really figure out

if they're aligned to the mission or not right. So if you're aligned to the company that you're with and you're aligned to the mission you kind of have to like step back from the emotional and be like let me get back to work because the idea here is that how do I help achieve this mission? How do I move this mission forward? And what you realize is that now smaller hopefully more aligned team right because you know usually smaller is easier

to align people you feel like hey we can actually make meaningful progress. And so one of the key things I try to get to is like how do we get back to work and make progress because the way to win is actually not like therapy and talking. The way to win is actually like making progress against a very hard goal with you know individuals that you admire.

And so what we you know what I try to tell people is like how do you what are some quick wins you can get moving towards and how do you get those under your belt because that's actually the way to in your mind feel positivity. And so that's one thing I think the second thing is that you you know you want to also step back and figure out how you as a leader can be closer and more engaged with the team because now the team is smaller are there

things that you can do that are not just like observing the team and like aligning the team and just talking like one of the things that you can do is a leader that are like doing is it like pair programming is it that you're going to step down and actually aim part of

the product is it going to help aim the technology like one of the things that you're going to do differently now because the company is different right when a team changes by a plus one or minus one it's a different team and so when you've got a major event like

lots of people leaving or lots of people coming it's an even more different team. So one of the things that you're going to do differently so as a leader I try to figure out like how do I get more engaged and be more part of the work after an event like that as well. What can you do versus what you can talk about do you have an example of like maybe

some of your favorite quick wins that have come after. Yeah I'm trying to think of one coming after like I mean I give you an example of when I started a job if I like my one of my directors who was working with he went on an extended vacation like right away and had already planned this like it was like a biking trip to Australia was not needed

with me. It's just like hey had this thing planned I'm like cool like I just started like I'm like trying to get my context and it ended up being super good for me and him like one was to take a vacation but I ended up going super deep into the work. It forced me to actually have many people report to me who wouldn't normally report to me as a VP right to have like individual staff level engineers I had managers of course I had some directors

it made me kind of step down and get into the work I actually ended up owning like a feature for one of the products for the poor and the products I was working on I ended up pair programming and shipping some bug fixes to that product understand how the

whole workflow work and it got me like super close to the team and understand how the workflow happens such that I could then step up and be like okay now there's like strategy to think about so even in recruiting for example I came in and I was like how does recruiting

work here let me you know refer a candidate and walk it through the pipeline and so it allowed me to really be close and I would say the same thing after any kind of like event getting closer to the team bending time with them and then getting into the work I think

one of the misnomer's is like managers are just like there for strategy and alignment and talking and one on one's like docs versus like hey can we like have a technical discussion can I again I love like pair programming as a proxy because like people say I don't want

to write code that then blocks the team I'm like well pairing you're just adding velocity and then if you're not there because something happens you're you're just removing that velocity but you're not blocked you haven't blocked anybody you haven't read code by yourself

that people don't understand I think all of those are good ways to get reengaged with the team and I saw it again when when I switch teams and somebody's away for a bit I'm like I'm just going to step into that for a bit instead of like backfilling it with somebody

that's a good way to do things the paper programming and velocity versus blocking dynamic is super interesting this is a quick clarifying question is it true that you were internally referenced as the VP of pair programming CEO CEO of pair programming okay I just I mean

I think recognize yeah exactly got a recognize well I think it's a couple things one is I did I'm pretty sure I ran the biggest pair programming shop in the world from like I mean I forget 2013 is when we sold the company and it was like that 250 people all pairing

so like from a single location then we got acquired and that was like many more people pairing but in one location I'm pretty sure I ran that and I spent a lot of time with Ken Beck as well obviously father of extreme programming pair programming I'm just a huge advocate I

still think it is the number one unlock to increase velocity learning happiness like all the things and we pair quite a bit at Shopify but not to the extent that we were I was doing in my previous companies where we were pairing 40 hours a week and others just different

also because when you're pairing depends on what you're trying to do right here we do a lot of pathfinding and back then we were doing a lot of like we know exactly what to build that's great we're going to talk about velocity in a second I want to continue down this

thread of managing up influencing and creating buy in I think three interrelated maybe a little bit different but from your perspective like how do you approach managing up to better work with your peers managers maybe they'll start with that one like how do you manage

up what's your thoughts there so I think I made some strange statement like managing up but I see what you're trying to get at which is like how do I keep people informed and make sure that people understand my priorities and get feedback on that is a few ways one

of the things I like to do is I'm very transparent with like my one-on-one notes and with like what I'm working on and how I'm seeing like problems and so maybe like overly transparent like people like whoa I can't believe you like said that about himself or whatever and

so I think I try to ensure that folks are on the same page by sharing that like on some kind of cadence so like hey here's here's my one-on-one notes with so-and-so and I'm sharing it because I want them to see the context but also because they may have some

context that's one two I try to be like super helpful doesn't have to be in my lane can be a problem someone else is having with a completely could by the way it could be completely different discipline that I don't know anything about right the famous one at Shopify was

a few years ago I started going deeper deeper into compensation because I felt like there was probably a better way to do compensation given the market volatility and end up being one of the you know chief Amers on our brand new compensation plan which we blogged about

and rolled out and built a system around I had nothing like I had no reason to be in compensation right like I was the one internally like rolling it out and no one really was surprised I guess when I'm at the town hall rolling out a composition plan and no one was like why

is VP of engineering doing this there's like oh it's for a hundred is kind of like does things all over the place so the way I got there was just being super helpful as being helpful to the compensation team they like hey here's what I'm seeing in the market here's

what's happening in engineering I interviewed other CTOs of other companies and wrote like copious notes about how they approach things I sat down and created like a grid of here's how different people are approaching composition now this is an example it could be like something

else right it could be you know when we were hiring 2000 engineers in 2021 I was like how do I be helpful to the recruiting team well I can help with sourcing I can help with like what's the right interview loop people should be going through how many interviews should

we have how do we do scheduling like I spent a lot of time pairing with that team and just being a helpful resource no one had to report to me like it wasn't anything like organizationally different but it's trying to be helpful so if someone comes to me with like a problem with

a merchant on a like sales call I try to be helpful right even though like there's no short term maybe like incentive to do that but I just try to like think of like hey will I is this good for Shopify and is this long term good for me like learning wise then I just

do it so I would say for people like managing up managing across managing down like I just try to be like well how can you be helpful right what do they need and how can be helpful what are the skills that you bring to the table with your peers with your manager and how

do you do that in a way that is like good for you and good for them so very important for me it's always learning somebody has an interesting issue somebody has an interesting legal issue I would love to learn about that maybe I can apply my brain to it maybe I'll suck

at it but maybe there is a like some useful back and forth and I've always tried I mean my last company was called helpful right but I think that there is something around just being super helpful and it's not in service of anything but just that like I shared everything

that I learned in these deep dives on recruiting on compensation you know with everybody because the idea is like I'll just learn more stuff and that data sharing people will my ideas will actually interact with the world you know bounce ideas around with other people they may

come back and say you didn't think of this I'm like great I didn't think of that like now the ideas human stronger or idea makes no sense cool now I learned something but I'm really freely trying to share information and be helpful to people that's just like I

don't know how I landed there but it's something I've always done and it's it's always ended up long term good not always short term good but long term good and I appreciate how it's more of it it's an it's a directional attitude and then there's like an infinite number

of actions that can come from that when you just try to ask that question I think that people should always think this way there's this like saying that says like don't have goals have themes right because if you have goals like you hit you might hit the goal you

might not and you get like either depressed or related and then even actually usually when you hit your goals you get related for a second and then you're like wait a second now it's my next goal so you get depressed right I have a friend who also want to be a doctor

got into when I only went to med school in his late 40s and then became a doctor and then like when I asked him when he became a doctor how do you feel and he goes depressed because that was his goal all along and then he became a dog and I was like but if you had a theme

of I want to help people right and then he's like you're all we're happy I can help people better now because I'm a doctor and I can keep doing that and I can get better and I can learn more things like that's the theme so my theme is just be helpful I love that so

there resonates so much of one of the most powerful books I've ever read was around like building identity based habits and so instead of like thinking about a goal like thinking about six qualities or characteristics that you want to embody and then having like a

generative question that you ask so if one's courage or if one is like service like what's a question that you ask that helps you make choices that drive action in those areas that live out those values yeah and I have I have a framework like that that's similar

about how I want to spend my time at work and it's got it's a framework that helps me decide what are the long-term winning opportunities to spend time on can you share how that works yeah I mean I have it I have it and I can pull it up I have it I saw it's on like Twitter

so it's like a bunch of questions that I use to help me frame things so for example one of the first questions is and this is about working somewhere right so it says will you work in high bandwidth or headquarters with people who are scary smart ethical and expect

more from you on a growing product so there's a lot in there but there's a bunch of things around like high expectations of people the product is growing are they super smart ethical and am I going to be working with them in high bandwidth right so for example if Elon calls

you and says hey I want you to work at Tesla that's cool but will you actually work with Elon what who are you working with and is that part of the team you know as smart as you want them to be I wrote down will you contribute to others learn a lot be recognized for

achievements and grow in responsibilities so the idea of like hey if I do things long with long-term in mind will I end up doing more of those things or less of those things right depends on the company can you win if even you or the company loses that's a great one

when I ask people like hey you should start a company so downside like oh yeah there is like I lose this and whatever what happens if it doesn't not successful like well will you learn a ton when you work with people in high fidelity will you learn a bunch of things

you would not have learned those are all wins even if the company doesn't make it out of the the abyss of that is a startup right well that that reminds me of like a lesson that you shared in our first conversation that I probably revisit every time I'm making

a big decision you you were so you were the one who taught me about one way versus two a doors and so like yeah I was like the conversation between you and your wife about making a decision about yes this big risk and that's like a conversation that I found my wife

on having like a lot recently about big risk decisions we've making in our own life and so like thinking about that like I love that question of can you win even if the company or other situation loses yeah that one's that one's huge because like I try to do this

all the time and in telling my kids to like try to try to try for the basketball team I'm like well you don't work you don't play on the basketball team now so if you play and you try out you'll at minimum learn what it is to go through a basketball try out you may not

be in the basketball team but you already were not on the basketball team so like I see no downside right the only upside is you might make it on the basketball team what's the downside of trying that is it's not like again you could also sound a one way door you

could make it on the team and then decide not to be on the team like there's so many reasons to just try and so that for me I do that in a lot of areas in my work one thing that's not on this but I think that just happens to me natively as well on this like long term

thing is I just don't care if I look dumb like even super dumb I got invited to play a basketball game with a bunch of founders in March in Austin I don't play basketball and I was just like that's what they were doing though and I was like cool I went out I played

and I had to play soccer but like they were like hey you kind of have like fun and like you were like decent-ish and I was like yeah like they know I didn't care and they actually said it's good that you literally don't care like you don't care if you look dumb I was

just like at a good time but basketball we had to play you know you know eat some in an out burgers it was fine well I think there's such a there's such a lesson there about like it in general like you probably have more fun in life if you don't care about looking

dumb yeah 100% and this applies to work though right like I will go into a legal discussion I have no idea what you guys are talking about but like as I say things like does that make sense like what about this and like maybe they're all dumb questions but I will learn for sure in the meeting this is probably addressing the challenge that people didn't know didn't speak or didn't know that they were facing like I think this is great.

As a US company hiring remote engineers can be time consuming expensive and frustrating you could hire freelancers but you don't know how much they'll focus on your business outsourcing to dev shops risks control over who works on your projects and expensive long-term

contracts or you could look overseas but working across lots of time zones can really slow things down enter Revello your gateway to a talent network of over 400,000 pre-vetted engineers in Latin America who are proficient in English working your time zone and are dedicated exclusively to your business. Revello simplifies the hiring process enables quick payroll in local currencies and provides expert staffing support.

There are no big up front contracts you only pay for each month that you decide to keep your developers employed. With Revello you're in complete control you get to decide who to hire, what to offer and you get to decide how long to keep them on your team. To learn more visit Revello.com forward slash ELC today and save $2,500 off your first hire. I want to talk about one other area specifically around like influencing and creating and buying around ideas.

I think one side is how do you get people to believe in your idea and then the other is the relationships and the advocacy without authority. How do you think about that? There's a few different ways. One I said already which is be super helpful and what will happen over the long term is they'll go, oh this guy is helpful. Maybe when I approach a different problem I might want to get his or her opinion. That's one way.

Again this happens to me when people ask me questions of having no authority on but I'm helpful for so long that eventually they're like actually this person does know more about this now because they've kind of been deep in there. That's one way. I think the other thing I've seen would be super useful and this happens in like board meeting context is that let's say you have like three or four people you want to talk to and you want to convince them of something.

The wrong way to do it is actually like have a meeting with the three or four people. One way might be actually meet each of them individually and like figure out what their concerns are about the topic and then incorporate their concerns into your like collateral and then when you have the meeting this is what happened when I was on a board. The CEO would meet each board member individually get all their questions like walk through the whole deck.

It takes way more time but you walk through the whole deck. I would ask all the questions and then they would answer the questions in the deck and then they would go to the next person next person next person. When they go to the board meeting they would walk through the deck and be like everything that you would have asked was already in there and then it was like smooth sailing and by the way it wasn't like they were trying to get some decision a B or C. They were trying

to decide between A B and C and typically when you talk to each person you get their viewpoints outside of a meeting contact you then now have all the information then they was pretty easy but like hey actually based on all this I'm going to recommend option A but I wanted

to get the boards thinking and all the descent was already in the deck so it would be like the slide would come up and say and by the way for a hundred and like this one here is why and it wasn't like I was dissenting in person in front of everybody which is also harder. I did it in private and felt comfortable doing that and then they could just put it in there.

So that's another way to you have to talk for your people and get them not trying to like use like the Chaldeini like persuasion like approaches or anything it's more just like can you really get to the heart of what like people care about and some people will

dissent but they don't care that much that's the other thing I figured out is that if you're in a in a meeting or in a conversation with somebody and they're dissenting on something one good framing is to say hey on a scale of one to ten how much do you care about this

thing because they might dissent but they don't care right and so you but you think that they do care right so for example you could be like doing something like let's say you're editing a job description not like wow I really don't like use the term software developers

or software engineer like cool we could debate that for a while but I'm like how much do you care like oh I care actually like four to ten like oh so cool noted I'll make a decision because you actually don't care right like so there's just like a good way to kind of get

a gauge and sometimes they go I don't know I care 9 out of 10 because like actually I think software engineers should have like an engineering degree I'm like okay so let's have this debate then I'm maybe I say I don't actually I don't care I don't care 9 out of 10

like seven I'll let you decide another scenario around this so let's say like you have a perspective maybe an opinion or a more informed perspective on a technical direction or maybe a strategic pathway and either it's not being heard or there's like resistance like in that type

of scenario how do you approach navigating like an area where maybe like your idea or perspective either isn't being considered or maybe you're not appropriately conveying it one thing I actually learned from Toby here was that when you go into a meeting he would say let the team know whether

you're coming in as a student or a teacher because there are times when you're in again like and because of authority like figures in the room like something with a higher title or like more experience that opinion could be valued more only because they're there and they said something

but they were just asking questions or they're in like student or red team mode versus they're coming in as a teacher so what it sounds like you're saying here is that you actually are coming in as a teacher now first thing is that if you approach meetings like that I am a student I'm a

teacher like you come in that's good framing because then the people in the meeting go oh actually and I might come in and say hey by the way you're asking questions about mobile actually built dozens and dozens of mobile mobile apps I just I'm happy to share my experience but actually sort of

you know know about a lot about this topic happy to debate or whoa we're talking about no sequel databases I actually don't know a lot here so I'm gonna ask a lot of questions but I'm coming in as a student so when I ask you a questioner what I don't think that I'm imparting my

opinion on him actually just asking probably someone else should decide so you want to have that framing now if you have that framing on the first one the former which is that hey you actually have some expertise and if they're not listening to you then I would use the techniques we said before

which is one how helpful have you been along the way right versus just having you know trying to push decision on people have you tried you know also talking to people one-to-one to figure out their real concerns and their actual level of importance of these issues and then sometimes you

have to decide for yourself how important it is because you sometimes you're gonna be overrul in which case then I would just say disagree and commit right and be like hey well how important is this to me is it like hey I'm gonna flip the table and I actually think this is totally wrong

and I can't move on now that can't be every issue maybe it is this issue and you have to either decide hey if you haven't been able to convince everybody maybe there's a reason underlying real reason or fake reason but sometimes at some point you have to either disagree and commit or be like

actually this is an issue I want to like I'm gonna die on and then figure out why you can convince them like this is this is almost the you know when people start a company and they message me and they go I'm having a hard time convincing like a co-founder to join me or whatever I'm like well

then you're not you're not ready to start a company because convincing the co-founder is part of the journey so if you can't convince people this happens a lot of time I'm like oh I couldn't this happens in Canada a lot because people say I couldn't convince that person to move to

Ottawa or Toronto I'm like oh I see you couldn't convince them I got it you like you couldn't convince there's probably someone who could have right like it's not that it was them it was you is your argument and so you have to internalize that and be like yes I agree that you could not convince

so then like work harder so when you have maybe an idea that you want to you want to pitch to somebody that you're working with either cross-functionally or or to different folks in the leadership how do you how do you think through that that message and that pitch there your question is super strange the goal is until like pitch and like get my idea across right the goal is to find the truth right as far as you can some of these issues like business issues like you you won't know

for maybe five years that whether your architectural decision or progressism was correct but the goal is to have some principles and find the truth so it's very rare I'm trying to I can't think of the example where I'm like here's my pitch and then you get it across it's more like like how do we

find the truth together here is a principle do we agree here's an assumption how should we test it like this is this is the the annoying engineering inquiry loop right like this is like why like my wife gets annoyed when I talk to her because like this is how I approach like everything like how

should we buy like oh do you want to buy the Samsung laundry machine or the LG I'm like okay well what do we care about what do we like what are then you know and then you end up like and then we by the way we ended up buying GE because we're like oh my wife really cares about like non-moldiness

smells coming from the laundry machine in terms of only GE has the intro microbial barrier so like the question was wrong at the beginning right so I think that that's that's how I approach everything so it's very I can't even think of a time where I'm like oh I need to get this across it's usually

like I would like to have the team not be blocked okay that's fair so let's try to figure out together what is blocking them and then we go through the decision like oh it turns out like actually we feel like there's a deadline we think that is actually not reasonable or there's technical debt

that we are not addressing now but we'll we'll address later but we're not sure if we actually will have time to address it later like then let's address that thing so I think it's useful again to like read books on persuasion like be able to like form arguments but again it's more about how do I find the truth I found I love to reading like Radalio principles like things like that like I'm like how do I help myself and a group of people find the truth and the truth might be something

completely you're like wow I thought I thought we were going to go here and we went there but like I can't argue with the route that's kind of my approach this is why I've been so excited to have this conversation because I'm asking the wrong question and and then helping to provide the

counter and two to perspective that this is exactly why I was excited for this next question I want to talk about developing and coaching your team so like one of the quotes I've been reflecting on like the last couple years from folks in our community is like effective management measured by

the results or the impact of your team like this theme of like your impact is measured by others' efforts so when you think about like expanding the capacity of your team and like developing them and their growth like how do you think about that from a coaching and a mentoring

perspective yeah so I mean we'll go back almost to the first question right which is around like people feel good when we are working on something hard but winning together right and so the way to think about like personal growth is like can I am I learning every day am I working on things

that matter kind of like back to my framework right I look at my framework and go this is the thing that gets me up in the morning like I want to make sure I'm always learning working with smart people working on hard problems and so one of the ways we can do that with teams is making sure that

we are seeing like forward progress at least on learning maybe on other things but at a minimum on the learning side like we are learning things we may not have a product that works we might not have like you know sales but if we are learning things and we are moving forward then we are getting

somewhere right and that could hopefully turn into that and so in terms of mentoring people I try to figure out like what is their framework I talked a lot to people and sometimes they have a framework that is as like I have a very abstract framework right it's like it doesn't say anything

about like title or company size or anything but other people do have that on their framework and I'll ask them like I'll give you an example I just here's one I had somebody who worked for me and he said hey I took your advice and created a framework I go cool and I go show it to me and

he showed it to me number one was money right on the top and I'm like cool like why do you have money on it not not I'm not biased against money like why he's oh my brother is in the hospital and I need to pay for his medical bills I'm like great reason to have money is number one and what

was cool about it was because of the nature of the framework being so definitive we could eliminate a whole swath of opportunities that he should never look at don't look at startups don't look at anything when equity don't look like look at things that generate money because you need money to

pay for your brother in a hospital and so I worked for them and he looked at only consulting contracts and then luckily when his brother was out of hospital he came back to me it's like I rewrote my framework I'm looking for this now and it was like learning and getting into machine

intelligence and like it's working exactly as design but notice everyone will have a different framework someone might have a framework like I want to be a CTO like cool let's dig into that why blah blah and they had reasons and my job is not to convince them otherwise I'm just like I

want to understand your reasons are solid for you they were I'm like cool so here like you should tailor everything that you focus on to becoming a CTO maybe maybe that's go to a smaller and smaller company until you could be the CTO maybe start a company and you are the CTO like if that's

your goal then like go after that so my goal with talking to people mentoring people is to figure out what their framework is and help them get that thing and by the way sometimes it means it's not here if you want to be so here's a good example if you want to be you want to do something you want to

have a team of 50 at Shopify but there isn't a growth path for the size of the team that you're working on to get to 50 you could be like okay I have to switch teams but maybe it's like hey maybe shouldn't be a Shopify because maybe the thing that we want you to get really really good at is

running a super small killer team not a team of 50 and maybe we that's not something we value here right and so that might be like it might be against my short-term interest because I might have to lose somebody but it's definitely my long-term interest because I want somebody who loves what

they're doing and to get to achieve their goals and I want to achieve my goals with the team so maybe I want to hire somebody who wants to run a killer 10 person team and maybe they want to go off and graduate their career into some other direction right I think both things you can go super

super deep with a 10 person team for decades and like be super successful or you can do that but maybe one of them is only one of them is here and so it's like in it's long-term good for us to figure that out and I'm again I'm pretty I mean lots of weirdness about me but like I'm pretty good

at like uh sure thing off the short-term pain and going for the long-term gain on those things and be like hey let's just figure out now like if that's not your thing let's figure out what is your thing but it means like everyone kind of sit down and write their own thing by the way I update my

framework I haven't done it in a while I should I use update it like once a quarter I will update it now after reading it because I already see dissonance between what I care about and what's in the framework but it's not only things I learn about myself it's things I learn about the world right

the world changed it used to say in person and now the world changed to where like there's lots of opportunities that I can learn in high fidelity not in person so I changed my framework world changed and then sometimes I learned something about myself and like actually I don't care about

this anymore um so let me put something else in there or delete something so I try to keep it up today with my own mental model as well I have two follow-up questions first one how do you create your framework like are there certain questions you ask to help generate it so I mean I wrote I just

sat down one day and I wanted to use the iPhone note capability of just like what can I fit in one iPhone page of like what that was my constraint about the things I'm I care about and the reason I created it was I wanted to have a filter for things opportunities that were coming to me that was

an easy way to say yes or no and I I'm really bad at getting distracted so for example if a brand name company messaged me like a recruiter I would get excited and I would get distracted but the job had nothing to do with my framework so for example it might have brand name company it might

have a big title it might have big compensation and then I would look at my when I wrote down my framework because I'm like I'm getting distracted by these why because I would spend I would maybe you know in the past or maybe I'll talk to that recruiter and realize I'm like this is not what I

want to do maybe the past I would get to get that job and then be like oh my god this is nothing I don't like this job and so I realized and I did have a period in my career of like eight years where I was kind of fumbling around trying to look for the right thing and I could keep wondering why am I

not enjoying my work life when I had a really good first job and it took me to sit down and write down like what I care about and I use it as a filter so it was a way for me to quickly distill all the things that are coming my way aligning with my framework and if they weren't I could completely

ignore right actually to the point of like summer cruders are very persistent I just send them the framework I go by the way this does not align with my framework and my framework is probably like a post it on Twitter and I will now update it and repost it on Twitter because it'll be updated but

it's literally a set of things that I care about and then a bunch of quotes that have helped me think through interesting like ways of framing a framing an opportunity but I don't think there's a good or bad way people have different frameworks you can start with my anybody I can send it to you

you start with mine and you can convert it to yours I'd be surprised if mine was exactly like what you care about but like sometimes it's just good overlap with people for people and sometimes it's gender to reflect on the other follow-up question I want to ask you about was like performance

catching so like if you're observing somebody maybe that is not sort of meeting expectations or standards how do you approach that conversation I think there's again a few a few different ways one is you talk to the person about what is it the thing what are the things that they want to work on

and and you can accept expectations was what do you want them to work on and so that's like number one which is like setting expectations on both sides to be like what are the things that you're excited about where things are inside about and sometimes there's not alignment right it can be like

hey I want you really focused on these three projects that's why I heard you're like oh actually I want to be broad based into strategy I'm like oh well there is a misalignment maybe we should help you find a role that looks like that that's part of it sometimes actually are aligned on the thing

like cool how do we spend more time together to make sure that we are aligned so we don't end of this in end up in this situation again and so part of it is like hey maybe I'm going from so I typically do like one-on-ones like once every three or four weeks maybe we go to like weekly cadence

so that they are sharing with me what they're working on and I'm sharing with them how I feel about that and and then the quality of that thing so that's another way sometimes what if you're in like a pip situation performance improvement plan what I like to do to make it super clear is

all right down hey we have like x number of days here are the three things that you should get done in the next x days and sometimes they go whoa those things are like crazy not interested don't want to do them like cool let's find you a different role or something else because maybe

right away and I've seen and maybe people this is like a non obvious thing but like people some people resign when I give them the pip they go hey here are the things I expected to do the next 30 days or like let's say longer 90 days they're like oh I don't think I can ever do this and don't

want to do them like cool then they resign that's actually really fast good alignment because they realize that the thing that I really feel like they want to do is not they don't want to do it that's one other times they rise up to the challenge they look at it they grind and for that three months

typically what I see is they are they end up being exceptional because they've peddled to the metal grind it down like I want to be here and I want to do the things I just didn't know what I have to do and then what happens when that happens to when they grind it out is that their teammates are like

holy shit this person got really really good really fast and they all the trust is rebuilt because typically when there's not high performance it's not only the manager who sees it right it's like lots of people see it and they're like okay what's gonna happen here so if somebody comes out of

the gate for three months and crushes shit the whole team is like whoa person's back in my like you know trust batteries recharged back on the team either of those is good by the way I know it sounds sad but like if they resign or they go to another company like let's help people get

to companies where they can be amazing like that's like net positive so setting clear expectations deadline uh and then like a set of things that they can work on and then make sure that you're aligned out and and go grind the quote you shared I wanted to be here I just didn't know what to do I

find like really illuminating because I think that's so much the case is the opposite people just don't know what is good performance look like right and I think and I think you can ramp up the synchronous time and spend the time doing that and by the way you might find out quickly that it's

not working which again is also a good thing right by the way I've been on a pip in my career like I saw this firsthand where I was like oh shit that's what I should be doing like I had no idea and being on the pip actually like I went into full like you know um turn the jets on mode to get out

of the pip this has been so rapid fire it's been incredible okay we've got nine minutes left okay well five different topics we're gonna try to prioritize a couple so maybe we'll pick one of these ones measuring productivity metrics and then the other sort of velocity without losing quality

so which one do you want to go into or maybe we hit the we can do both all right let's do it so yeah so the first one on metrics so everyone lately has been trying to like measure developer productivity there is no good way to measure developer productivity but I'll tell you what I have

seen work super super well demos demos is the greatest way to measure productivity and there's multiple ways to do demos like one easy way is weekly demos every Friday every person demos what they worked on that week and they get feedback from the team you can literally do it in small groups

you can do it in big groups you can do it asynchronously over slacks in the video if the demo crashes you can talk about where you worked on that week the only rule was like you can only talk like you cannot talk two weeks in a row you have to kind of show things shows what just can't but if it

crashes doesn't work or it's a refactor show that but showing things every week really forces people to like reflect on what they did how far they got and a little bit of like gentle heckling is nice too because someone is like that's all you got done like what happened why did you get so you

showed me like one screen but why did it take so long just for that one screen to be built and like oh well dude I'd update the library and the performance in crash and then the SDK version has to be upgraded there's a security hole like you're like cool now I understand like why that was so painful

or they're like oh I got super distracted I couldn't do this I was like away like I got sick so like there's a lot of things that can get solved by demos to the point of that you could do demos like I've seen demos twice a day where you're like we're in crunch mode let's just demo get feedback

quickly but like demos are the greatest way because it's like it's end artifact you it's the end artifact you're not talking about status report you know it's not some weird thing like lines of code or PR is like literally it's show me show me the demo and it's been by the way so many good things

not just engineering wise product feedback UX feedback you can see a demo and be like oh is that going to be that seems like a pretty slow API call is that how it's going to be all the time like oh you think that's like yeah I'm hitting the production like that like really like that is slow

like we should think about that now now you know and day like week three versus like week 30 that the API call was going to be slow in the final product like so these demos are like the best way to determine like productivity there's all these kinds of measures that can be useful like

meantime to recovery from a failure and how long to take you deploy like these are all directionally interesting a lot of them are mostly like if this number is really bad go take a look so their metrics that can tell you if something's broken or stuck but they're not going to help you

see like hey this team is better than that team or this person's better than that person but a demo can really show you somebody who's going really quickly and you can adjust to going really quickly with low quality you can say hey by the way don't show me so much like slow it down a bit

make it higher quality and somebody's like really your perfectionist you're like hey you can kind of loosen up a bit it's a prototype maybe go a little faster not worry so much about the infrastructure she can give really fast feedback on the final artifact every week of that one one quick principle

behind this to eliminate so there's just the power of moments by Dan and Jopeeth one of the things to talk about of crane like memorable experiences is raising the stakes this is one of those things that consistently raises the stakes and so I love the forced reflection I love the end artifact

focus and then like the immediate feedback to help and like even like recalibrate or alignment I like that I love that term raising the stakes I have not heard that before but I love and maybe that's yeah I need to reflect on that that's really cool what was the second question it was

velocity without losing quality yeah okay so there's only a few ways to keep velocity high or increase velocity without that refresh quality one is when we're pair programming the easiest way to increase velocity was add another pair because you take a one does one pair working on something

you split them up you add two people and now the two two pairs are going almost linearly like twice as fast harder when you're not pairing because adding people and communication overhead makes make me the slower but in pair programming adding a pair can make it go faster so that's one way another

way is reducing scope so you have lots of things you want to build it's everything's do April 30th you can't drop quality so the only way to not drop quality is drop scope you're like oh we had 10 features now we're going to ship seven but we can still hit April 30th that's another way and then

the third and final way is increased the deadline so you want to do 10 things April 30 is not looking good for the 10 things change the date okay it's going to be May 15 whatever like like you can only there's only so many levers you have add people change the date reduce scope because

quality stays constant now it's possible you can reduce quality because maybe you're like building a prototype or it's a demo or it's like there's all kinds of things you're like you know what actually it doesn't matter how we build it and by the way we're going to delete it anyway I think most

per all prototypes should be deleted anyway and started over because everybody loves to like they know all the answers now let's like start over and rebuild it right we're path finding anyway but there is no other way like I don't know how to increase quality you know because you are going to

you know I've been using this term this week like don't ship garbage so like don't ship if it's production don't ship garbage and so what will happen is if you you can have short bursts of intensity that's works super hard we might have to do a long night once in a while weekend once in a

while I think that's okay not all the time but like once in a while I got a grind but if you do it in the long term you're going to ship garbage and it's going to be like bullshit so instead focus on those other levers and that's how you can keep velocity high and quality high while like actually

getting some in some increase by you know I again part of it one of them was like increase the date last topic I want us to get into yeah team topologies in ord planning thoughts on this so this one's interesting to me because I try to so I have two distinct thoughts there that team topologies

book I've like you know I haven't read it but I saw lots of like summaries and lots of graphics from it I really enjoy interacting with that content because I'm like wait a second maybe a platform team should look different than a feature team and like there's these archetypes like then the other

side of my brain is like well shouldn't don't I just want generalists who can do all kinds of things and people who have range and rotate people between like a product team and a feature team and like a non-product team like don't I just want that and don't I want people who could morph between

data science and front end and back end and mobile like so I have an internal conflict where I like I like the thinking and the academic rigor of like a team topology but then in practice I'm like I like having generalist who can kind of do all kinds of shit and so I lean more towards the latter

of like what if I hire a generalist who can just do more things and if they don't know mobile can they like learn mobile right like I like that idea and then of course there's going to be times when you need like a specialist come in but can they pair with a specialist so that now that mobile

specialist pairs with this back end person and they they mind-melt on both things and they become both better over time and they both feel like they can add that tag to their profile now the mobile person could be like I can do some back end in the back end person but I can do some mobile I'd

rather have that world than the like super specialized T and I need three mobile two platform one in for a rather have much more fungibility in my work that's just like something I actually highly value in my organizations it's like fungibility and not it's like helping people see that

they are they have range right one of my one of my favorite books David Epstein range is a great read on on the topic do you have a specific question you ask when you think about like need building out needs for your organization I kind of really is trying to figure out what the

problems are and then map the people to the problems without necessarily knowing exactly their capabilities because like I mean if you think that people have range it's possible that really really sharp people can kind of be fluid across the stack and yes some people are going to be good

at some things and others and so you'll tease that out as the team starts maybe demoing or performing and you might like oh wait wait a sec we're like missing this capability but usually the capability I'm adding is another person with range right versus like a specialist in one area now again there are times when you want a specialist but I think in general adding more people with range can be the solve or removing some people with range because maybe the team was too big to start maybe

need two people versus 10 when you're starting something because you're pivoting and you're pathfinding one of the things that happens here and this is every company is that you're reawarcing you're moving people around and like part of it is it's good right you want a little bit of chaos injected

chaos to like move people around rethink a problem have a new leader in the place that will have different questions and other times having that like that team kind of really think through what their team topology is again afom an academic settings might uncover something but I do

tend to go more in the latter side like we're like a very very big startup here we don't try to like adhere to any sort of real orthodoxy on these things for hun this has been an absolute blast thank you for high octane high energy high velocity problems solving across every major issue facing our community right now there was no better person for this topic so thank you for a fantastic conversation super fun I felt like just rambled for an hour but super fun

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.