Instagram Principal Engineer (IC8) on Promotions, Breaking Prod, Tech Leading | Jake Bolam - podcast episode cover

Instagram Principal Engineer (IC8) on Promotions, Breaking Prod, Tech Leading | Jake Bolam

May 31, 202550 min
--:--
--:--
Listen in podcast apps:
Metacast
Spotify
Youtube
RSS

Summary

Instagram Principal Engineer Jake Bolam shares his career journey from IC6 to IC8 at Meta, including insights into his slow onboarding and transition to infrastructure. He discusses his unique philosophies on diff reviews, risk-taking (even accepting diffs that might break prod), and maintaining work-life balance at a high-impact level. Jake also details his distinctive note-taking system and offers career advice.

Episode description

Jake Bolam grew from Staff Eng (IC6) to Principal Eng (IC8) at Instagram. He had some hot takes about diff reviews and risk (he accepts diffs that’ll break prod). He also shared interesting stories about his promotions as well as many tips on how to have IC8 impact with a solid work life balance.

We discuss:

• Struggling initially at Facebook

• His promotions from IC6 -> IC8

• Accepting diffs that break prod

• Systems for reasonable work life balance at IC8 

• His note taking system in VSCode

• Advice for his younger self

Timestamps:

(00:00) Intro

(00:50) His rough onboarding to Facebook product team

(04:32) Switching to Instagram 

(06:39) What IC7 scope looks like

(09:48) Thoughts on management

(10:32) Why he always makes time for others

(13:31) His IC7 & IC8 stories

(20:54) Swapping out infra for 1000s of engs

(22:37) Work life balance tips (IC6 -> IC8) 

(27:26) Diffs reviews & risk 

(36:07) Being a good tech lead 

(42:12) Taking notes in VSCode

(47:03) Advice for his younger self

(49:54) Outro

Where to find Jake:

• LinkedIn: https://www.linkedin.com/in/jakebolam/ Threads: https://www.threads.com/@theregularbuiltozzy

Where to find Ryan:

• Newsletter: https://www.developing.dev/

• X: https://x.com/ryanlpeterman

• LinkedIn: https://www.linkedin.com/in/ryanlpeterman/ 

• Threads: https://www.threads.net/@ryanlpeterman

• Instagram: https://www.instagram.com/ryanlpeterman



This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit www.developing.dev

Transcript

even if I see your diff is going to blow up production, I will comment on it and be like, this is going to blow up production and then accept it and be like, yeah, make sure you fix that first, right? This is Jake Bullam. He's a principal engineer or IC8 at Instagram who got promoted twice from staff engineer. So I think IC8 was like, so let's go and put him on one of the projects we have that is like impossible and everyone thinks it's stupid.

And yet his work-life balance is somehow reasonable. I thought he had a really interesting note-taking system. And my note-taking system is actually in VS Code. And he shared a lot more than you might think. I'm also a bit of a loose unit and sometimes say dumb stuff. Here's the full episode.

Your work has such insane blast radius because you got to IC8 or a principal engineer in the industry. On your path to IC8, what were you hired in as to Meta? And maybe you can give a high-level timeline of the teams you were on. Yeah.

sure thing yeah so i came into meta as a six and actually joined facebook groups at the time so groups went from i don't know 10 or 15 people to like 700 in like two or three years but yeah so i joined right at the peak of it like 700 yeah and i was on some team like groups integrity was actually pretty wild for me i had a pretty slow ramp up to meta because i joined when they we it was middle of covert covert had just started so they hadn't really figured out

remote onboarding yet so it was really slow and then i joined my team and the election was coming so no one could really ramp me up so i was just kind of operating solo on like random stuff so yeah i had a really slow start to matter for most people to actually empathize with a lot of people that like took like a year to ramp up instead of like three months was your performance at risk initially because you're onboarding remotely or i think my manager like help helped a lot

like with the system and i managed to get like a meets all or something like this you know definitely wasn't excelling but i had a few little projects that like probably helped them sell that but yeah i'm pretty sure they told this like slow onboarding story

during psc yeah which was kind of crazy uh especially because groups was like so critical at the time right they had so many engineers and right after that actually just i just decided to switch teams because i had some friends on instagram and they were like yo come and work on instagram web and this is this has actually been a bit of a theme throughout my career so i joined meta to work on uis right to work on web to use react i loved react

and i joined this group's integrity team we weren't doing really any of that like i was doing it like 20 of the time but most of the time with back-end systems right so i was like okay cool i'll move to this team so is your background before meta all more like full stack or front end work yeah so i spent i started coding at a really young age and it was always on the front end and then when i went to companies i would like to do like front end product

and every single company i've worked at moved me into like front-end infrastructure very quickly and then back-end infrastructure and actually one of my big draws to meta was oh they're so big i'll always be able to work on front-end product right like specializing yeah And this thing continued where I got pulled into Instagram now.

to do front end product was like awesome within a couple months i was on the front end infrastructure team yeah yeah in instagram and then yeah within like a year i was on the back end infrastructure teams and i was like oh it doesn't matter

Which company I'm at. How do you keep getting pulled to the back end? Like, what is drawing you? I think, well... now because you've done it so many times you end up knowing like a lot about it and like all the different like architecture and systems that you have to sort of put together and it

it just it is more impactful now right with the big switch to mobile uh the only thing that's like rivaling it is the server right like web has become such a small amount of our traffic you've got to go to where the more important stack is i see so generally you are picking projects based off of where the impact is and that is leading you to go to back-end stuff or like yeah exactly like on

At Instagram at web, we probably had like less than 100 people would work on it, you know, around the company part time. And on the back end, we have like 2,000, 3,000 engineers working on it. Yeah. That makes sense. Even from the engineering point of view. Right, right. So then you were IC6 on the group's team. You were onboarding slowly and you weren't liking it. It was this backend integrity system. You switched to Instagram web as IC6. Is that right? Yes. Okay.

And so that's where your career started to really pick up. Yes. So I think I came in and like had all the skill sets. So I was like basically ramped up immediately and like landing impact immediately. And my managers on the team at the time recognized that I was like pretty strong. And we were growing too. They were moving from one of our stacks to another stack. Right. And they were like, hey, we're going to have like two or three teams. What do you think about like...

stretching to be the uber tl across these teams right because that's six to seven barriers started you're not on one team anymore you're kind of leading like a bunch of teams right and i was like yeah i think i can do it so they kind of gave me the opportunity to like do that right why do you think they came to you for the opportunity because yeah i think that's one of the big things people look for you know people who want to get to these levels

Even if they want to, sometimes they don't have the opportunity. So I'm curious, what did you do that you think made them come to you and say, hey, we want you to do the IC7 thing? So when I was actually joining the team... It was something that I was like looking forward to. So I was like, yeah, I want the career growth, right? I think I can do this. Like I, my previous companies, I was actually leading four teams.

before i came to meta so meta likes to down level you right so i went from leading four teams to one team when i came to meta yeah so they were like yeah like we'll see what happens in the first month and if you're like crushing it we'll like give you that opportunity so i came in and in the first month like

did what they needed so they like okay here we go so when you like even before you switched you said hey fyi i'm i'm eager for ic7 and yeah and so they knew that and they basically just gave you the opportunity because and to see if you could do it yeah so they knew that about me and then they knew that they needed it on the team too right right right right so you talked about what is ic7 scope what does ic7 scope look like yeah

uh so iz7 scope to me looks like yeah so six is like you're basically like the tl of a team right maybe 10 12 people it really depends on your team though if you're on like a really complicated part of the stack or something maybe your team skews differently

But generally like that, or if you're on a really easy part, maybe it skews the other way. But generally like, yeah, six is leading one team and then seven is like across multiple teams or across like a different area, right? So then... would eight be even just like another step of that progression yeah so eight just keeps going up too right for different teams like your blast radius

And yeah, this is all dependent on how important the problem is that you're working on, right? Working on the backend infrastructure, right? If you're impacting 3000 engineers by like making your frameworks better. Right. And it's taking a lot to make those frameworks better, right? Right. You need like...

hundreds of people make those frameworks better yeah like you're hitting pretty big loss radius yeah so then your archetype is leading through other because there's also the other ones like framework specialists kind of someone that just digs deep somewhere and speeds up a thousand people but is not directing a thousand people maybe you can talk about like the archetypes yeah yeah yeah

talking through one very specific lens yeah right so yeah there's all these ways that people can you know contribute to the business and like be having that large blast in fact and yeah the most extreme other of the spectrum is like the specialties right so you've got the guys that are like i don't know deep on the compiler or like yeah they change like 10 lines of code down there and it saves the business you know hundreds of millions of dollars yeah like a fixer like the fixes yeah so

you've got you've got this range right that you can do it in and maybe they don't like talking to people right they don't like running around yeah but we still realize it's like really good value in having these folks around and give them the career path too yeah yeah definitely Were you intentional about the archetype that you picked for yourself as you grew to ICA? So I guess not really. My philosophy is always just do whatever it takes to get whatever project I'm on done.

but you know i'm leaning into my strengths and my strengths are like talking to people like being able to yeah coordinate people i like to think i'm like fun and happy to be around which gives people like you know some motivation other than work to be there and like you know most of the projects i'm on a like marathon project so we get to stick around for like a long time together and have some fun right so you're like a force multiplier like you take a group of people and you make them

some percentage better because of you know your behaviors yeah maybe that maybe that's what happens but i don't think about it like that i'm just trying to get us all doing the same thing yeah and i see the good in people right and i like

see the strengths in people i just want people around me to succeed so i'm just trying to make them succeed and i guess that ends up you know compounding and being best for all of us like have you ever thought about management because like a lot of what you just described i feel like there's some overlap there i've done some brief stints in management before meta yeah and yeah i think it's just it's not for me because i like to be able to then like

If the project needs it, go and land 500 diffs in a couple of months or whatever. Go and land a ton of code to get us across the line. You can't really do that in management. I'm also a bit of a loose unit.

sometimes say dumb stuff so i think i need it's better if i'm not in management and like yeah have people in management who can check me on that you know occasionally when it's needed right right right yeah i feel like you have to be a little more sensitive to things as a as a manager yes yeah i noticed your internal profile said something like always open for a chat or something like that but my view of an ica is someone who's drowning in

responsibilities and does not have time yeah why do you make time for or you know make yourself available like that if your time is like so precious so yeah definitely you know you're getting worked a lot at ic8 and you are overloaded but yeah i'll always make time for someone who will who is reaching out about something right you know maybe maybe i'll be completely overloaded and the meeting has to be like a few weeks from now but there's a lot of value

being accessible to everyone right right like anyone can come to you and be like hey i have this idea or i have this problem like can you help me and you're just like helping your org or you learn about a problem that you wouldn't have known about otherwise right I kind of wonder though, because someone like you is probably getting so many, you know, outreaches, like I would have thought you'd have to pick and choose a bit, you know, like, let's say intern comes to you and is.

just excited and wants a coffee chat or something in a in a in a nice perfect world you'd make time for them yeah and you talk to them but yep in a impact driven world

Some things are going to need to be dropped. What are your thoughts on picking and choosing your time? Yeah, so I do try to put the levels thing out of my head always. So if an intern's coming to me, I try to treat them the same as everyone else. So if they came and they were like... asking good questions right or like you know you're giving you're telling them stuff and they're like acting on it and going for it you know i'm probably likely to give them

more time again but if they come in and they kind of ignore it or they ask really bad questions and stuff yeah probably not likely to give them too much time again right this is assuming i had time in the first place yeah if i'm completely overloaded like it'll be like hey sorry like can we do it in a month or this is here's another person that you can chat to right who would probably be better and helpful

right yeah you mentioned to just trying my best i guess right right to a certain point you mentioned bad questions and good questions and i think a lot of people who are earlier in their career that's something that they're thinking about a lot is should they ask or not what's good what's bad yeah do you have any tips on how to make your questions good i haven't really thought about it too much but i don't i don't know just be

be genuine right don't try and like script it or like pick up line it like yeah just be genuine about what you want to ask or find out yeah yeah because then naturally you'll find the right person right if you ask me one of these questions that is like very helpful for you and i know someone better who can answer it who has more time right then you're going to end up with someone better who has more time and it's going to be better for you in the long run yeah yeah yeah

before we leave the ic7 ic8 yeah i'm curious you mentioned there was a big migration that got you promoted to ic7 and you were leading a few teams and your management chain said we need we need a leader and you were eager and you took that on what was it for ic8 yeah also just

just on that like getting to the seven one you've got to also land the project right right so yeah definitely i think something that happened that helped with the seven one is i was like sort of seen as this person that would like come in and like fix it or get it back on track right so we were doing this this back the the infra migration right and it was scoped at like two years or something yeah and we came in and it wasn't just me like i came in and like

we all started chatting and stuff and we got excited and we actually ended up delivering like the majority of it in like six months which was like crazy no one expected that which meant that we can then move 90 of the resources yeah onto other stuff which actually let us put ads on instagram web

the following half yeah which was also like a year behind and then we shipped it got on the team and shipped it in like three months which was kind of that's kind of crazy yeah so how how did you take something that was two years and make it happen did you cut scope or did you yeah what happened yeah we cut scope but i think more was just like everyone on the team got got hungry for it and was like yo two years is silly like we can do this sooner like

we'd started to gel together right everybody was sort of playing to their strengths which you like here is pretty common and we're like yeah we can do this like way sooner than two years yeah yeah i think before we're going very serially too like we're doing like one page at a time yeah and someone was like yo why don't we do like 100 pages and we're like okay let's try it so then we tried it and it was like you know really hard at first because we've just done 100 pages

but then we had all the like compounding effects of putting it all together so that was like accelerating us so we were like switching parts of the strategy too yeah yeah yeah yeah how did you get that team so excited about it

i can't take all the credit because i don't know what happens these situations are organic you just start talking about it and then people like bouncing off each other and doing it but yeah i was just bringing some some of that hungry energy and i guess it was infectious and then everybody was like

on board with him we're all having fun and we're like yeah we want to do great and like because we shipped it early right it was it was good for me but it was good for everyone else too right yeah yeah yeah lots of promotions on the team yeah yeah and it super deserving i mean that's insane business impact like such a huge yeah exactly yeah yeah because then we got ads on there and then i

i can't remember but we're pulling in like a bunch of money on a surface that had never been monetized right right right which wasn't slated to happen for a long time yeah yeah yeah that makes sense so and that was the ic7 promo so that was the ic7 promo so i think

like ic8 was like at this point leadership like identifies you and like knows okay so jake is the type of person we can go and throw on problems that no one else really wants to work on or it's like really hard to move or the rest of the org thinks is stupid and impossible so let's go and put him on one of the projects we have that is like impossible impossible and everyone thinks it's stupid yeah yeah yeah which was like we're just on the front end moving it into the

into the main meta stack right hey can you like move the back end into the main meta stack yeah and i was like cool that sounds impossible let's let's try that yeah and that's yeah you you're aware of the details of the project but that that was an interesting one because yeah 95 of the engineering org was like this is stupid why would we waste any resources yeah on this right so we knew we wanted to migrate into the other stack but we couldn't

go out to the engineering org and say hey we're migrating because we get shot down and like everyone would be like this is the dumbest thing ever and we'd like kill morale right for the org so we're like okay what can we do all right everyone's having this problem with

interacting between these two stacks that we have right all right we're gonna go and fix the devx between the two stacks and we made a big deal about fixing the devx between the two stacks yeah yeah for the first year i see yeah so i mean You said people would think it's stupid. You're talking about the people who are using the existing IG backend stack and are used to it. And they're saying, well, it works. Why switch over? Yes. Okay. Yeah. And so you had to.

You couldn't just immediately initiate a migration of infrastructure that thousands of engineers are using without bringing them along and saying, look, it's a good experience still. Yes. Yeah, I think so. also i kind of like at the time i like agree with those engineers right like the majority of our development is in the stack all our important surfaces are here like it's way better to be in one and i'm like yeah this is true but like

Our other stack was growing in usage. There was already all this cross stuff happening. So like... i don't know 30 or 40 percent of the org were impacted by this right but it maybe wasn't hitting the point where it was worth justifying putting like 100 people on it to like move it move it all across right so we did the building blocks right like okay let's

make the highway between the two better which is like no one's really going to argue against that because they're like they come across it occasionally and they're like oh that would make my life better so we'll do that and then on the other side okay there's stuff missing from dub dub dub so

that was the first year and the second year it's like there's a bunch of stuff missing from dub dub dub that doesn't make it feel like instagram let's go and add all that stuff in there so it's actually easier to build in there so that was year two we went and did that Now we're in year three where it's like, okay, now we have these two things. And during that time, more of the cross-stack stuff has happened. Some surfaces did migrate because they were going to get bigger benefits.

uh now we've kind of got to the point where people are like okay we see the writing on the wall like how can we get in there as fast as possible right and now we're in like full migration mode and so the ic8 promo because i guess the full migration is not fully complete but there was some milestone in this larger strategy that was worth an ica promo yeah i think so so i think this project like at some point someone came to me and was like yo

should be running this project or something who's like a very senior engineer at uh meta like i don't know 10 or 10 or 11 he's been around a while yeah because the project was like it was it was so crazy trying to re rewrite instagram right well

you know the classic metaphor of like you know you're on the plane you've got to yeah yeah switch the whole plane while you're still on it yeah so yeah this project was scoped at like you know many ic8s worth of scope or an ic9 or something yeah yeah and we only had uh sevens working on it at the time so there was space for that if you're like going to do it and then we had we hit a couple of big milestones right so we had some of these surface milestones we had hit

as well as we'd hit pretty big traffic ones so we'd hit like massive milestones right right but yeah that was still enough to be like okay yeah like this is done this is a lot of work yeah there's 150 teams involved there's like it's moving everything that is being moved is like you know 20 faster or it's like way easier to work on okay okay okay i mean yeah that blast radius is insane i mean it makes a lot of sense

Yeah, one thing I was curious about, because this is one of those projects where you're switching out a lot of the infrastructure that people are using. How did you make sure all these engineers are happy with the tooling? You're switching it out while they're doing their day-to-day work. Did you, I don't know, have some sort of way to engage the community and keep them happy? Yeah. So we have like an Instagram, we have like a.

a group of people we call our server champions. Oh, right, right. And I think you have these, like, sort of horizontal groups in many orgs. I've had them at previous companies too, right? They're always called different things. I don't know, the server guild, the whatever. You just need when you have so many teams.

people from all around the org to kind represent the platform that you're working on and you want like some people from your infra teams but you want majority people from your product teams because infra teams can get quite disconnected from how day-to-day developments happen yeah yeah

so we had those folks so we would always like it's basically a continuous channel like we have a chat group and stuff right i think there's about 40 of us yeah so they're always giving us feedback we're always asking for feedback if stuff's coming up we're asking them to like

let us know, right? Like if someone on the team raises it to them, let us know. I think that's actually like probably our most important feedback channel. We do have the big feedback channels of like, you know, the 2000 person groups where...

people can post in devx feedback like but we find it has to be really bad by the time it gets posted in that group and we probably know about it already whereas these server champion groups like we might know about it within an hour or two right of something rolling out or breaking yeah in addition to like all the metrics yeah monitor right which is very helpful too yeah yeah that makes sense as you've grown from ic6 to ic8 you take on more responsibility

How's your hours work per week changed over time? Yeah, so I think sometimes I get really excited at work and I'll be working 60-hour weeks or something like that, 70-hour weeks. uh and then other times like okay let's get this back under control and i'll like drop it down to like you know my 40 hour weeks or if it's during the summer and i worked 60 hour weeks during the winter i'll be like okay i'm gonna do 35 hour weeks during the summer or something yeah yeah

so it does it does fluctuate and depends on what the project's going on but most of the time i am trying to target like the 40 hours a week because i want that work-life balance i've got more to life than just working right yeah yeah But yeah, if I get really excited, I might get into it. If I decide I need to do more impersonal, I'll like bow out of it. Yeah, yeah. So you have a pretty good balance then, actually. You're able to maintain your impact with a reasonable amount.

You're not going crazy. Yeah, over the last six months, yes. And it's all the systems that have been building my whole career that I think are able to keep me here. Yeah. Yeah, you probably want to know about it. Oh, yeah. I got to know about these systems then. What are these systems? that are making you able to have this level of impact with that time investment. So yeah, the thing is, so definitely do shield my time. So while I am open to people coming in, I do shield my time. So I think...

Like focus blocks? Yeah, like nearly 50% of my week is focus blocks. So I try not to do any meetings on any mornings. So I'm a morning person and I get a lot done in the morning. So I will not take meetings until after lunch. Yeah, yeah.

and that's worked pretty well for me in addition to that i try to make it so wednesdays wednesdays and fridays i don't have any meetings yeah and then also i'll try to put all my one-on-ones on monday afternoons is there some specific reason for beginning of the week or just uh no nothing for beginning of the week i just picked a day that i was like okay i'm gonna just do these all in a block

yeah and then that leaves basically tuesday and thursday afternoons for project meetings yeah yeah this doesn't always work right because yeah i was about to say there's every week there's exceptions to the rule but generally i find that shields a lot of my time so that i'm able to be able to do stuff to like move the projects forward that i need or like message people when i need to okay so focus time what about because you said sometimes you just

You just really focus and you do 500 diffs in a couple of months. When you're in that hyper productive coding state.

how do you do that oh okay yeah so in times where i'm doing that yeah like i'll just disappear for like two two or three weeks well not disappear but like i will cancel like lots of these meetings right if once the project's going and has momentum or something you can like you know skip a few weeks of project updates or sync groups if we're all together and know exactly what we need to be doing yeah yeah so yeah we'll cut out meetings and i think i've been

praised a little bit for like how few meetings i have on the teams and projects that i run like people are very surprised when they come in and learn that like this massive project doesn't have central meetings yeah yeah like there are no meetings Yeah. Like people like, Hey, I want to get involved. Can you add me to the sinks? I'm like, there are no sinks. Well, how do you, how do you keep, cause those meetings have some values. So they have some value. So this, the work streams that.

need to have them will but like overall and overarching there isn't any so there's not this tiered thing it's like if you're on a particular work stream right there is one sync for that yeah yeah you don't have to go to like a series of syncs where it's like okay we need to go to this one and then i need to go to like

this level one and this level one yeah yeah yeah is there some high leverage like leads kind of meeting so there isn't so there isn't that yet but there is probably a core group of like you know 15 tls across the different areas but we don't all just sit in a meeting and meet together if we need to we'll like chat and chat in a group but we don't even have a chat group there's not even a chat there's not even a chat group it's all ad hoc as needed

it's all as ad hoc as needed. And like, if we need to have some of these conversations, we'll just push it into the wider forums. Yeah. Or if there does need to be a thing that's like sensitive or something, and we do need to chat about it together, we will do the ad hoc stuff. Yeah. Yeah.

I like that. I mean, most recurring cadences are suboptimal because they're just static, you know? So they do kind of like that. Yeah, yeah. So this is... part of the philosophy too so always be available right so if someone needs to talk to me that day i will find time to like talk to that person right yeah whether it's like i have to be out i'm out going for lunch or something i'll take the phone call

do meetings in all sorts of weird places to make sure that people like have the info they need and they're on the floor right right right and in those times where you're a coding machine are you also diff review machine and what's it look like yeah whatever's needed i actually usually when i fire up i'm getting in the zone i'll quickly i'll go to the diffs first because anyone who's got a needs review diff right like they're

semi-blocked or like they're not being able to land what they're landing so yeah i'll go through all of that first get that in before i even start coding myself and every hour i'll go back and check again yeah yeah uh oh wow so you're like really on top of diff review though really on top of diff reviews yeah like

actually i think there's probably lots of memes floating around for me because like people put up diffs and like five minutes later it's like stamp i mean they're like what the hell is going on and that's a lot because i'm on top of it but also because i have this philosophy on like diff reviews and risk where yeah

if like a if i don't think the diff is risky right you're getting a very rudimentary review and like basically you can put that code in like so if it's like gated if it's not on a core system right right these things then you're gonna just get a very high level diff review and then basically i'm just like trusting you so um

You're saying you modulate your level of time investment based on how risky the diff is. Based on how risky the diff is, right? So if you're rewriting it, right, it's all gated right now and we just want the high level.

trunk architecture to be correct if you're working on like some child component or something it's like cool it's gated it's not critical to the system yeah yeah i'm trusting you to do whatever you need to do over there so you'll just stamp it so just stamp it let us see yeah some people view quality differ view as a uh like an important thing rather than just them so you ever get pushed back so this is my controversial one okay for sure so yeah so i i think that is correct

for like the the trunk of the system the core core parts of the system or anything that's already live in prod like is going to get pretty thorough review yeah if it's not live in prod and it is one of these sub like sub parts of the system or less critical things like i'll still skim it to make sure you didn't do anything like absolutely crazy like introduce like i don't know security issues or you know start mining crypto on our servers or something but uh yeah i'll just like let let that

let that fly in yeah i i think it makes sense you're basically trading off speed for i guess quality but it's not dumb quality it's like these are places where it makes sense to make the trade-off where you make yeah so you can have like lower quality components for like these the child the child parts of the system right or the leaf parts of the system and also these parts are like generally easier to unit test yeah if they do fail they only blow up like a small

part of it right just a little blow up just a little part of it if it is badly architected it's only on this like tiny part of the system it's not impacting you know hundreds of engineers maybe it impacts a couple yeah and someone one day is like what the hell's up with this yeah it doesn't take a long time to rewrite right If you mess up the architecture on the core trunk, it probably takes hundreds of people a long time to fix. I remember early in my career, I was all about speed.

was approving some diffs and then someone come back to me and say why'd you approve this that was too you know like let's slow down a little bit yeah you ever get some feedback where someone says hey you know calm down like this definitely happens actually interesting thing so teach the people close to me in my teams that like hey it's okay buy stamped your diff to like

put it back in review again if you actually need deeper review or like flag it flag it in the summary or the test plan like or comment on it like hey i'm actually looking for deep review on this if you know that's how our team operates now

yeah and this is actually really good because i might have thought it's like a child part of the system and maybe it is still a child part of the system but they've thought hey this is like could be like more performant or like i actually want you to double check this so then we use that signal to be like okay this person actually wants things so if i missed it even if they put a comment on it they'll throw it back into review and like be like

need real review or something like that because they knew they knew what happened yeah yeah yeah i see that makes sense but yeah there's definitely this is not the philosophy of everyone at meta right like we most people it's like quality high quality for everything

yeah and it depends on the system though depends on the system also depends on like this is like trust you build on your team too yeah and you're on the team probably not going to get this treatment for the first couple of weeks yeah although i do want to defer to like how do i accept this diff not

how do I reject this diff, which I think is an important philosophy to have. Why is that? Because I'm not trying to knit your code and get you to write it the exact way I would write it right. I'm trying to... be like okay what is absolutely blocking this thing from going to going to production like big high-level architecture things like i don't know some critical bugs like is it going to blow up

prod right not like write it exactly the way i would write it right i think that takes a while to get to too right like more senior engineers usually become amenable to this yeah but when you're in yeah when you're like in the first five years of your career Maybe you've only seen a few ways of writing it right. So you want people to write it that exact way. Yeah, yeah, definitely. I think when you are working in a team where there's high trust and you get to the point where people...

They have feedback, but they accept with nits. You know, I love that because everyone's just trusting each other, you know, move fast. Yeah. And I have some feedback, but it's not that important. It's just like, take it if you will.

man, this is where I push that needle even further again. So I'll like, even if I see your diff is going to blow up production, I will comment on it and be like, this is going to blow up production and then accept it and be like, yeah, make sure you fix that first. Right.

I've never had a case where someone's like landed it. Yeah. Like with a comment on it that says, Hey, this is going to block production. Cause you can, can you imagine like sitting in several view or something? And someone's like the diff had a comment on it. This is going to block.

so it's wild that you accept that though yeah except i just trust him to fix it right yeah yeah yeah fix it the right way once again if they have trust if it's like a new person on the team and i'm not sure if they're going to fix it

the right way yeah yeah right i might be like ping me again when it's like ready yeah yeah but yeah 99 of the time i'll just like accept and go yeah and yeah haven't had to do the thing where i pull back because i've never had one that's been shipped accidentally exploded yeah and that's actually a little bit of philosophy i use across like i guess building these systems judging how fast i'm moving yeah if i'm doing something and it's not

I'm not getting feedback that it's like broken or I'm not seeing negative effects from it. Right. Even if it is controversial and crazy, I'll keep pushing the boundary on it. Right. Same as our rollouts. Like if we're at 1%, we're getting like very little feedback and like.

metrics are looking good and we might move to like 10% the next day. And people are like, that's crazy. Like step to like two, three, five things. It's like, well, we're not, we're not getting any like signals that it's not going poorly. As soon as we get signals that it's going poorly, we start.

pulling back but yeah otherwise i find you like move too slowly yeah yeah right you want to be moving at like the fastest speed you can without ruining things yeah yeah so if you're not getting if you're not yeah anything worse like keep trying to find that edge yeah yeah yeah i i had a tech lead early in my career and i had taken down prod or something and i was talking to him about it and he

You know, on one end, you shouldn't break prod generally. But he also said, if you never break prod, you're probably, that's probably not also optimal. Like there should be. some level of risk otherwise you're moving too slowly yeah exactly yeah try not to break prod but

If you never break it, you're probably like very slow. Yeah. And if you're breaking it every day, you're probably going way too fast. Yeah, exactly. Need to fix something. Do you use AI at all? Yes. I mean, I use it. I use ChatGPT like.

i don't know 10 times a day outside of work and then internally we have like own things that i use too but i think it's great right like just like harness the tools that are coming they have a bunch of caveats and they make mistakes and stuff but like i don't know

i had to use if someone said don't use a calculator i'd be like what the use the use the tool the tools there figure out a way to use it right yeah then maybe we won't get replaced if we become masters of the tools yeah yeah yeah exactly exactly yeah i wanted to talk about being a tech lead a bit because i feel like that's one superpower that you have to start what would you say is the role of a tech lead like what are the important things to do and how do you see that role yeah so yeah

people probably have a different opinion on this all over the place but yeah mine is just like okay you're the tech lead you're responsible for this project now right like do whatever it takes to get this project done

Usually the highest leverage thing you can be doing is like making sure everyone else is like contributing to the project and moving in the right direction. Right. But sometimes you might have to switch and do other things like writing code or jump into fixer mode. There's been a few times I've had to like...

No one else can debug what this thing is doing. So I've spent two weeks chasing like the craziest bug through the system to like find that line of code that's messing up. At this point, you've probably coached tech leads because you're in a position with leverage.

What's the most common mistake you see people make if they're transitioning into more of a leadership role? I think getting like kind of disconnected from... what the what the goal is of the project right it's so easy to get caught up in the day-to-day operations of like we need to be doing this and need to be doing why and like lose track of the fact that like

the direction we're heading in might have actually shifted a little bit and it's like your responsibility to like shift the team towards towards the goal again right right i know i met a regardless of how high level you are you're expected to make technical contributions yeah but generally there is a sentiment of as you become a higher and higher tech lead you get further further from the code yep

And more in doc work and leadership meetings and things. How do you strike that balance? Yeah, so it definitely is a hard balance to strike, but I'll still write code probably nearly every week. even if it's like a small amount of code because then i'm using the full tool chain often it's because no one else wants to do it or it's something that you know maybe i'm going to do it 10 times faster because i know know that thing and i don't want

them to waste a week on it so i'll go and do it right yeah so i just i just like find the time and those focus blocks and stuff help with that too right and it might be if it gets to wednesday and i haven't written code and nothing's come up i might go and do that yeah this is all caveated on the fact that

i'm always trying to work on what i think is the most important thing right like if it was saving that person you know their whole week of doing it's going to take me an hour i'll go and do it yeah but there might be periods of time where we're doing a big review or you know we're going to get a headcount injection or

I don't know, we need to be doing X, Y, or Z. And then that's way higher leverage for me to be spending my time on. And I won't code for a few weeks. Right, right. How do you, I think this is more junior people lack this, but how do you develop that skill of seeing? What is impactful with your time? Where's the ROI? Where'd you learn that? Yeah, I think it's, I don't know, just like practice. Practice makes perfect. And you've seen a lot of scenarios, so you kind of know which one after a while.

yeah but yeah when i didn't have that gauge and i still use this a little bit now it's always like what do i what do i think myself is really important that no one else is willing to work on yeah and that's usually the area i would go to before i had developed like a good sense of it because now there'll be some times where i'm like oh no one's working on it because it's stupid but like yeah if i really think it's really important i will like find a way to work on it yeah oh interesting

there's a famous essay inside a workplace somewhere and the title of it is like go where you're rare or something like that oh and this kind of reminds me of that it's a scarce thing that you could solve that problem and yeah yeah it makes sense man i haven't seen that essay i love that yeah yeah there's a lot of gold in workplace there is a lot of people sleep on on the like the all-time essays and workplace yeah they're buried somewhere in there

there's another one from one of our like i don't know ic10s that we have at the company who talks about the 20 of the time he just works on stuff that like he's never going to get credited for right it's like the kind of org contributions or

if you get very senior it might be the code contributions because like they don't really care if i code yeah yeah or not anymore right what's the rationale that if you're always if you spend 100 of your time working on stuff that you get credited for you're probably dropping

a lot of stuff right and i see i see it happen like someone might come and be like hey can you like help me with this thing or something like that and i'll be like well i know i'm never going to get credit for this so i just say no to them but there was actually a lot of value in helping that person

i'm just like when performance comes around no one's gonna be like oh he helped this person cool so i actually like that kind of mindset and it was kind of how i was operating before i read this too but like Yeah. 20 or 30% of my time. Yeah. I would just do things that I know I'm not going to get credited for. Yeah. Yeah. PSC is all about doing things that are measurable. Yeah. There can be a hundred little things that you help people with that made them.

five percent better or something yeah that's not going to be in your psc because your psc is probably just giant migration item giant you know this yeah that not all those little things not all the little things and like there's 20 or 30 you want them to From your point of view, you think they're valuable, right? But just no one else is going to think they're valuable. Yeah, yeah. Like I think helping that person is valuable. I think doing things for the org, the wider org.

yeah i think having some coding time is valuable right but yeah yeah definitely like probably not like yeah yeah yeah i think also early in my career i i worked so much extra hours just doing whatever people gave me that i do think it actually became valuable at a later time like yeah i was no credible and known as someone who's just gonna like unblock you no matter what like yeah be responding late or whatever just yes i was into it

yeah so there's like hidden things outside of psc that yeah and then that becomes valuable right yeah and then that becomes value yeah like a lot of people appreciate the fact that i'm a senior engineer who still codes i think we talked about the work diary thing

I wrote something about how it's important to have some documentation of the things you're landing or the state of investigations, et cetera, and the value of writing. What's your process for keeping track of your work in writing? Oh, yeah. So basically, I have a really good note-taking system because I'm terrible at remembering things. And my note-taking system is actually in VS Code. Oh, really? Yeah, so I just have another VS Code instance.

spun up so i can have two running or whatever it's just the tech stock it's just a tech stock okay yeah and uh so i'll have it and i don't i don't actually use multiple monitors so i just have like the workspace thing or whatever on mac where i can just use a couple of fingers and it just flicks across like that okay so it's always very easily accessible and i'll just dive across and i'll have i'll create a new readme file

in one folder i don't have the whole i don't have a folder archive it's just one folder and i'll have like yeah like current project name or something just saved in there yeah and that way i can like search for a file name in like two or three characters and jump between file names so i have now on there there's probably like tens of thousands of files because i have no for everything on there yeah but i this is my like indexed way of like

sort of jumping between lots of thoughts yeah and writing them down and then i have like keyboard shortcuts where you're inserting like the current date and time yeah right so i can like kind of index it on that oh wow it's like an extension of your brain it's like yeah you're just constantly noting things down just constantly noting it down and i don't have to spend any time organizing it right because there is no folder structure just one giant thing the only thing that

it's organized by is like searching for a file name or you can use word search right yeah yeah control f but most of the time i'm like have a pretty good idea of what thing i saved it under right yeah it's every one-on-one there's like a a name of a person right right right right every project there's one i have like a couple of root level ones like priorities right things work those priorities so then in there i'll have

These are the timestamp each day. These are the priority things. Write some memos for me up the top, like, you know, don't spend time on X today.

like this year don't spend time on this like focus on why yeah yeah which is actually helpful reminders because i'll jump in there once a week and be like oh crap i'm trying to break that habit yeah yeah i'll get out of this so i guess that's you writing things in and cataloging when you pull like let's say you're writing your performance review that's one reason people like use so you just kind of dive through there is there like one that's like achievements or like

So I've only once in my career for a year kept track of the projects and stuff that I did. And yeah, this year I'm not keeping track again. Okay. So yeah, I don't keep track of what is actually happening on the leg.

okay so you just at the end at the end i'll try to figure it out yeah which has downsides right you know it takes like a whole day to figure out what you did for the year yeah yeah but yeah i just haven't found value in tracking everything each day yeah yeah i already have like the system of like what yeah i mean dailies probably be too much anyways like yeah i always liked writing launch posts because at the end of the

year i just scroll through what just every launch post is like a bullet in my pc so that's a good one i like that because you got to put those out anyway right yeah you got to put those out anyways so it's just like i'll just look at those later yeah

Okay, I like that note-taking. It's simple. Yeah, it's simple. And then the other thing that's part of it is there are links between the files. So I have a VS Code extension, which lets me put links between the files very easily. Yeah, yeah. So I can just...

and it's i don't know it's like i press one key and same because i'm using everything based on the file name right i just like start talking file name bang it's linked yeah so that's the way that it's kind of organized i can like jump between these thoughts or whatever

yeah and then it actually has a the same vs code extension has this thing where you can view it as a graph so if you started linking all your files together you can then view graph and see how you've like organized your mind and you're like holy

but that's gimmicky like i never use it but like occasionally you fire it up and you're like wow it's like your own internal wikipedia like what you got going on yeah like linking between thoughts and yeah exactly and then once you've been doing it for a while now i've been doing it for like 10 years or something it's just like

10 years of thoughts in there. And I have all my personal stuff in there too, right? Which is kind of weird because then you see the work and the personal overlap at some point. Yeah, yeah, yeah, yeah. I wonder if you could feed it too. an LLM one day and it can be useful or something. You can retrieve from it easier. Yeah, yeah. It'll know everything about me. Yeah, yeah, yeah. Because it's got my diary in there too. It's got all sorts of things. Yeah. Oh, that is so cool.

i see we're like low on time so the last thing that i want to ask you is let's say you were going back into the industry this is like you just graduated college yep and you were going to give yourself some advice what would you what would you say oh man well okay go where you're valued i've seen lots of people go onto teams where they're not valued not valued like what do you mean they're not valued like you're

you're really good at working on front end right and then you end up on a back end team and all of a sudden your performance is crap or like you're really good at fixing or like you like working on framework things and you're on a product team and you're like constantly tweaking the frameworks and making them better and then you get a really bad rating at the end of the year even though you landed like 500 gifs or something yeah yeah like go into the environment in which like

you're valued and maybe you end up being an environment you're not valued in for a year but just like recognize that and get out of it right right so i think like lean into your strengths basically yeah you're you're trying to lean into your strengths but the you're

management chain or your team around you doesn't care about your strengths right go and find a team that likes your strengths and go there right and you're gonna be way happier it's gonna work much better for you yeah definitely and it seems like your career That's kind of where it started to, you made that jump into a web team, Instagram, you were excited about it and you just kind of went up from there. Yeah, exactly. General philosophy is just like, I don't know, be nice.

Be good. What's the word? Have fun. I'm always being a joker, right? Even when I'm talking to leadership or writing out these big posts, right? like most of the time they're not super professional i'm trying to be like you know have a little bit of fun with it yeah be be simple right don't over complicate your posts right right i mean a lot of people they present like a work you know a work yeah form of themselves and then uh

you know, outside of work, they're a different person. Yeah. So yeah, I try to meld those things. For me, I try to do the, do the same thing. Cause that's like kind of true to me. And like, I think makes, makes work more interesting and we're like, we're having to work on it.

yeah yeah spend a lot of time here right it'd be more fun but i wonder why there's got to be some trade-off because it seems like so many people are yeah what's the trade-off i think like depending on the type of person you are like sometimes i can end up saying really dumb stuff right

yeah and then the way that i've had to counter this at work people know that like oh jake's very nice and he says something dumb and you tell him he'll like be like oh yeah sorry that was dumb and like apologize for it and yeah stuff like this obviously can't go out and say like

really crazy stuff but thankfully I don't do that in my personal life anyway but yeah I try to bring my like I don't know myself to work thanks for listening to this podcast I hope that it was helpful This podcast is a hobby of mine and so I'm not selling anything and I don't have any sponsors.

But if you want to support the podcast, please drop a like if you're on YouTube or wherever you're listening to this. If you're on Spotify or Apple Podcasts, if you could leave a review, that would be much appreciated. And I'm always looking for new people to interview. So if you have any suggestions on that, people you think would be interesting to bring on to the podcast, please let me know with a comment and I'll take a look.

This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast