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

Episode Date: May 31, 2025

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 selfTimestamps:(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) OutroWhere to find Jake:• LinkedIn: https://www.linkedin.com/in/jakebolam/• Threads: https://www.threads.com/@theregularbuiltozzyWhere 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 To hear more, visit www.developing.dev

Transcript
Discussion (0)
Starting point is 00:00:00 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 Bullum. He's a principal engineer or IC8 at Instagram who got promoted twice from staff engineer.
Starting point is 00:00:15 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 is stupid. And yet his work-life balance is somehow reasonable. So certainly you have a pretty good balance, yes. And it's all the systems that have been building my whole career that I think are like able to keep me here. Yeah, you probably want to know about it. I thought he had a really interesting note-taking system.
Starting point is 00:00:38 And my note-taking system is actually in V-S-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 ICAid or a principal engineer in the industry. On your path to ICAid, what were you hired in as to me? meta and maybe you can give a high level timeline of the teams you were on yeah sure thing yes 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
Starting point is 00:01:12 15 people to like 700 in like two or three years wow 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, it was middle of COVID. COVID 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 meta for most people. It's actually empathize with a lot of people that like took like a year to ramp up instead like three months.
Starting point is 00:01:51 Was your performance at risk initially because you're onboarding remotely? I think my manager like helped a lot like with the system. I managed to get like a meets all or something like this. You know, definitely wasn't excelling. 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.
Starting point is 00:02:16 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 in 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.
Starting point is 00:02:51 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 ever worked at moved me into like front end infrastructure very quickly and then back end infrastructure. Actually, one of my big draws to meta was, oh, they're so big, I'll always be on. able to work on front end product. Right.
Starting point is 00:03:17 Like specializing. Yeah. And this thing continued where I got pulled into Instagram now to do front end product. It 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 backend infrastructure teams.
Starting point is 00:03:32 And I was like, oh, it doesn't matter which company I'm at. How do you get 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 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
Starting point is 00:04:07 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 a hundred people would work on it you know right on the company right time right 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 so then you are ic6 on the group's team you were onboarding slowly yeah and you weren't liking it it was this back end integrity system you switched to instagram web as ic6 is Is there? Yes.
Starting point is 00:04:47 Okay. And so that's where your career started to really pick up. Yes. So I think I came in and 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.
Starting point is 00:05:09 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. 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.
Starting point is 00:05:24 So they kind of gave me the opportunity to like do that. Right. Why do you think they came to you for the opportunity? Yeah, I think that's one of the big things people look for. Yeah. People who want to get to these levels, they, even if they want to, sometimes they don't have the opportunity. So I'm curious, what did you do that you think?
Starting point is 00:05:45 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 for to. So I was like, yeah, I want the career growth right. I think I can do this. Like 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.
Starting point is 00:06:09 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, FY, I'm, I'm eager for IC7. Yeah. And so they knew that and they basically just gave you the opportunity and to see if you could do it. Yeah.
Starting point is 00:06:34 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. 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.
Starting point is 00:06:52 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 a. 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
Starting point is 00:07:25 you're working on, right? Working on the back end infrastructure, right, if you're impacting 3,000 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 to make those frameworks better. Yeah. Like you're hitting pretty big blast 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 you yeah yeah yeah so this i'm talking through one very specific lens yeah right so yeah there's all these ways that people can you know contribute to
Starting point is 00:08:07 the business and like be having that large blast in that and yeah the most extreme other end 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 part too yeah yeah definitely were you intentional about the archetype that you picked for yourself as you grew to ICA?
Starting point is 00:08:49 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 are monor like marathon projects. So we get to stick around for like a long time together and have some fun. Right. So you're like a force multiplier.
Starting point is 00:09:20 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. 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. Have you ever thought about management?
Starting point is 00:09:50 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, like, you know, land 500 diffs in a couple of months or whatever. Yeah, yeah. Like, go and land a ton of code to get this across the line. I see.
Starting point is 00:10:09 You can't really do that in management. Yeah. also a bit of a loose unit and sometimes say dumb stuff. So I think it's better if I'm not in management and like have people in management who can check me on that, you know, occasionally when it's needed. Right, right, right, right. Yeah, I feel like you have to be a little more sensitive to things as a manager. Yes. Yeah. Yeah, I noticed your internal profiles that's 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.
Starting point is 00:10:46 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 ICA 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 in 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's 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.
Starting point is 00:11:43 In a nice, perfect world, you'd make time for them and you talk to them. But in an 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 here, 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 telling them stuff and they're like acting on it and going for it.
Starting point is 00:12:13 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, probably not likely to give them too much time again. 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.
Starting point is 00:12:38 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?
Starting point is 00:12:56 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 genuine, right? Don't try and, like, script it or, like, pick up line it. Yeah. Pick up like that just be genuine about what you want to ask or find out. Yeah, yeah.
Starting point is 00:13:17 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.
Starting point is 00:13:41 leading few teams and your management chain said, we need a leader. And you were eager and you took that on. What was it for ICAid? Yeah. Also just on that, like getting to the seven one, you got to also land the project, right? 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 infamigration 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 oh wow which was like
Starting point is 00:14:26 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 crazy. That's kind of crazy. Yeah. So how did you take something that was two years and make it happen? Did you cut scope or did you?
Starting point is 00:14:50 Yeah, what happened? Yeah, we cut scope. But I think more it was just like everyone on the team 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're like, here is pretty common. And we're like, yeah, we can do this like way sooner than two years.
Starting point is 00:15:10 Yeah, yeah. I think before we were going very serially too, like we were 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.
Starting point is 00:15:28 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.
Starting point is 00:15:45 But yeah, I was just bringing some of that hungry energy and I guess it was infectious and then everybody was like on board with it and 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 good for me, but it was good for everyone else too. Yeah, yeah, yeah. Lots of promotions on the team. Yeah, yeah. And it's super deserving. I mean, that's insane business impact. Like such a huge thing. Yeah, exactly. Yeah, yeah. Because then we got ads on there and then I can't remember but we're pulling in like a bunch of money on a surface that had never been monetized, right?
Starting point is 00:16:15 Right, right. Which wasn't slated to happen for a long time. Yeah, yeah, yeah, yeah. That makes sense. And that was the IC7 promo. So that was the IC7 promo. So I think IC8 was like, at this point, leadership identifies you and like knows,
Starting point is 00:16:29 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 is stupid. Yeah, yeah, yeah. Which was like, we're just on the front end moving it into the main metastack, right?
Starting point is 00:16:51 Hey, can you move the back end into the main metastack? Yeah. And I was like, cool, that sounds impossible. Let's try that. Yeah. And that's, yeah, you're aware of the details of the project. But that was an interesting one because, yeah, 95% of the engineering org was like, this is stupid. why would we waste any resources
Starting point is 00:17:09 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'd get shot down and everyone would be like, this is the dumbest thing ever. And we'd like kill morale for the org. So we're like, okay, what can we do?
Starting point is 00:17:26 All right, everyone's having this problem with interacting between these two stacks that we have. All right, we're going to 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.
Starting point is 00:17:39 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. Those, okay. Yeah.
Starting point is 00:17:54 And so you had to, you couldn't just immediately initiate 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. And 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. Right. 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% of the org were impacted by this. Right. But it maybe wasn't hitting the point where it was worth just putting like a hundred people on it to like move it move it all across right so we did the
Starting point is 00:18:41 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 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.
Starting point is 00:19:20 Some surfaces did migrate because they were going to get bigger benefits. 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 ICA 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.
Starting point is 00:19:46 So I think this project, like at some point someone came to me and was like, yo, should be running this project or something. He's like a very senior engineer at meta, like, I don't know, 10 or 11. He's been around a while. Yeah. Because the project was like, it was, it was so. crazy trying to rewrite Instagram right while you know the classic metaphor of like you know you're on the plane you've got to yeah yeah yeah switch the whole plane while you're still on it yeah
Starting point is 00:20:10 so yeah this project was scoped at like you know many ic8s worth of scope or an ic9 or something yeah yeah yeah and we only had uh sevens working on it yeah at the time so there was space for that if you were like going to do it and then we had we hit a couple of big milestones right so we had some the 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 easy to work on okay okay okay okay i mean yeah that blast radius is insane i mean yeah makes a lot of sense yeah one thing i was curious about because you this
Starting point is 00:20:57 This is one of those projects where you're switching out a lot of infrastructure that people are using. How did you make sure all these engineers are happy with the tooling? Because 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 group of people we call our server champions. Oh, right, right. And I think you have these like sort of horizontal groups.
Starting point is 00:21:27 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 or 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
Starting point is 00:21:43 because Infra Teams can get quite disconnected from how the day-to-day developments are here. 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.
Starting point is 00:22:00 If stuff's coming up, we're asking them to 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 2,000 person groups where people can post in DevX feedback. 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. Yeah, yeah, yeah. 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
Starting point is 00:22:32 like all the metrics. Yeah. Yeah. Monitor. Right. Which are very helpful to. Yeah. That makes sense. As you've grown from IC6 to IC8, you take on more responsibility. How's your, like, hours work per week changed over time? Yeah. So I think sometimes I get really excited at work and I'll be like working like, you know, 60 hour weeks or something like that, 70 hour weeks. 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 work 60 hours a week during the winter, I'll be like, okay, I'm going to do 35 hour weeks during the summer or something. Yeah, yeah. So it does fluctuating depends on what the project's going on.
Starting point is 00:23:12 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 personal, I'll like bow out of this. Yeah, yeah. Yeah. There's certainly 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
Starting point is 00:23:42 like able to keep me here. Yeah. Yeah, you probably want to know about it. Oh yeah. I got to know about these systems then. One of 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 or? 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 and Fridays, I don't have any meetings. Yeah. And then also I'll
Starting point is 00:24:25 try to put all my one-on-ones on Monday afternoons. Is there some specific reason for beginning of the week or just? No, nothing for beginning of the week. I just picked a day that I was like, okay, I'm going to 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.
Starting point is 00:24:46 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 do stuff to, like, move the projects forward that I need or like message people would I need to message. Right, right. Okay, so focus time. What about, because you said sometimes you just, you just really focus and you do 500
Starting point is 00:25:06 diffs and like in a couple 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 or three weeks. Or not disappear, but like I will cancel like lots of these meetings right. Once a project's going and has momentum or something, you can 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.
Starting point is 00:25:34 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?
Starting point is 00:25:51 I'm like, there are no sinks. Well, how do you keep, how do you keep? Because those meetings have some values. They have some value. So 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.
Starting point is 00:26:11 You don't have to go to like a series of sinks 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 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're like chat in a group, but we don't even have a chat group.
Starting point is 00:26:37 There's not even a chat. There's not even a chat group. So 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.
Starting point is 00:26:55 Yeah, yeah, yeah. Yeah. I like that. I mean, most recurring cadences are suboptimal because they're just static, you know, so yeah. Yeah. They do kind of like that. Yeah, yeah.
Starting point is 00:27:06 So this is part of 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. Like, I'll do meetings and all sorts of weird places to make sure that people, like,
Starting point is 00:27:23 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. Actually, usually when I fire up and 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,
Starting point is 00:27:41 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. Oh, wow. So you're like really on top of diff review, though? Really on top of diff reviews.
Starting point is 00:27:58 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.
Starting point is 00:28:21 Like so if it's like gated, it's not on a core system, right? Right. These things, then you're going to just get a very high level diff review and then basically I'm just like trusting you. So you're saying you modulate your level of time investment based on how risky the dip is. Based on how risky the diff is, right? So if you're rewriting it right, right? It's all gated right now and we just want the high level trunk architecture to be correct.
Starting point is 00:28:47 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, like an important thing rather than just
Starting point is 00:29:07 so you ever get pushed back on that? So this is my controversial one. Okay. For sure. So yeah, so I think that is correct for like the trunk of the system, the core parts of the system or anything that's already live in broad like is going to get pretty. thorough review. Yeah, if it's not live and broad and it is one of these sub, like, sub parts of the system
Starting point is 00:29:27 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 mean, it makes sense. You're basically trading off speed for, I guess, quality. but it's not dumb quality.
Starting point is 00:29:53 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 parts of the system, right, or the leaf parts of the system. And also these parts are like generally easier to unit test. Yeah, 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.
Starting point is 00:30:13 If it is badly architected, it's only on this like tiny part of the system. It's not impacting, you know, hundreds of engineering. is maybe it impacts a couple yeah and someone one day is like what the hell's up with this yeah yeah doesn't take a long time to rewrite right right if you mess up the architecture on the core trunk probably takes like hundreds of people a long time to like fix yeah yeah have you have you ever had some i remember early in my career i was all about speed and i was approving some diffs and then someone come back to me and say why'd you approve this those two you know like let's slow down a little bit on yeah You ever get some feedback or someone says, hey, you know, calm down.
Starting point is 00:30:52 This definitely happens. Actually, interesting thing. So teach the people close to me in my teams that, like, hey, it's okay. Buy stamped or 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.
Starting point is 00:31:17 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 what happened. Yeah, yeah, yeah. I see. That makes sense.
Starting point is 00:31:46 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 yeah yeah and you're on the team probably not gonna 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 yeah because like I'm not trying to like knit your code and get you to
Starting point is 00:32:16 write it the exact way I 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.
Starting point is 00:32:34 Right. I think that takes a while to get to, too, right? Like more senior engineers usually become amendable 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.
Starting point is 00:32:50 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. 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.
Starting point is 00:33:11 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? Yeah, yeah. I've never had a case where someone's like landed it. Yeah, yeah. Like with a comment on it that says, hey, this is going to blow up production.
Starting point is 00:33:29 Because you can imagine like sitting in Seb review or something and someone's like, the diff had a comment on it, this is going to block production. Yeah, yeah. That'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
Starting point is 00:33:47 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, yeah. But yeah, 99% in time, I'll just like accept and go. Yeah, yeah. And yeah, haven't had to do the thing where I pull back because I've never had one that's
Starting point is 00:34:00 been shipped accidentally. That exploded production. 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? Yeah.
Starting point is 00:34:16 even if it is controversial and crazy. Yeah, yeah. I'll keep pushing the boundary on it, right? Yeah, yeah. 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.
Starting point is 00:34:30 And people are like, that's crazy. Like step to like two, three, five things. It's like, well, we're not getting any, like, signals that it's not going poorly. Right. As soon as we get signals that it's going poorly, we start pulling back. But otherwise I find you, like, move too slowly. Yeah, yeah, yeah. Right.
Starting point is 00:34:44 You want to be moving at, like, the fastest speed. can without ruining things. Yeah, yeah. So if you're not getting, if you're not making anything worse, like keep trying to find that edge. Yeah, yeah. Yeah. 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.
Starting point is 00:35:08 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.
Starting point is 00:35:34 Do you use AI at all? Yeah, so I've been, I use it. I use chat GPT like, I don't know, 10 times a day outside of work. And then internally we have like own things that I use too. 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 it'd be like what the fuck use the tool the tool's 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
Starting point is 00:36:05 exactly yeah i wanted to talk about being a tech lead of it because i feel like that's one super power 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?
Starting point is 00:36:27 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 fix a mode. there's been a few times or had to like, no one else can debug what this thing is doing. So I spend two weeks chasing like the craziest bug through the system to like find that line of code that's messing up.
Starting point is 00:36:53 At this point, you've probably coached tech leads because you're in a position with leverage. Yeah. 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 goal is of the project, right? It's so easy to get caught up in the day-to-day operations of like, 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 meta
Starting point is 00:37:27 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 yeah and more in dock work and leadership meetings and things. How do you strike that balance? Yeah, so it's definitely is a hard balance to strike, but I'll still, I'll still write code probably nearly, 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.
Starting point is 00:38:11 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, 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 caveat 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 or I'll go and do it. But there might be periods of time where we're doing a big review or, you know, we're going to get a head count injection or I don't know, we need to be doing X, Y, or Z. And then. And 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? You know, where's the ROI? Where'd you learn that? Yeah, I think it's, I don't know, just like practice. Practice makes perfect.
Starting point is 00:39:03 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. Oh, interesting. Before I had developed like a good sense of it.
Starting point is 00:39:23 Because now there'll be sometimes where I'm like, oh, no one's working on it because it's stupid. But like, if I really think it's really important, I will like find a way to work on it. Yeah. Oh, interesting. Yeah. 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.
Starting point is 00:39:44 And this kind of reminds me of that. It's a scarce thing that you could solve that problem. Yeah. Yeah. It makes sense. Man, I haven't seen that essay. I love that. Yeah, yeah.
Starting point is 00:39:54 There's a lot of gold in workplace. There is a lot of gold. Sleep on, 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, I see 10s 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
Starting point is 00:40:16 like the kind of all 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 going to be like oh we help this person cool so i actually like that kind of mindset and it was kind of how i was operating before i read
Starting point is 00:40:55 this too but like yeah 20 or 30 percent of my time yeah i'll 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 and yeah There can be a hundred little things that you help people with that made them 5% 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, giant that. Not all those little things. Not all the little things. And like those 20 or 30% you want them to, from your point of view, you think they're valuable, right?
Starting point is 00:41:27 But just no one else is going to think they're valuable. Yeah, yeah. Like I think helping that person's valuable. I think doing things for the org, the wider org is available. I think having some coding time is valuable, right? Yeah, yeah, definitely. Like, probably not. Yeah, yeah.
Starting point is 00:41:40 Yeah. I think also early in my career, 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, you know, I was not credible and known as someone who's just going to like unblock you no matter what. Like, be responding late or whenever just because I was into it. Yeah. So there's a hidden things outside of PSC. Yeah, and then that becomes valuable, right?
Starting point is 00:42:07 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
Starting point is 00:42:34 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 a tech stock? It's just a tech stock. Okay.
Starting point is 00:42:48 And so I'll have it. And I don't actually use multiple monitors. So I just have like the workspace thing or whatever on Mac. I can just use a couple of fingers and it just flicks across. Oh, I like that. Okay, yeah. So it's always very easily accessible. And I'll just dive across.
Starting point is 00:43:02 And I'll have, I'll create a new read-me 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 like keyboard shortcuts are 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 and 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 left but most of the time I'm like have a pretty good idea of what thing
Starting point is 00:44:04 I saved it under, right? Yeah. So every one on one, there's like 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 or something. Work, there's priorities. So then in there I'll have these timesant each day, these are the priority things.
Starting point is 00:44:20 Write some memos for me up the top. Like, you know, don't spend time on X today. Or like this year, don't spend time on this. Like focus on Y. 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. habit yeah yeah I'll get out of this so I guess that's you writing things in and
Starting point is 00:44:40 cataloging yeah when you pull like let's say you're writing your performance through you that's one reason people like you yep 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 like. Okay, so you just, at the end, at the end I'll try to figure it out.
Starting point is 00:45:08 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.
Starting point is 00:45:18 Because I already have like the system of like what I need to do on the day to do on the day. Yeah, I mean, daily is probably too much anyways. Like, see 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 that no taking so it's simple it's simple and then the other thing that's part of it is there there are links between the files oh 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
Starting point is 00:45:59 and same because I'm using everything based on the file name right I just like start talking file I'm bang, it's link. 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 the same VS code extension, has this thing where you can view it as a graph.
Starting point is 00:46:15 So if you started linking all your files together, you can then view your graph and see how you've like organized your mind and you're like, holy shit. But that's gimmicky. Like I never use it. But like occasionally you fire it up. You're like, wow. It's like your own internal Wikipedia, like what you got going on.
Starting point is 00:46:31 Yeah. Like linking between thoughts. 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? Just kind of weird because then you see the work and the personal overlap at some. Yeah, yeah, yeah. I wonder if you could feed it to an owl on one day and it can be useful or something. You can retreat from it. Yeah, yeah. It'll like know everything about me. Yeah, yeah. Because it's got my diary in there too. It's 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.
Starting point is 00:47:16 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 really good at working on front end, right? And then you end up on a back end team.
Starting point is 00:47:34 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 diffs 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 your management chain or your team around you doesn't care about your strengths, right?
Starting point is 00:48:09 Go and find a team that likes your strengths and go there. Right. And you're going to be way happier. It's going to 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. Yep.
Starting point is 00:48:24 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 have fun like i i'm always being a joker right like even even when i'm talking to leadership or like 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
Starting point is 00:48:52 be simple right yeah don't overcomplicate your posts right right right i mean a lot of people they present like a work you know a work yeah form of themselves and then outside of work they're a different person yeah so yeah i say try to meld those things for me i try to do the do the same thing because that's like kind of true to me and like i think makes makes work more interesting 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?
Starting point is 00:49:33 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 be like, oh, yeah, shit, sorry, that was dumb and, like, apologize for it. Yeah. Stuff like this.
Starting point is 00:49:45 Obviously, you can't go out and say, like, really crazy stuff, but thankfully I don't do that in my personal life anyway. Right, right, right. 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,
Starting point is 00:50:00 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 onto the podcast, please let me know with a comment and I'll take a look.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.