The Most Important Skills Going Forward with CTO + Homebrew Maintainer Mike McQuaid

Interviewed by freeCodeCamp Podcast

Mike McQuaid joins Quincy Larson to discuss career lessons and the software engineering skills worth prioritizing next.

Show transcript
  • 0:00 Welcome back to the FreeCodeCamp podcast. I'm Quincy Larson, teacher and founder of FreeCodeCamp.org, and today I'm interviewing Mike McQuaid, the maintainer of the Homebrew Package Manager tool used by tens of millions of developers.
  • 0:16 First, let's jump to some community news. FreeCodeCamp just published a book, a full-length book, that will teach you the math that powers most AI systems. Even if you haven't touched math since high school, you may find this book helpful in expanding your understanding of the layers of abstraction underpinning these emerging tools.
  • 0:35 You'll learn key concepts in statistics, linear algebra, calculus, and optimization theory. You'll also get a healthy dose of mathematical history. It's a full-length book. Link is in the description.
  • 0:47 And if you're finding a sudden surge in AI tools to be overwhelming, FreeCodeCamp publish this practical guide to using them effectively.
  • 0:56 Finally, this tutorial will separate the utility from the hype, and you'll learn how to minimize hallucinations with context management. You'll learn about agentic tools and in-editor assistance.
  • 1:08 It even has tips for how to prevent your own developer skills from atrophying, so you can adopt these tools without becoming overly dependent on them. Very important. 35-minute read. Link is in the description.
  • 1:20 And FreeCodeCamp this week published a course on React optimization. You'll learn key React design patterns to achieve screaming-fast front-ends.
  • 1:29 This course covers memoization, derived states, throttling, debalancing, concurrency, visualization, virtualization, and more.
  • 1:37 It's a two-hour course on YouTube. And did you know you can learn music production on FreeCodeCamp? You can.
  • 1:44 We just published a course on the popular Fruity Loop Studio, FL Studio, digital audio workstation.
  • 1:51 This course will teach you sound design fundamentals, mixing, filters, drum sequencing, bass lines, synth melodies, and even advanced concepts like kick drum ducking.
  • 2:01 You'll play along at home, and by the end of the course, you'll have your own bass house track that you can share with your friends.
  • 2:07 It's a three-hour course on the FreeCodeCamp YouTube channel.
  • 2:10 Speaking of music, this week's song of the week is 2022 song Ditto by Korean pop group New Jeans.
  • 2:18 I like the song because it feels so slow and relaxed, even though the BPM is actually like 130.
  • 2:23 It's really fast tempo, but you don't necessarily feel it.
  • 2:26 It's got this weird kind of dynamic.
  • 2:29 It has really minimalist production.
  • 2:31 It's mainly just AOA drums and vocals, like heavily processed girl group vocals.
  • 2:37 And this is perfect late-night listening.
  • 2:39 And support for this podcast comes from a grant from AlgoMonster.
  • 2:46 AlgoMonster is a platform that teaches data structure and algorithm patterns in a structured sequence so you can approach technical interview questions more systematically.
  • 2:54 Their curriculum covers patterns like sliding window, two-pointers, graph search, and dynamic programming, helping you learn each pattern once and apply it to solve many problems.
  • 3:03 Start a structured interview prep routine at algo.monster.com.
  • 3:08 Support also comes from the 10,338 kind folks who donate to our charity each month.
  • 3:14 Join them and support our mission at donate.freecodecamp.org.
  • 3:18 And you can get your FreeCodeCamp t-shirt and rep the FreeCodeCamp community with pride.
  • 3:23 I'm wearing one right now.
  • 3:24 This shirt is extremely durable.
  • 3:26 I've washed it like 100 plus times.
  • 3:28 I've got like a whole closet full of them.
  • 3:30 And I wear it like five days a week.
  • 3:32 Like every work day, I'm rocking them.
  • 3:34 And they just fit really well.
  • 3:35 And I strongly encourage you to pick one up and rep the community.
  • 3:38 20 bucks shipped anywhere in the U.S.
  • 3:42 If you're outside the U.S., just grab our assets from our assets library and you can screen print it on a shirt yourself.
  • 3:47 But if you want the really high-quality shirt, you've got to come to the stage for that.
  • 3:50 So shop.freecodecamp.org.
  • 3:53 And here is my interview with Mike McQuaid.
  • 3:56 He is a software engineer who previously worked at GitHub and now serves as lead maintainer of Homebrew, a Mac package management tool used by tens of millions of developers.
  • 4:07 He's based in Edinburgh, Scotland, and he's worked remotely as a dev for nearly two decades.
  • 4:12 We talk about what a career in open source really looks like in terms of like resources you have available, what the day-to-day is like, what skills are going to be more important going forward now that we have all these AI code gen tools.
  • 4:26 And he uses them even at his level.
  • 4:29 He finds them to be useful and he talks about how he uses them and then how big open source infrastructure really gets ridden and really gets maintained.
  • 4:37 Mike McQuaid, welcome to the Free Code Camp podcast.
  • 4:40 Yeah, thanks for having me, man.
  • 4:42 Well, congratulations on the release of Homebrew 5.0.
  • 4:46 Millions of developers rely on Homebrew as a package manager.
  • 4:50 And I have to ask, what does it feel like to hit publish on a major release like that and have that immediately go out and be used by so many devs?
  • 5:00 Yeah, I think it's exciting.
  • 5:02 It's a little bit scary.
  • 5:03 Like you hope you've dot your I's and crossed your T's and not broken too many people's things.
  • 5:08 But yeah, I think the main part of, yeah, exciting would be probably the main word.
  • 5:12 Yeah.
  • 5:13 And maybe you can talk a little bit about some of the big improvements to Homebrew.
  • 5:18 We're going to dig into a lot of your worldview, a lot of your approach, how you use LLM tools and don't use them, a lot of your taste.
  • 5:25 But real quick, for people who are not familiar with Homebrew, what does it do?
  • 5:31 So the way I like to describe it to, I guess, less technical folks is it's like a package manager.
  • 5:38 Sorry, it's like an app store, but for open source software, right?
  • 5:41 And if people know what a terminal is, then I would describe it as being, you know, a package manager for that as well, right?
  • 5:47 So if you're a dev, if you're working on software, if you may be used to using NPM or something like that to install your JavaScript or PyPy or PIP to install your Python code or whatever it may be,
  • 6:00 and if you want to install all of the stuff that doesn't come from one of those language-based package managers,
  • 6:06 if you're on a Mac and increasingly numbers of people on a Linux, you're probably going to install that through Homebrew instead.
  • 6:13 Yeah.
  • 6:14 And you have been maintaining this project for many, many years at this point.
  • 6:20 How long?
  • 6:21 16 years.
  • 6:23 I guess now that we're in 2026, I guess it would be, yeah, 17 this year, later this year.
  • 6:29 I mean, it's, you're one of the most veteran open source maintainers I've ever had on the Free Code Camp podcast in 200 plus episodes.
  • 6:37 And you're not just doing this.
  • 6:39 You're also working full time.
  • 6:41 You were working at GitHub for a long time as a dev.
  • 6:43 How do you balance maintaining an open source project on top of full-time work?
  • 6:50 Yeah, it's a weird one because I get asked this a lot.
  • 6:54 And I guess the short answer is I sort of don't really know because I don't feel like I'm doing anything especially different.
  • 7:00 But I guess if people looked at my calendar and how I spend my week,
  • 7:04 I think the main thing is I just don't really do very much stuff that I don't think is important, right?
  • 7:12 That's both on homebrew itself, right?
  • 7:14 There's a lot of people who spend a lot more time on homebrew than I do, probably on a given week.
  • 7:18 But also, like in life, right?
  • 7:22 Like I remember maybe dating myself a little bit when I was in college.
  • 7:26 There was the line about, you know, like work hard, party hard or whatever.
  • 7:29 And I think I still have a little bit of that ethos.
  • 7:33 Not so much the party hard in terms of like, you know, partying in a way that's hard on your body.
  • 7:38 But like when I relax, I want to take that seriously, right?
  • 7:42 Like I don't spend a lot of time doom scrolling or whatever, right?
  • 7:46 Like the things I'm doing in my life, basically everything feels either important or enjoyable or ideally both.
  • 7:53 Yeah.
  • 7:54 Okay.
  • 7:55 So it's more about what you don't do than what you do.
  • 7:58 Like the negative space of, okay, I've got work.
  • 8:01 I've got sleep.
  • 8:02 I've got family.
  • 8:03 Like what else can I fit in here?
  • 8:04 That is actually important.
  • 8:07 And as you said, doom scrolling, which is something I also do not do, is something that you don't have to do.
  • 8:12 People feel compelled to do perhaps because apps want to draw you in and like waste your time and stuff like that.
  • 8:18 Everybody's just trying to get time on site, time in app.
  • 8:20 But you've somehow figured out a way to prioritize around that.
  • 8:26 And just, you have the same 168 hours a week as everybody else, but you figured out how to use that in an optimal way where you can work as a dev and you can maintain a project.
  • 8:37 What advice would you give to somebody who is feeling like not everything they're doing all the time is important or necessary in terms of like restructuring?
  • 8:46 If you didn't know a lot about them other than they were spending like, I don't know, 15, 20 hours a week on stuff that they wouldn't consider particularly important that they could swap out for something that is important.
  • 8:57 How would you recommend the contract?
  • 8:59 Ironically, I think it's like, it's both the, like pushing yourself in both extremes in some ways, right?
  • 9:09 So I actually also play a bunch of computer games, which is maybe surprising, like not huge amounts of my time, but like enough because I find like in 15, 20 minutes of playing a computer game, I can get really relaxed really quickly, particularly if it's some game that I really love and have played a lot of.
  • 9:26 So, and sometimes I feel like your brain needs that stuff, right?
  • 9:31 Like I, I found myself during COVID, like binge reading, like relationship advice for other people and read it just because my brain like needed to just have some sort of like junk food for the brain, right?
  • 9:46 So I find like maybe some of it is like figuring out like, look, we don't, you know, there's a lot of productivity culture out there, right?
  • 9:53 We don't need to be all working 24, seven, three, six, five, right?
  • 9:57 You need to have downtime.
  • 9:58 And actually I think that helps you work better and more effectively.
  • 10:02 And I think figuring out what those things are and what those compliments are, like another thing for me, I remember when my kids were super young, right?
  • 10:10 Like when you've got, I know you've got kids as well, Quincy, like when you've got kids who are like sub a year old, right?
  • 10:17 Like they require a lot of attention to just keep them safe, but not a lot of like intelligence and thought, right?
  • 10:25 So like really fixating on keeping this little creature alive, but at the same time, like you can feel your IQ dropping by the minute.
  • 10:32 Yeah.
  • 10:33 Like that for me, it was a really nice country.
  • 10:36 I remember one time my wife, I finished work and was like doing some stuff with kids or whatever.
  • 10:39 And she was like, are you not tired from work?
  • 10:42 And I'm like, no, because these are exercising exactly the opposite parts of my brain, right?
  • 10:47 Like I've had a lot of like, use the brain very hard, but like not having to concentrate maybe as closely or, you know, think, thinking really hard, but not moving my body to being like, I have to really move my body.
  • 11:01 I have to really concentrate.
  • 11:02 But intellectually, what I'm doing is like, have they got food?
  • 11:06 Have they got nappy that's clean?
  • 11:08 Like, you know, that's, that's it.
  • 11:09 So I think having that sort of approach to your life might be helpful about being like, well, what are your goals?
  • 11:15 Like maybe just picking one of those goals and being like, I'm going to work on this, this many hours a day or week or whatever.
  • 11:23 Right.
  • 11:24 And then outside of that, I'm going to chill really hard.
  • 11:27 I'm going to find a show I really like on Netflix.
  • 11:29 I'm going to watch all of it.
  • 11:30 I'm going to find some game I really love.
  • 11:32 I'm going to hang out with my best friend, whatever it may be.
  • 11:34 And I think that kind of like being on or off is what's really helpful.
  • 11:39 And that's sort of like middle mushy ground of like, I'm sort of working, sort of not sort of relaxing, sort of not like that.
  • 11:47 That is where I feel like the lack of productivity lives.
  • 11:51 And there's kind of phantom productivity, which is illusory.
  • 11:55 It seems like you're being productive because you're responding to some like email just in time as you're getting it or some notification pops up.
  • 12:02 And you're like getting pulled out of your relaxation time into productivity mode where you're probably in a very mediocre way interacting and trying to nail down that task that needs to be done because you just aren't warmed up.
  • 12:16 You don't have the focus or anything like that.
  • 12:17 You don't necessarily have the context.
  • 12:18 You're just trying to get it done so you can have that.
  • 12:21 I'm inbox zero right now.
  • 12:22 You know that vibe.
  • 12:24 But I would imagine you're the kind of person that doesn't have a whole lot of notifications on on their phone.
  • 12:29 Yeah.
  • 12:30 A hundred percent.
  • 12:31 So I don't, when I was, well, I don't have generally, unless I'm on a work trip, like company Slack on my phone.
  • 12:38 I don't have company email on my phone.
  • 12:39 I have calendars just because it's a bit more useful unless, you know, no one's doing me scrolling their own calendar, I would hope.
  • 12:45 I don't have any social media apps on my phone.
  • 12:47 I, yeah.
  • 12:49 So basically my phone, I try to make it as boring as possible.
  • 12:53 Another hack I found is like the screen time feature that's kind of mainly designed for parental controls.
  • 13:00 I have limits on certain apps that I use to like waste my time on websites, like Hacker News.
  • 13:04 Really like Hacker News, but I can spend too much time there.
  • 13:08 And when my time is up, I don't have the passcode.
  • 13:11 My wife has the passcode.
  • 13:12 So I have to ask my wife, can I have more time on Hacker News, please?
  • 13:16 And she would say yes, but like that's humiliating.
  • 13:19 So I don't do it, right?
  • 13:20 Like, and yeah, there's various other little apps you can get that do things like that.
  • 13:24 They just kind of break that like habit forming dopamine boosting thing.
  • 13:29 And as a result, my phone is mainly for little distractions or doing work or like just reading
  • 13:36 a book, right?
  • 13:37 That's my main, almost like if I have 30 minutes to just relax and spend time on my phone, I've
  • 13:43 got post-COVID really into just like reading long form science fiction books again.
  • 13:47 And I love it.
  • 13:48 Yeah.
  • 13:50 I'm in the same boat.
  • 13:51 Like I basically don't have anything on my phone other than like podcast player.
  • 13:55 I've got the YouTube app because I do watch a lot of good YouTube video essays on like,
  • 14:00 you know, information security and stuff like that.
  • 14:02 And also just on history and I'm big into music and stuff like that.
  • 14:06 So I'll watch about like the history of like some musical piece coming together or something
  • 14:10 But, um, yeah, like just like you, you, you're really into power lifting, which we'll talk
  • 14:16 about in a little bit.
  • 14:17 And you're also very accomplished with it.
  • 14:18 Uh, and of course, power lifting Instagram, I think is like the main place that people share
  • 14:23 that sort of content.
  • 14:24 And, uh, my understanding is you'll install Instagram, fresh install.
  • 14:29 You'll sign in, you'll go watch your power lifting related videos, and then you delete
  • 14:35 the app completely after you're done at the end of every session.
  • 14:37 Pretty much like, yeah, if I'm going on and posting stuff, reviewing stuff, that's generally
  • 14:41 how I do it.
  • 14:42 Or I'm, I stay logged in on my desktop computer because it's just, there's something about
  • 14:48 like, well, I'd say desktop, you know, laptop, but like there's something about not being
  • 14:54 on the phone that just makes it like a little bit less addictive.
  • 14:56 And it's just that little like dopamine thing of like, you just pull it out your pocket and
  • 15:00 you're like, give me something, come on, just give me something good.
  • 15:03 Like the, I, I just, I have no self-control with that.
  • 15:06 And I, I will just sit and like all of the kind of anti-doom scrolling stuff.
  • 15:11 Cause like, I, it's not that I think I have more self-control than most of the listeners
  • 15:15 here.
  • 15:16 It's because I know that I don't, it's because I know that I, I am really incapable of using
  • 15:21 my personal, like mental ability in the moment to stop myself wasting hours on this stuff.
  • 15:28 Like, that's why I'm like, I just can't have it.
  • 15:30 Cause like, even, you know, I used to do this with like junk foods where I'm like, I don't
  • 15:34 prohibit myself from having junk food.
  • 15:36 I just try not to have it in my house.
  • 15:37 There's a nice shop I can walk to that's five minutes away that has loads of nice junk food.
  • 15:42 But I, then I'm pitting, like, I want junk food versus I'm lazy and I want to walk to
  • 15:47 So like they sort of cancel each other out.
  • 15:49 And I feel it's the same thing with some of the kind of screen time stuff and phone stuff
  • 15:53 and whatever is, it's just making it easier for yourself.
  • 15:57 Like just being like, I give up, I can't handle it.
  • 16:00 I'm going to just not have this.
  • 16:02 Yeah.
  • 16:03 So essentially just putting natural barriers and, and kind of like inventing mechanisms
  • 16:08 to, to not necessarily forbid you from doing things, but make it inconvenient to do those
  • 16:13 things that the, the type of behaviors that you want to limit essentially, and not cut
  • 16:17 out completely, but limit.
  • 16:19 Yeah.
  • 16:20 It's like, I, I can't remember who I heard kind of came up with this concept originally,
  • 16:24 but it's, there's this kind of almost like psychological concept that like, like now you
  • 16:29 and future, you are almost like two separate people.
  • 16:32 So like one that came up the other day, like we have cheesy Christmas lights in our house
  • 16:37 that are battery powered.
  • 16:38 And they take the same number of batteries.
  • 16:40 And I always have a gift every year where I take all the batteries out.
  • 16:44 And then the first thing I do is I go on Amazon and I order exactly the right number
  • 16:47 Again, I put it in with the packaging and then I forget.
  • 16:50 And then in Christmas time, I take them all out and I'm like, Oh, I have to buy like
  • 16:52 17 batteries.
  • 16:54 And I'm like, Oh, I have them here already.
  • 16:56 You give the gift to yourself.
  • 16:57 Exactly.
  • 16:58 So I feel like some of this stuff around boundaries is the same type of thing where it's like,
  • 17:03 I guess maybe it's, you know, Daniel Kahneman's thinking fast and slow or whatever it may
  • 17:07 be, but it's like short-term me, like when I'm thinking in the scope of like seconds and
  • 17:12 minutes and I just want to be entertained and I'm a bit bored or whatever.
  • 17:15 It's like, I don't make good choices.
  • 17:17 Whereas long-term, what do I want to do in 2026?
  • 17:21 Like planning my life me?
  • 17:22 Like, I feel like that person makes relatively good choices.
  • 17:25 So what I want to try and do is have as many systems and processes and setups to kind of
  • 17:31 nudge like short-term me into the constrained way of thinking about the world that kind of
  • 17:38 Right.
  • 17:39 So like, even like, you know, if I, I mean, you probably can't see, but if I hold up my
  • 17:43 So my home screen, I have nothing.
  • 17:45 I removed everything.
  • 17:47 It's all in the app library.
  • 17:48 And at the bottom, I just have messages to talk to my wife and my friends, music, to
  • 17:52 listen to music, podcasts for obvious reasons and books because I'm allowed to read books.
  • 17:57 And that's like, even that little thing is just like, that's what I've decided.
  • 18:02 Those are my four most important things.
  • 18:04 Right.
  • 18:05 So you want to like, make the stuff you want to do easy and then make the stuff that you
  • 18:09 don't want yourself to do.
  • 18:10 Not maybe impossible, depending on your willpower or just even like harder, right?
  • 18:15 Like if it's, and if it's harder, then quickly you find you will do more of the stuff you
  • 18:20 want to do and less the stuff you don't want to do.
  • 18:22 Wow.
  • 18:24 So that was really cool.
  • 18:27 For anybody who's listening and not watching the video version, I mean, that was literally
  • 18:31 like a perfectly empty iPhone with just the four apps in the dock.
  • 18:37 And that was it.
  • 18:38 Uh, well, I don't think I've ever seen that before.
  • 18:40 I also use a lot of tricks like that, but you, you've taken it to the extreme, which I
  • 18:45 absolutely respect.
  • 18:46 One question I have for you is, so you're working as a dev, you've got this skillset, uh, that
  • 18:50 you've been applying to provide for your family and yourself, uh, for, you know, the past
  • 18:56 couple of decades.
  • 18:57 And at the same time, you could just go home.
  • 19:00 You could relax, you could play more video games, you could spend more time with your
  • 19:03 kids.
  • 19:04 You could do more of everything you're, that you enjoy doing, but you're instead doing
  • 19:10 this, like probably compensated in some way, but like largely, you know, volunteer role
  • 19:18 of helping maintain a major open source project along with a lot of other contributors around
  • 19:23 the world.
  • 19:24 Um, why, why spend your time in this way?
  • 19:27 Yeah.
  • 19:29 I think that's a good question.
  • 19:31 Uh, and again, it's one of those ones where like, I don't think about it much until I'm,
  • 19:37 I'm asked, but I mean, I guess like maybe some of my, my history, right?
  • 19:41 So I got involved, I grew up in Scotland.
  • 19:44 I got involved with tech basically just because I was like, I like computers, right?
  • 19:50 My, the first time my dad brought a computer home, I was just fascinated with this thing.
  • 19:55 Like he found any boring task he could get me to do for him as long as it involved the
  • 20:00 Right.
  • 20:01 And then when it came time to go off to university and all that type of stuff, then I was just
  • 20:05 like, I just want to do computers.
  • 20:07 And at this point, and particularly maybe for some of the younger listeners, this might
  • 20:11 be kind of hard to believe, but at this point, particularly in Scotland, like being a software
  • 20:16 engineer was not a particularly, you know, affluent or prosperous thing.
  • 20:20 Right.
  • 20:21 Like I grew up in an environment where it's like, be a lawyer, be a doctor.
  • 20:24 Those are like real jobs that like pay well and all this type of stuff.
  • 20:28 Right.
  • 20:29 And I sort of rebelled against that.
  • 20:30 Cause I was like, I don't know, man, I just like computers.
  • 20:33 Um, and then, yeah, like, I guess I fell into an industry probably at the lucky inflection
  • 20:41 point time when a lot of these jobs became a lot better compensated and more important.
  • 20:46 And, and the internet was taking off more and all this type of stuff.
  • 20:49 Um, so for me, I guess like that, that's kind of the same reason why I do a lot of it is
  • 20:55 that I just, I just love it.
  • 20:57 Like I, I, I still enjoy doing what I do.
  • 21:01 Like there's a certain amount with homebrew specifically where I'm like, you know, I might
  • 21:06 kind of grumble about certain things sometimes or not want to do this very specific thing
  • 21:10 And I'm like, yeah, but lots of people use this, right?
  • 21:13 Like, and it's a, it's a kind of useful, like contribution that I find anywhere between neutral
  • 21:21 to actively enjoyable and it benefits a bunch of other people.
  • 21:24 Um, so yeah, I guess that's, that's kind of why I do it.
  • 21:28 Um, and even, even the how, right.
  • 21:30 So like I have slightly more kind of blurred lines, right.
  • 21:34 Where I've worked from home exclusively since 2009.
  • 21:38 Uh, so for me, like 16 years, 17 years now.
  • 21:43 So I was doing it before COVID kind of made it cool, I guess, but like, as a part of that,
  • 21:48 like a lot of stuff that, you know, was, I, again, most of that time was for companies
  • 21:54 in different time zones or whatever.
  • 21:56 So as a result, like the whole, like you clock in at nine o'clock, you clock out at 5.
  • 22:01 PM, right.
  • 22:02 Like it's, that's not really been my life or way of working for that.
  • 22:06 So I don't have as strictly regimented, like this is, you know, work time and open source
  • 22:14 time for relaxing and whatever it may be.
  • 22:17 So these lines get like a little bit more blurry on that.
  • 22:21 Um, and I think also partly because I think this stuff kind of cross pollinates a bit
  • 22:27 as well.
  • 22:28 So, um, I think the work I, you know, everywhere I've worked pretty much like a reasonable number
  • 22:36 of my coworkers have used homebrew.
  • 22:37 Right.
  • 22:38 So it's like, well, I'm, I know that work isn't telling me to like release this fix, but
  • 22:44 I know my coworkers are going to need it.
  • 22:46 So, um, that seems worthwhile.
  • 22:48 Right.
  • 22:49 Like, and, uh, and again, maybe there's a little bit of career advice in there and that like
  • 22:53 a lot of the stuff I've done, like I'm a lot of my life and maybe balance or whatever is
  • 22:59 less about doing like, Hey, what does my boss really want me to be doing all of the time
  • 23:05 and more about like, well, you know, it's a balance between what do I want to be doing?
  • 23:09 What's my boss wanting me to be doing?
  • 23:11 What's the company want me to be doing?
  • 23:12 What do I think is best?
  • 23:13 Right.
  • 23:14 And we'll try and find some like blurred version in which everyone is like reasonably happy,
  • 23:20 but like maybe not.
  • 23:22 I used to joke with some much higher achieving coworkers than me at my, uh, at a previous
  • 23:28 company that like they should aim to get worse performance reviews because actually like they
  • 23:34 are, you know, doing exceptionally well, making everyone really happy.
  • 23:38 But in terms of like what that actually means in terms of their take home pay or compensation
  • 23:43 or impact on users or whatever, like they're like working 20% more and they're having 1%
  • 23:50 Whereas I guess I'm maybe just like a deeply lazy person or something, but like my thing
  • 23:57 is always like, what's the point at which me putting in another hour on this task delivers
  • 24:02 dramatically diminishing returns.
  • 24:03 And I just try and just not do that.
  • 24:05 Like all over my life.
  • 24:07 And that's again, maybe how and why I've found more space that other people might find difficult.
  • 24:14 So you've cultivated this instinct of, okay, this is declining marginal value, essentially
  • 24:18 like, like the average, you know, minute put into this task, the, the output is dropping
  • 24:24 and you, you developed kind of an intuition for when you should just log off essentially.
  • 24:30 Um, it sounds like that is a really cool, uh, skill that you've developed and, uh, your,
  • 24:36 your advice aimed to get worse performance reviews.
  • 24:39 Uh, because obviously the company just wants you to stamp out as many widgets as you can
  • 24:45 Right.
  • 24:46 Uh, that's, that's how managers are evaluated generally.
  • 24:49 What's the productivity of your team?
  • 24:50 How is that measured?
  • 24:51 All that stuff.
  • 24:52 And what you're saying is like, like there comes a point where you really do need to just,
  • 24:57 um, go do something else.
  • 24:59 And it's, it's not necessarily worth your time contributing even more to this manager's
  • 25:05 objective.
  • 25:06 Yeah.
  • 25:07 I, I mean, I think that's sometimes the case.
  • 25:09 And also just sometimes like, you know, the number of hours you put into something, like
  • 25:14 you can distribute them differently and get a similar result.
  • 25:17 Like something that sprung to mind was like, I wrote a book about Git a very long time ago.
  • 25:23 Um, and I was encouraged to almost be like, as a first time author, like, you know, do a
  • 25:29 little bit every day, slow and steady.
  • 25:30 And I would have two week check-ins with my publisher.
  • 25:33 But what I would do is the check-in was on a Monday.
  • 25:36 On Saturday, I would just sit at a keyboard and just write until I hit the page count.
  • 25:40 I wouldn't even read it back.
  • 25:41 I just write and write and write.
  • 25:43 And then I hit like, you know, I was trying to do 20 pages or whatever.
  • 25:45 I hit the end of page 20 and I would just stop and log off and be like, right, done.
  • 25:49 And then on Sunday, I then come with like fresh eyes and I'm like, I don't have to write
  • 25:55 I've done the writing.
  • 25:56 And then I would just read through it all and be like, this is trash, this is trash,
  • 25:59 this is typo, move this around, blah, blah, blah, whatever.
  • 26:01 And again, like that approach, I think if I, it would have been perfectly possible to do
  • 26:07 it in one sitting, I think, but it would take way longer and the output would have been worse.
  • 26:12 But instead you almost like carve the task in half and you rely on the fact that some things
  • 26:18 just do better for you coming and looking at them the next day.
  • 26:21 Right.
  • 26:22 Like, and, and that, like, it's, yeah, those types of like little weird approaches and ways
  • 26:27 of looking at things.
  • 26:28 And I think that kind of comes on with like, say like at work, right.
  • 26:33 Like where, when I was at GitHub, there was, people would talk about like, oh, I, I want
  • 26:37 to see, you know, my boss or the manager or CEO, I want to see a shitty first draft of
  • 26:42 Right.
  • 26:43 My version of shitty first draft would be like, I do no research.
  • 26:47 I just like type, I don't even read it back.
  • 26:49 And then I would send it to my manager.
  • 26:50 Like, and sometimes that would be perfect because she would say like, okay, like this is interesting,
  • 26:56 but like this full typo is like, you know, clean this up and we'll send it on to someone.
  • 27:00 And sometimes she, that would be enough for her to read it and be like, yeah, we're not
  • 27:05 Okay, cool.
  • 27:06 And if that, and if that was the case, right.
  • 27:09 If I put another hour of time in, if I, if I spend an hour instead of five minutes, then
  • 27:14 it's like that 55 minutes, which is completely wasted.
  • 27:16 But to go back to what you said before, that was work.
  • 27:18 I was working.
  • 27:19 I could have been working for another 55 minutes.
  • 27:21 I could have stayed later.
  • 27:22 I could have not done something else, whatever it may have been, but that would have just been
  • 27:26 like lost to the ether.
  • 27:27 Like, and it's, it's hard because I also feel like maybe it's like a, without getting
  • 27:34 too philosophical, like an education system stuff.
  • 27:36 Where we, we grew up and often like, if you're like, if you do well in school or high school
  • 27:42 or college or whatever, it's like, do all the things to your maximum ability, try and get
  • 27:46 Like, and then if you do that, then you will be like happy and successful in life.
  • 27:52 And it's like, sometimes for some people, sure.
  • 27:56 Like, but for me, like I was, you know, in school, my teachers hated that attitude of
  • 28:02 like, I'm going to do the minimum required effort to get an A right.
  • 28:06 Like they really did not like it, but like, actually in the workplace, like your boss might
  • 28:12 not say that, but like, sometimes like, how can I get to a good result as quickly as possible
  • 28:17 in many contexts, that's the most valuable thing you could possibly do.
  • 28:20 Right.
  • 28:21 And actually like delivering something like 1.5 times as good in twice as much time is
  • 28:27 not what anyone wants.
  • 28:30 But they might not ever tell you that that's, it's a hard, and your manager may not actually
  • 28:34 consciously realize that like, Hey, you just saved an hour of time because, uh, like you
  • 28:40 gave them what they wanted and they were able to evaluate it and make their decision that
  • 28:45 you didn't have any power in any way, uh, as to whether this is a go, no go situation.
  • 28:49 And then you went and spent that extra hour doing other work that is getting things done
  • 28:54 that the company wants to get done.
  • 28:56 Uh, so you kind of like help them manage you in a way.
  • 29:00 Yeah.
  • 29:01 And, and the, this is one of the things that like, not to get too organizational philosophical,
  • 29:08 you have a podcast where you just talk about organizational behavior, open source
  • 29:13 maintenance philosophy of being a manager, all this stuff, which is really cool because you
  • 29:16 were an IC for like so long and individual contributor.
  • 29:20 And then you got into management like much later in your career.
  • 29:23 So you have a lot of context from both sides.
  • 29:26 But, uh, one of the things that I think is really interesting is if you just give people
  • 29:32 a lot of trust and you give them a whole lot of slack, they can prioritize things for
  • 29:35 you and they can put the right amount of time into things for you.
  • 29:39 Like our staff at free code campus is 29 devs, uh, many of whom have teaching backgrounds
  • 29:44 And essentially I just like tell them like, go do what you think is the most important,
  • 29:48 get other people to help you with it.
  • 29:49 If you think it's so important and then let's just see how that goes and just check in and
  • 29:55 tell me what you're doing.
  • 29:56 And then I'll kind of give you a feel for like whether I think that is sufficiently important
  • 30:00 to do right now.
  • 30:01 Cause in a perfect world you do everything, but there's that time trade off.
  • 30:05 Everything has a marginal cost associated with it.
  • 30:08 And so by pushing the decision making down as close to the person actually using their
  • 30:14 hands to execute that work, you are making the organization way more, uh, efficient because
  • 30:19 you're not abstracting that up and giving, you know, those decisions to somebody who's several
  • 30:24 layers of abstraction removed from the work being done.
  • 30:28 Yeah, I, I definitely think like there's so much wisdom in what you were describing, right?
  • 30:32 Like high trust cultures are so helpful.
  • 30:36 Like everyone likes being in them, uh, but they are sometimes hard to build.
  • 30:41 And also sometimes part of like building that culture, at least in my case is like doing
  • 30:47 the work on yourself, right?
  • 30:48 You might not naturally be someone who's very good at trusting or delegating or whatever.
  • 30:53 And that's also a skill that you can work on, right?
  • 30:57 That requires you to admit like, Hey, maybe I'm not as great about this thing as I thought.
  • 31:03 Yeah, absolutely.
  • 31:04 Well, I want to talk about that and we'll talk about management a little bit more, but I'm
  • 31:09 more interested in talking about being managed and the day-to-day experience, uh, cause you
  • 31:14 have worked at well-funded tech companies like GitHub, for example.
  • 31:17 Uh, and then you've worked at scrappy open source projects where you're trying to do more
  • 31:23 with less essentially, or, or even get by with like fumes essentially.
  • 31:27 Uh, what can you compare and contrast the, the experience, uh, your day job as a dev working
  • 31:34 at a well-funded tech company or even like a moderately well-funded startup versus open source?
  • 31:40 So, I mean, they each have their pros and cons, I think is the interesting thing.
  • 31:44 Cause like, if, you know, if, if I never had to work again, like financially, like I would
  • 31:51 likely still do open source forever, but I don't know what types of, uh, professional
  • 31:56 work I would do or not do forever.
  • 31:58 And some of the reasons for that are, you know, like often when we're building open source,
  • 32:04 we're building something in a problem space that we as an individual deeply care about
  • 32:08 to the point that we don't have to be given any financial incentive on top of that.
  • 32:12 Whereas when we're working in a job, right?
  • 32:15 Like a job is a job, right?
  • 32:17 Even if you love your job, like for most people, if you were like, will you keep doing this indefinitely
  • 32:21 They would say, ah, no, I have, I have things I would rather do for free.
  • 32:25 Thank you very much.
  • 32:27 But also again, like pros and cons of that, like jobs and places like GitHub, like I joined,
  • 32:32 uh, in like 2013 when they had 200 and something people I left in 2023 when they had like just
  • 32:40 under 4,000 and, you know, you see a lot of change and structure and growth and process
  • 32:47 and bureaucracy and product managers and project managers and technical project managers and
  • 32:52 hierarchy and all this type of stuff, which, you know, sometimes at the time as slightly rebellious,
  • 32:58 icy type, open source type, I'm like, ah, this is all unnecessary.
  • 33:01 And then you realize like, actually, it's really helpful and it's really nice.
  • 33:04 And sometimes it's just much quicker to be able to say, hey, I'm your boss.
  • 33:12 We've had a good chat about this and now you have to do it.
  • 33:15 Whereas in, in open source land and even, I guess the difference between being a manager
  • 33:21 and being an individual contributor, right, you can't do that.
  • 33:24 Like in some ways, manager, individual contributor, like open source contributor or open source
  • 33:31 leader or whatever, like in some ways they're kind of a spectrum because when you're an IC,
  • 33:35 like there's someone in the middle, like when I was a principal engineer at GitHub, right?
  • 33:38 Like I was, you know, important fancy principal engineer, blah, blah, blah.
  • 33:42 Like I've been there a while, but I don't have any direct reports who I get to tell what
  • 33:49 they work on, right?
  • 33:50 I don't have any budget.
  • 33:51 I don't have a team.
  • 33:52 So I have to just convince people that things are a good idea.
  • 33:56 And that's much the same in open source, right?
  • 33:59 If you want to be an open source leader and you want to get volunteers who are being either
  • 34:04 unpaid or paid, I guess, in homebrew's case, like incredibly below market rate for like
  • 34:11 what, what work they might be doing, you have to convince them like, Hey, this is a good
  • 34:17 Let, let me like almost like plant the flag and, you know, lead the rallying call for like
  • 34:22 why we should care about this thing and why you should come and get involved with me.
  • 34:26 Right.
  • 34:27 Um, on this project or whatever.
  • 34:29 And yeah, that's, that's tricky.
  • 34:31 And it is harder to do that than it is to just be like, I'm your boss.
  • 34:35 You have to write.
  • 34:36 Yeah.
  • 34:37 But at the same time, like the, I'm your boss.
  • 34:39 You have to, that high trust environment you described before, like there's only so many
  • 34:44 times you can do that before you kill that, but people, people want to feel particularly
  • 34:49 as you progress in your career, particularly when you're doing stuff, not for money and
  • 34:52 in your spare time, you want to feel like you have like the ability to decide what you
  • 34:57 work on and how you work on it and what the output is.
  • 35:00 And you don't want someone to just be like, I don't know, like, I guess we've both got
  • 35:04 guitars in the background, right?
  • 35:05 I'm a bass player, right?
  • 35:07 And the worst, uh, microaggression a guitar player could do to a bass player.
  • 35:11 It's just being like, yeah, man, I want you to play like, like this.
  • 35:14 And then just like play plucking on the bottom string, exactly what they want you to play
  • 35:18 as if it being like, ideally we would just clone me, the guitar player and give me a
  • 35:24 bass and I would do it.
  • 35:25 But unfortunately we have you here.
  • 35:26 So I have to tell you what I would do instead of me just doing it.
  • 35:31 And, and sometimes in the workplace, it could feel the same way.
  • 35:34 Like if someone is just being like, I would ideally do everything myself, but I can't.
  • 35:39 So you have to do it my way.
  • 35:40 That doesn't feel nearly as good as someone who's like, Hey, I think you're better at this
  • 35:45 Like, here's a problem.
  • 35:47 Do we agree?
  • 35:48 This is a problem.
  • 35:49 Great.
  • 35:50 You go off and figure out how to solve that problem because like, you're going to figure
  • 35:53 this out better than I will.
  • 35:54 Right.
  • 35:55 Like that feels great to be on both sides of that.
  • 35:57 Yeah.
  • 35:58 So be like Slash.
  • 35:59 Don't be like Billy Corgan who insisted on recording all the guitar and bass parts himself
  • 36:03 and didn't pass his musicians on the other musicians on the band to record good takes.
  • 36:09 Yeah.
  • 36:10 And not pulling rank.
  • 36:14 Very important.
  • 36:15 Lesson for that.
  • 36:16 You can only pull rank so many times before people just start talking behind your back,
  • 36:20 making fun of you for being some guy with the stick of their butt, you know, like who doesn't
  • 36:26 necessarily have the merit who was just given the power over you.
  • 36:29 When you're in an open source community where, as you said, like everybody's doing this mostly
  • 36:36 because they care about the mission and things like that.
  • 36:38 There is that very fragile kind of like motivational purpose, like the sense of purpose that people
  • 36:44 And you don't want to disrupt that.
  • 36:46 And I want to talk a little bit about how homebrew is administered.
  • 36:50 I know that you've been elected repeatedly as homebrew's project leader by the community.
  • 36:56 And there is infrastructure that like essentially gives you power.
  • 37:00 And that power could be given to somebody else or it could be taken away from you if people disagree
  • 37:04 with what you're doing.
  • 37:06 What is it like running a major open source project day to day?
  • 37:10 Yeah.
  • 37:11 So, I mean, I think the day to day side is, again, much like, you know, any good or healthy
  • 37:18 team, like there's not a lot of kind of intervention required, right?
  • 37:24 Like everyone's just like buzzing away doing their own things.
  • 37:27 But I think the kind of tricky part of the leadership side is the, I guess, you know, dealing with
  • 37:36 crises, right?
  • 37:37 Deciding how and where and what needs to be done.
  • 37:40 And sometimes like being the person to kind of resolve some gridlock or push through maybe
  • 37:47 a slightly unpopular decision, right?
  • 37:49 So, it's funny because if you read Hacker News, which I do sometimes, when Homebrew comes
  • 37:58 up, like there's a lot of people on Hacker News that don't like me specifically and some
  • 38:02 of the stuff I've done with like leadership and whatever around Homebrew because some of
  • 38:06 the stuff I've done has been maybe forcing through some of the most controversial changes.
  • 38:10 But that's not because I unilaterally was the only person who thought that should be done.
  • 38:15 It's because I felt able to do that and to lead the charge.
  • 38:20 Yeah, you have to be the face of the changes and bear in the front.
  • 38:23 Yeah, for sure.
  • 38:24 And also, sometimes it's like, you know, when you don't know how the sausage is necessarily
  • 38:29 made, it's like there's things where, sure, would it be nice if Homebrew could do this
  • 38:36 feature or support this workflow or whatever in perpetuity?
  • 38:40 Like, yeah, sure.
  • 38:41 But like, we're a bunch of volunteers scattered around the world.
  • 38:44 We're not really paid.
  • 38:46 Like, so with that in mind, like we have to, it comes, I guess, back almost philosophically
  • 38:52 to what we were saying near the beginning, right?
  • 38:53 It's saying no to things and being like, well, what can we do and what can we not do?
  • 38:59 And I think one of the things, it's a bit more questionable now, but I liked with being
  • 39:06 in the Apple ecosystem, right?
  • 39:08 Like, ironically, the first Mac I bought was six months before I became a Homebrew maintainer
  • 39:14 and, you know, have worked on it ever since, right?
  • 39:18 But something that always influenced me about Apple's approach to software development, maybe
  • 39:22 a little bit more back then, is it's like their goal was not to give you all of the functionality
  • 39:27 that every other alternative would provide.
  • 39:29 Their goal was to be like, the functionality we provide will work well.
  • 39:34 It's not about just like ticking a box and being like, you can share, but it's a bit janky
  • 39:39 and it's a bit buggy.
  • 39:40 It's going to fail 15% of the time.
  • 39:42 As I say, unfortunately, some of this is maybe crept into the Apple ecosystem now, but it
  • 39:47 was about like, what can you actually do that's going to deliver a good experience for the vast
  • 39:52 majority of people, the vast majority of the time, right?
  • 39:55 And some of the controversial stuff that has been removed or changed to one of our Homebrew
  • 40:00 was because we could not deliver a great experience to most people most of the time.
  • 40:05 And if you're one of the kind of, you know, power user types, then that can be very frustrating
  • 40:10 because essentially we're taking a very powerful tool and we're making it less powerful because
  • 40:14 some people can't file issues correctly or whatever it may be, right?
  • 40:20 But like, that is the way the world is, right?
  • 40:24 And the problem is, and this is maybe another philosophical thing, but the problem is, is
  • 40:30 that the people, you have to have an open source.
  • 40:33 You have to let the people who are bearing the brunt of the pain of these decisions be the
  • 40:38 ones who make the decisions, right?
  • 40:39 Like there's been a lot of talk about like community involvement and users in open source
  • 40:43 and in Homebrew among all open source projects, pretty much like we do listen to users and we
  • 40:49 do take feedback or whatever, but we're not, it's not a democracy, right?
  • 40:53 Like we are the ones doing the work.
  • 40:55 If we, the maintainers stop doing the work, the project no longer exists, right?
  • 40:59 So as a result, we have to have something that allows us to work sustainably and indefinitely
  • 41:05 on the project.
  • 41:06 And if that means that we do something in a direction that you don't like anymore, then
  • 41:12 Mac ports is another package manager for Mac OS.
  • 41:14 And people, when I say that, they think I may be being like, you know, telling them to piss
  • 41:20 off or whatever, but it's like genuinely, I'm like genuinely this other tool may be a better
  • 41:24 fit for you now.
  • 41:25 And this Homebrew maybe was the best tool.
  • 41:27 And then maybe Homebrew is not the best tool for you anymore.
  • 41:30 And that for me is not, it's not a sad or an emotional thing.
  • 41:35 If someone decides another tool is better for them, right?
  • 41:38 That's a good thing.
  • 41:39 And in a weird way, I probably thought maybe long before today, right?
  • 41:46 Like at some point, Homebrew will not be the best tool for anyone anymore.
  • 41:51 And people will just stop working on it because everyone's moved to something else.
  • 41:55 And to me, that's not sad.
  • 41:57 That's just how technology evolves and computers work and whatever.
  • 42:01 Right.
  • 42:02 And every individual that kind of makes that move, I think is like part of that transition
  • 42:07 in that process.
  • 42:08 And we just need to be like, understand how that is.
  • 42:12 And it's a very different proposition to when, if someone is a customer of a company and
  • 42:18 if all the customers go away, the company no longer exists and no one gets paid and it
  • 42:21 gets shut down and whatever, like Homebrew, Homebrew's code will always be there forever.
  • 42:25 Right.
  • 42:26 Like it would be on the internet and our users are not customers.
  • 42:29 Our users are people who use the software and maybe they contribute, maybe they maintain
  • 42:34 it for however amount of time, but like it's, it's very different.
  • 42:38 It's more like a, you know, a co-op or a free food stall than it is a business.
  • 42:44 Yeah.
  • 42:45 And free code camp is similar in the sense that, uh, regardless of what happens, like
  • 42:49 a free code camp ever just ceases development.
  • 42:51 Hey, it's open source fork it and you can run with it.
  • 42:54 Um, and I think it's important that there's that release valve, uh, Apple's philosophy of
  • 43:01 just doing a few things, but doing them really well.
  • 43:03 And here's the functionality here are the different API calls you can use in Xcode and
  • 43:07 But like, these will all work pretty reliably.
  • 43:10 Uh, I, I, that I'm not like a huge Apple fanboy like you.
  • 43:14 I switched to Apple from like Linux cause I was working at a shop, uh, that, uh, when I
  • 43:19 say shop, like, like it was a rail shop.
  • 43:21 We were using Ruby on rails and they said, Hey, everybody works on Mac.
  • 43:25 It'd be a lot simpler if you're on Mac instead of, you know, Debbie and I can't remember which
  • 43:29 distribution I was on at the time.
  • 43:31 Uh, and, and that's how I got into it.
  • 43:33 And, and then as I used it more, I did come to respect a lot of the opinionated decisions,
  • 43:38 you know, the convention over configuration essentially of like, here's how we're doing
  • 43:43 things.
  • 43:44 If you don't like it, there are ways to like go and do your own thing, but like, it's not
  • 43:48 And it sounds like that is part of your philosophy as well, at least as how you steward the open
  • 43:55 One of the things you've mentioned that I thought was really interesting in the past is if somebody
  • 44:01 opens like a feature request or an issue and you're not going to do it, you don't give
  • 44:05 You just immediately kind of shut that and you're like, Hey, that's not what we're going
  • 44:09 Uh, is it hard to just constantly put down people's feature ideas and people's bugs?
  • 44:15 Yeah, it is in some ways.
  • 44:18 Um, I think that, I mean, you get, you get a thick skin off to doing it for a while.
  • 44:24 Cause like most people accept that, right?
  • 44:26 Like, and I just, there's a lot of things in life and in our industry.
  • 44:30 And whatever, where I think you make the choice between short-term or long-term kind
  • 44:38 Right.
  • 44:39 Like, and I've always been in lots of areas of life.
  • 44:43 Like I favor the kind of like short-term pain, long-term gain sort of thing.
  • 44:46 Again, back to the metaphor with kids, right?
  • 44:49 The, it's the times you catch yourself saying, well, only this once.
  • 44:53 And you're like, yeah, that's, that's not going to be a good idea.
  • 44:57 Cause my kids are not going to accept that this is a thing that happens once.
  • 45:01 They're going to want to do this again, again, again, again.
  • 45:03 Right.
  • 45:04 So like, maybe this makes my life easier right now to do this, but I'm again, current Mike
  • 45:09 and future Mike, like I'm, I'm like taking out like debt for future Mike and current Mike
  • 45:18 is benefiting that.
  • 45:19 So let's not do that.
  • 45:20 And I think people understand when you do that with their issues and stuff as well.
  • 45:25 Because, you know, I'm not going to name any names, but there's plenty of projects out there
  • 45:29 that have a hundred thousand open issues.
  • 45:30 And realistically, the vast majority of them are never going to get done ever.
  • 45:35 Right.
  • 45:36 And, but yet on a bunch of them, if someone went and closed it and said, we're not going
  • 45:40 to do this, then a bunch of people will be like, ah, but it's like, but like literally
  • 45:44 the natural state right now, again, maybe too much philosophy in me, but like the natural
  • 45:50 state is this thing is not do, is not done.
  • 45:53 You are proposing thing be done.
  • 45:56 And the current situation is it's not being done.
  • 46:00 So in the absence of someone doing it, it will not be done forever.
  • 46:05 And I think in a homebrew, but because again, we, we get a reasonable sense of like, sometimes
  • 46:12 when issues come in, whether it's like, okay, anyone could fix this pretty easily.
  • 46:17 Right.
  • 46:18 Or only someone a little bit more seasoned could fix this.
  • 46:21 Or like in sometimes cases in homebrew, there's some probably bits that it's like, okay, probably
  • 46:25 only two or three people have enough context or understanding to like fix this.
  • 46:28 And if something comes in that affects a tiny number of people that only two or three people
  • 46:32 can fix and those people are not interested in doing so, then it's like, well, let's not pretend.
  • 46:39 Right.
  • 46:40 Let's not lie to ourselves and be like, yeah, we're going to do your thing when we're not
  • 46:44 Right.
  • 46:45 And that actually, I think works reasonably well.
  • 46:48 And like, in real life in some ways as well.
  • 46:52 Like in, you know, if we've got friends who are treating us badly or, or even just like,
  • 46:59 you know, I remember in the early days of Twitter, I had a good friend who I would happily spend
  • 47:04 hours chatting with in the pub.
  • 47:06 And his Twitter, I followed him on Twitter and then I unfollowed him on Twitter.
  • 47:09 And he was like, oh, why did you unfollow me?
  • 47:11 And I'm like, cause you're not very interesting on Twitter.
  • 47:14 Like I will go to you and sit with you in the pub for two hours and listen to you talk about
  • 47:19 Cause you're fascinating.
  • 47:20 But on Twitter, like that it's not helping either of us like me following you on Twitter.
  • 47:25 And some people would look at that and be like, you know, you're excessively blunt or whatever
  • 47:30 it is, various other unkind adjectives.
  • 47:32 But, um, I guess I've just, you know, maybe it's my life, but I I've reached the age now
  • 47:38 where most people around me kind of accept that and actually value and appreciate that.
  • 47:42 Cause the nice thing of knowing someone like me is if I say like, you did a really good
  • 47:47 job on that.
  • 47:48 I'm not saying that to make you feel better.
  • 47:50 I'm saying that cause I actually think it right.
  • 47:52 Like, so people do tend to appreciate it when they, they learn that you're someone who
  • 47:58 is not just going to blow smoke up their arse and pretend that everything's going to be
  • 48:02 Um, but yeah, but it does sometimes take an adjustment and that's why, again, you know,
  • 48:07 if you look on Hacker News, like people will pick out like individual comments I made and
  • 48:11 they're like, that was very unkind or Mike's a dick or whatever it may be.
  • 48:14 And it's like, yeah, but I made 10,000 of these last year.
  • 48:18 Like, of course you will be able to find a bunch of places in which my communication was
  • 48:23 Right.
  • 48:24 But we're not talking like Linus Torvald ripping into a contributor or anything like that.
  • 48:28 We're just talking about you bluntly saying, sorry, we're not going to do that.
  • 48:31 Yeah.
  • 48:32 But I mean, even, even folks like Linus Torvald's right.
  • 48:35 Like, I think when, when you've been doing this for a while, you definitely, I wouldn't
  • 48:40 criticize how he runs his project because like, I know that it's hard.
  • 48:46 And I think it's not just that it's hard, but it's like, it's like, when you're an open
  • 48:52 source maintainer, it's like, okay, imagine you're a manager in a company, but every performance
  • 48:56 review you do, you have to do in a stadium with a hundred thousand people watching you.
  • 49:02 It's like, when are you not going to say the wrong thing sometimes that people aren't going
  • 49:07 to like, right?
  • 49:08 Or like, look at like, in some ways, like reality TV, right?
  • 49:11 Like we all watch reality TV and we're like, oh, well, no, maybe we don't.
  • 49:15 You watch this drug from reality TV.
  • 49:16 But like some of us watch reality TV sometimes.
  • 49:19 And it's like, you look at people and you're like, oh, they're so terrible or whatever.
  • 49:22 And it's like, yeah.
  • 49:23 Like, you know, they're just a person.
  • 49:24 They're just a horrible human being.
  • 49:25 They combed through like hundreds of hours of footage to find that moment where that person
  • 49:29 was in, you know, a moment of weakness, right?
  • 49:33 And yeah, you know, to credit to Linus Torvald, whom I have an incredible amount of respect
  • 49:38 for him, Torvald, he has sought anger management and he's acknowledged that he should not be behaving
  • 49:45 this way, but it's not like he's going to completely mellow out.
  • 49:48 Exactly.
  • 49:49 At the point, like there's a saying about kids will say, you're mean, but what the
  • 49:54 really saying is you mean what you say.
  • 49:56 Like when they talk to the parents, right?
  • 49:58 And I think that's like, it's kind of like a parental philosophy.
  • 50:02 Like, oh, if I entertain the notion that soon, you know, homebrew is going to have unicorns
  • 50:07 and stuff like that, uh, leprechauns and stuff like that.
  • 50:11 Like that, that's, that's ridiculous.
  • 50:13 Like, like we're never going to do this and I'm just going to nip this in the bud, so
  • 50:17 to speak, uh, before people's expectations start to get out of whack.
  • 50:21 Uh, that's kind of like how you, how you shut those down.
  • 50:24 And also like, I try and like, I guess much like the, the parenting example, right?
  • 50:28 Like the other thing I try and do is be like, you know, I'm not always right.
  • 50:33 And I'm willing to change my mind.
  • 50:34 And, and even in times when I'm not willing to change my mind, if someone's like, Hey man,
  • 50:38 like sure you closed the issue, but you were a bit mean about it.
  • 50:41 Then I try and make sure I'm like, I'm sorry, but like, it's not, it's, it's easy to say
  • 50:47 And again, you know, maybe kids, family, whatever, like advice is like a willingness to kind of
  • 50:54 admit when you're wrong and say, sorry.
  • 50:55 But the problem is again, the, like the performance review in the stadium analogy, like often it's
  • 51:00 the people who are most annoyed with me, we're not even part of that conversation.
  • 51:04 Like they're, and I, I don't feel like I owe them an apology based on something I said to
  • 51:10 someone else who isn't upset by it.
  • 51:14 Like that's, I don't know why it's, but again, it's kind of weird.
  • 51:18 Cause like we, we just don't, I don't think our brains as humans are very good at processing
  • 51:24 how to do this stuff.
  • 51:26 So I think like I met with someone who's, you know, very involved with a bunch of open
  • 51:31 source maintainers and she said like, yeah, I, I think it, you probably just all get a
  • 51:37 very thick skin and that makes you a different sort of person.
  • 51:41 And I, I think that's true.
  • 51:42 Right.
  • 51:43 Like I, I have to like remind people at work who criticize my work or whatever and are worried
  • 51:49 that I'm going to get really upset.
  • 51:50 I'm like, look, like whatever you, even if you tried to say the most horrible thing you
  • 51:55 can imagine, like people have probably said worse in my inbox over the years.
  • 51:59 So don't, don't worry about it.
  • 52:01 Right.
  • 52:02 I can tell the difference between it coming from a good place and a bad place.
  • 52:05 And again, maybe that's part of it as well.
  • 52:07 Like another thing you, you, you learn in open source pretty quickly, right.
  • 52:11 Is if someone is, you know, like now that we've got code of conducts and all that stuff,
  • 52:16 if someone's indulging in bad behavior in really any, again, be it the workplace, be it
  • 52:21 open source, be it a friend.
  • 52:22 If you can just say to them relatively calm and collected, like, Hey, that's not cool.
  • 52:28 Like you've upset my feelings or you're not doing that or whatever.
  • 52:31 Like for me, there's that pivotal moment where even if they give you the worst apology
  • 52:36 ever, cause they've never learned how to apologize properly where they're like, I'm sorry that
  • 52:41 your feelings are hurt because blah, blah, blah.
  • 52:43 Like if, if you are like, that seems to be actually coming from a genuine place, then you
  • 52:49 Right.
  • 52:50 But if that person, when you point out like, Hey, not that great, like their response is
  • 52:55 to double down and be like, fuck you.
  • 52:57 Then it might be like, it's just never worth putting a lot of energy into that because it
  • 53:03 never, it never works.
  • 53:05 You're never going to, as, as much as I have tried and will probably still continue to try,
  • 53:09 like you can't shout at people on the internet to a point where the two of you will just
  • 53:15 all get along, right?
  • 53:16 Like you can't reach everybody.
  • 53:17 I mean, some people are just, they, they need something else in their life to, to happen,
  • 53:22 to be a catalyst for change.
  • 53:23 And it's not going to be you talking to them.
  • 53:26 You're just, you're just in the way, right?
  • 53:29 You're collateral damage as they storm through their day.
  • 53:32 And that's something else I always keep in mind.
  • 53:35 Like the person I'm talking to on the other side of this comment or this email or this
  • 53:40 GitHub comment, you know, like this is a human being.
  • 53:43 They're just trying to make it through their day.
  • 53:44 Who knows what kind of horrible stuff has already happened to them today?
  • 53:48 You know, like, cool, whatever.
  • 53:51 But like, I don't have to interact with them any further.
  • 53:53 I'm just going to politely disengage or block them if I have the means to do that so
  • 53:58 that they don't do this to other people.
  • 53:59 And we're, we're going to move on and hopefully, you know, they're going to, uh, find
  • 54:05 serenity and, and find the impetus to change and not be a dick.
  • 54:10 But, but that's the thing.
  • 54:12 It's, it's, it's hard, right?
  • 54:13 Like it's, it's hard to do that.
  • 54:15 And it's hard to get like, I, I, my partner and a bunch of family members work in healthcare,
  • 54:19 right?
  • 54:20 Like, and generally people who work in healthcare are really good at that because like, why
  • 54:25 are they doing what they're doing?
  • 54:26 Like most of the time it's because they want to help people.
  • 54:28 Why am I doing what I do?
  • 54:29 Right.
  • 54:30 Like, so at the end of the day, like if, if I could somehow do homebrew in a way that
  • 54:34 involved me never talking to another human and just talking to the computers forever, I'd
  • 54:38 Like that's, that's, that sounds way better to me.
  • 54:41 That's not how the world works though.
  • 54:42 You do actually have to talk to other humans.
  • 54:45 You do.
  • 54:46 You do.
  • 54:47 Um, but, but that's the thing.
  • 54:48 Like, so I'd be the first to say like, you know, my, my people skills on this stuff and
  • 54:52 particularly that skill you mentioned right there.
  • 54:54 And I do think it's a skill that you can get better at, of being able to be in that situation
  • 54:58 where someone is, you know, on the internet screaming in your face and think to yourself
  • 55:02 like, wow, they're having a bad day, right?
  • 55:04 Like they're, yeah.
  • 55:06 Like what's happening in their life right now that is making them feel so intensely about
  • 55:11 Right.
  • 55:12 Like, and I think that's a valuable thing when you can do that.
  • 55:16 And I guess maybe pivoting back to work stuff, like, again, like that's an incredibly valuable
  • 55:21 thing to be able to do at work.
  • 55:22 And I think the more senior you become, like if, you know, the company I'm in right now,
  • 55:26 I'm like the CTPO.
  • 55:27 So I'm like the most senior technical person in the company.
  • 55:29 Right.
  • 55:30 Like, and to me, that means part of what that pay and title, whatever comes with is it's
  • 55:35 like, I need to take a lot more stuff on the chin than the, the person who just graduated
  • 55:40 And they're just, you know, new into the industry.
  • 55:42 Like as you rise through the ranks and you, you get that stuff, it's your job to like
  • 55:47 figure out how to be able to like emotionally regulate yourself, how to be able to be sympathetic
  • 55:52 and empathetic to the people you work with and your customers and your coworkers, something
  • 55:57 Right.
  • 55:58 And that's, I think like part of what it is, but the beautiful thing about that, right.
  • 56:02 Is if, if you get better than that, you're probably going to also be a better, like, like husband,
  • 56:07 wife, dad, mom, like friend.
  • 56:12 Like, yeah, it's, it's, it's a skill that works in all directions.
  • 56:15 Right.
  • 56:16 And it's so useful.
  • 56:17 Like the other, like I drive really slowly, especially when I have my kids in my car, like
  • 56:21 I'll drive like five minutes, five miles per hour below the speed limit.
  • 56:26 And in Texas, that's like, that is not cool.
  • 56:30 Like people get really pissy.
  • 56:32 They honk at me, they drive around, they flip me off, they whip around me in a very dangerous
  • 56:36 fashion to, in some sort of weird, uh, you know, machismo, uh, display, but it's cool.
  • 56:43 Like, like they're having a bad day or they're in a hurry to get to their job or something
  • 56:47 Like I, I don't take it personally when people, you know, do that.
  • 56:52 I'm fine with driving like a proverbial grandparent, you know?
  • 56:55 Um, and it actually helps me boost my temperance because I'm, you know, dealing with more hostility
  • 57:02 throughout the day.
  • 57:03 Uh, and, and that is one thing that I consider myself really good at is not losing my cool
  • 57:09 and trying to like absorb that energy without bouncing it back.
  • 57:13 Right.
  • 57:14 And it sounds like you've gotten good at that.
  • 57:16 Uh, and I think this like, we're going to get back into open source software development
  • 57:22 and stuff like this, but this is a great time to talk about like your habits because you
  • 57:26 are very much a creature of habit.
  • 57:28 My understanding is you have these recurring things that you do like every week and it's
  • 57:33 years, years and years.
  • 57:35 How long have you lived in Edinburgh, Scotland?
  • 57:39 Yeah.
  • 57:40 So I've been here, I was born here, uh, I guess I'm 41.
  • 57:43 So like on and off, I've been here the majority of my life, probably at least 30 of my 40 years
  • 57:50 I've been in the same city.
  • 57:51 Um, and you know, there's a lot of nice things about that.
  • 57:55 Right.
  • 57:56 I have my best friend from, uh, like high school, my oldest friend really, uh, we come
  • 58:03 around, he comes around like once a week.
  • 58:05 We watch sci-fi together that my wife doesn't want to watch.
  • 58:08 Um, and yeah, like it's, there's lots of nice things from just having that continuity.
  • 58:15 And similarly, I guess with like habits and stuff, right.
  • 58:19 You, you get good at things by just doing them lots and lots and lots, right.
  • 58:24 Like, and trying and repeating and whatever.
  • 58:27 And I think I've got like become a reasonable software developer, like, and various other
  • 58:33 things in my life by just doing it lots and regularly.
  • 58:36 Like, and I think there's a lot of these things where it's interesting.
  • 58:40 Like there's a famous, uh, Scottish cyclist, a guy called Chris Hoy, who's at one point,
  • 58:46 I think had more Olympic gold medals than any other person.
  • 58:48 Um, and I remember hearing him speak one time and he was saying, he was like, if you were
  • 58:54 asked in my school, like who, who was going to like win a gold medal in the Olympics, like
  • 58:59 you wouldn't have probably put me in the top 10 people.
  • 59:01 But the difference with me compared to everyone else is I just was just very consistent over
  • 59:06 a long period of time.
  • 59:07 Like I just had my training and he just trained hard, train hard, train hard, train hard, train
  • 59:12 hard, train hard, train hard, and did that.
  • 59:14 And, you know, I'm not going to put false hope in people's heads and say that like anyone
  • 59:18 can, you know, if only you just are consistent, you too can win more Olympic gold medals than
  • 59:22 Right.
  • 59:23 But there will probably be some stuff where you can go from being like average to being
  • 59:29 great, right.
  • 59:30 Just by being consistent and putting the time and effort in.
  • 59:33 Right.
  • 59:34 And that's a perfect point for us to address the fact that you are currently the Scottish
  • 59:40 champion for the M1 division of, I think it's like 81 kilogram body weight powerlifting.
  • 59:49 Is that correct?
  • 59:50 Yeah.
  • 59:51 So I guess a fun parallel between powerlifting and open source is like every time you do
  • 59:57 a powerlifting competition anywhere in the world, that's like a sort of officially sanctioned
  • 1:00:00 one, there's a site open powerlifting.org and they have all this open data on GitLab.
  • 1:00:05 And so as a GitHub employee, that was the first thing that got me to sign up for a GitLab
  • 1:00:09 account actually.
  • 1:00:10 And they have the site that's updated once a day that just has all the results for everyone.
  • 1:00:14 Right.
  • 1:00:15 So you can go and look and if you hear someone does powerlifting, you can like look them
  • 1:00:18 up and see what they've done or whatever.
  • 1:00:19 Yeah.
  • 1:00:20 So yeah, so like in, it's not small country, not huge amounts of competition, but yeah,
  • 1:00:24 like in my age and weight class or whatever, like I've won it the last kind of couple of
  • 1:00:29 years and hope to win it again this year.
  • 1:00:31 And yeah, and that, that's a classic example again of what you've said of like, it's just
  • 1:00:36 going to the gym a bunch of times, doing the same things a bunch of times, creature habit
  • 1:00:40 and slowly but surely you kind of progress.
  • 1:00:43 And it's fits and spurts and whatever.
  • 1:00:46 And cause it's very numerical, you can like literally see and be like, okay, it went up
  • 1:00:51 and then it stayed still for a while and then went up for a bit and stayed still, whatever
  • 1:00:54 it may be, you know?
  • 1:00:55 Yeah.
  • 1:00:56 And I don't know a whole lot about powerlifting.
  • 1:00:58 Like I, I got kind of freaked out when I was doing some heavy squats.
  • 1:01:01 Like, am I going to damage my spine?
  • 1:01:02 Like, am I going to be permanently injured?
  • 1:01:04 So I, I, I like, uh, but I never actually formally like competed or did power, but I did all
  • 1:01:09 the powerlifting exercises as part of my weight training regimen.
  • 1:01:12 And, uh, and, and my understanding is there's the three main exercises, uh, and correct me
  • 1:01:17 if I'm wrong, but just for anybody who's not familiar with powerlifting, so you can understand
  • 1:01:20 what we're talking about, you're squatting heavy amounts of weight, you're benching heavy
  • 1:01:25 amounts of weight and you're, um, what's the term for deadlifting, deadlifting.
  • 1:01:30 Thank you.
  • 1:01:31 Uh, and essentially those are the three main powerlifting exercises.
  • 1:01:34 And then you take the total amount of weight and you add them together and that's your like
  • 1:01:39 number essentially.
  • 1:01:40 So it's a very quantitative, uh, area of athleticism.
  • 1:01:43 Can you talk about like what your training range regime is regimen?
  • 1:01:48 Um, and like, uh, how you go about just like when you go to the gym, how frequently you go
  • 1:01:54 to the gym, like all that stuff.
  • 1:01:55 Just give us a very high level overview of sure.
  • 1:01:58 How you've managed to remain the champion for several years in a row and, uh, how you approach
  • 1:02:03 this in such a kind of like disciplined routine oriented way, as opposed to just like cramming
  • 1:02:09 essentially.
  • 1:02:10 Well, so the funny thing is try to do that too.
  • 1:02:12 Yeah.
  • 1:02:13 So the first year that I became the champion, uh, I was the champion essentially by default
  • 1:02:17 because no one else qualified in my age and weight class, right?
  • 1:02:21 Such that it, I was the one person who competed, but I still did it and did legal lifts and whatever.
  • 1:02:27 So sort of still counts, but like, it's, you know, just to deflate, uh, my ego somewhat.
  • 1:02:32 But I think the thing I get to jump back to something that you said that made me feel,
  • 1:02:37 uh, it's kind of interesting.
  • 1:02:38 It's like that, that fear, right?
  • 1:02:40 Like I, that's another thing, I guess there's maybe a running theme in this podcast of like
  • 1:02:43 cross cutting things, right?
  • 1:02:45 Well, so for me, that fear, like if I've got like, for me, the squats, the scariest one,
  • 1:02:49 like when I've got a heavy squat on my back and I need to go do it, that feeling is almost
  • 1:02:54 identical to the feeling of like when I've done a bungee jump.
  • 1:02:57 And it's also almost identical to the feeling before I go on stage and do a talk or amongst a big
  • 1:03:02 crowd or when I've been in a pay negotiation and I like say a number that I feel like a
  • 1:03:06 little bit uncomfortable with, or I'm in a job interview or whatever.
  • 1:03:09 And it's, it does, it feels like all of these things are kind of training, right?
  • 1:03:14 Like in forcing yourself to do things that are maybe uncomfortable to you.
  • 1:03:18 And that crossover is kind of useful, right?
  • 1:03:22 Um, I guess to your specific question, like I go to the gym, like sort of depends like anywhere
  • 1:03:27 between kind of three and five days a week.
  • 1:03:30 And I have like a coach, um, shout out if anyone, you will do online programming for
  • 1:03:36 His name's Keir White.
  • 1:03:37 He's based in Scotland.
  • 1:03:38 You can look him up on Instagram.
  • 1:03:40 Um, if you're interested, but yeah, he's, he's been great.
  • 1:03:43 I've known him before.
  • 1:03:44 He was my coach.
  • 1:03:45 I've had a few coaches in the past and yeah.
  • 1:03:47 And you basically just like go to the gym, lift the weights with the numbers, record a video,
  • 1:03:52 send it to your coach, tell him like what you think you did well or badly.
  • 1:03:55 He tells you what he think you did well or badly repeats for many years.
  • 1:03:59 Right.
  • 1:04:00 I guess I've been doing it for like essentially that pattern in some form on and off for like
  • 1:04:05 eight or nine years.
  • 1:04:06 Um, and I probably have gone, you know, probably coming up to eight or nine years of doing like
  • 1:04:13 at least one sort of squat bench or deadlift in a given week for probably that whole time.
  • 1:04:19 And yeah, it all sort of adds up.
  • 1:04:22 And I think that's the other thing that's sort of nice about it, like about sort of strength
  • 1:04:25 training stuff is there's no, there's no like easy fixes, right?
  • 1:04:29 You can't go from having never been in the gym to the strongest in the world in a year.
  • 1:04:34 Like that's, it's just impossible.
  • 1:04:35 Right.
  • 1:04:36 Um, and there's also like a lot of things in life, there's shortcuts, right?
  • 1:04:40 There's, um, different approaches and different ways of doing things and compromises and
  • 1:04:45 And there's things like risky, like, uh, training regimens that are more rigorous, but
  • 1:04:51 could increase the likelihood of injury.
  • 1:04:54 Or like, I guess like performance and hunting drugs.
  • 1:04:56 So like, uh, various sports, including powerlifting have, like in some sports they're banned, right?
  • 1:05:02 But in some sports, it's like, you have people who use them, who have their own division over
  • 1:05:06 here and people who don't use them, they have their own division over here.
  • 1:05:08 And the people who use them are generally much stronger.
  • 1:05:11 They look much better, but there are particularly sometimes long-term health consequences of
  • 1:05:16 these things.
  • 1:05:17 So, and I'm not going to tell anyone what the should or shouldn't be doing, but like, for
  • 1:05:20 me, that's like the priority is my health.
  • 1:05:22 So I'm not going to go down that route.
  • 1:05:24 Um, and yeah, and I think that sort of applies maybe again, tenuous metaphor, but like a little
  • 1:05:31 bit back to work in the workplace again, right?
  • 1:05:33 Where there's, there are shortcuts to get ahead, right?
  • 1:05:35 There are ways of like burning bridges and using people and stomping on other people and
  • 1:05:41 lying and being deceptive or exaggerating things or whatever.
  • 1:05:43 But again, all of those things feel like if you're really in this stuff for the long game,
  • 1:05:48 like that stuff catches up with you.
  • 1:05:50 Right.
  • 1:05:51 And the amount of people I've worked with where they treat their coworkers appallingly or whatever.
  • 1:05:56 And it's like, and then five or 10 years later in their career, they find things are a little
  • 1:06:02 bit harder than they used to be.
  • 1:06:03 And that's because maybe no one's written anything on the internet about it.
  • 1:06:06 Maybe no one works at the same company, but people talk, right?
  • 1:06:09 And if you're someone who consistently treats people badly, the tech industry is a surprisingly
  • 1:06:15 small place and people hear about it.
  • 1:06:17 Right.
  • 1:06:18 And the other way as well, right?
  • 1:06:19 If you're someone who I've had a bunch of coworkers, I'm sure you have as well, Quincy,
  • 1:06:23 where it's like, they're just a saint.
  • 1:06:24 And like every interaction I've had with them is amazing.
  • 1:06:27 And when I get the chance to like, one of my favorite things in this industry is when
  • 1:06:31 one of those people is like, will you give me like a reference for a job?
  • 1:06:35 Right.
  • 1:06:36 And I'm like, yes.
  • 1:06:37 And I can just go on and just be like, let me tell you why this person is absolutely
  • 1:06:41 incredible and really amazing.
  • 1:06:42 And like, it feels great.
  • 1:06:44 Like, it feels great to reward their good behavior with being able to like tell someone
  • 1:06:48 else, particularly with what I said before about me being the type of person who doesn't
  • 1:06:52 If I actually think they're terrible, then I don't give those references.
  • 1:06:54 So, yeah.
  • 1:06:56 So one way to look at it is like the wheels of justice turn slowly, but they do turn in
  • 1:07:01 the sense of there's like kind of a karma.
  • 1:07:04 There is a reputation that may be unspoken in many ways, but like at the end of the day,
  • 1:07:10 would you recommend this person for the role?
  • 1:07:12 No, I wouldn't recommend them because they're a dick.
  • 1:07:16 Right.
  • 1:07:17 They're toxic.
  • 1:07:18 Uh, they're, they're, they're, they're trying to be like that guy.
  • 1:07:20 Like I would encourage everybody to check out this movie.
  • 1:07:22 It's, it's not safe for kids, but, uh, I saw this movie called Nightcrawler.
  • 1:07:27 It's just like about the sociopath who like climbs the ranks and just, you know, he'll do
  • 1:07:33 anything to get ahead.
  • 1:07:35 And, and it's repulsive and the acting is incredible.
  • 1:07:38 Uh, Jake Gyllenhaal.
  • 1:07:39 Um, and, and like, you're going to recognize that these people are out there and, uh, they're
  • 1:07:44 not going to be able to sustain themselves longterm.
  • 1:07:46 There will be comeuppance eventually for them.
  • 1:07:50 And, and that is one of the things that, that gives me like when I have to interact with
  • 1:07:53 such a person, they, they give me a little bit of solace.
  • 1:07:56 It's like, they can't get away with this forever.
  • 1:07:58 Right.
  • 1:07:59 Uh, and at the same time, when you encounter somebody who's really chill, but you know,
  • 1:08:04 you can tell they've got great potential and they're going places and you can be a helpful
  • 1:08:08 in helping them go to those places.
  • 1:08:10 Right.
  • 1:08:11 You can, you can give them opportunities.
  • 1:08:13 You can encourage other people to try them out.
  • 1:08:16 Uh, you know, I think, I think that's a really cool thing about the open source.
  • 1:08:20 Community and software development in general, I think people are looking out for one another
  • 1:08:24 and they are noticing people who are really chill and really good at what they do.
  • 1:08:29 And they're elevating those people.
  • 1:08:30 Yeah.
  • 1:08:31 I think that's, again, something I really loved about software in general is it's right from
  • 1:08:37 maybe like the first work experience I ever did when I was like 14 or something, working
  • 1:08:41 like it support in like my dad's like office in Edinburgh.
  • 1:08:46 Um, just like, there's just an, an ethos of like collaboration and like, oh, you know, a
  • 1:08:53 That's cool.
  • 1:08:54 Like, let's all learn about that.
  • 1:08:55 And like, I, I just, I found that very, like, I, you know, I, I also did work experience.
  • 1:09:01 I remember when I was younger in like a law firm and like the contrast between like tech
  • 1:09:06 and law could not have been more stark in terms of like the, you know, like admiring and
  • 1:09:12 respecting kind of youth and new people coming in and new ways of doing things and new technologies
  • 1:09:16 and whatever.
  • 1:09:17 And it's in many cases, like the people who you might've expected to be most experienced
  • 1:09:23 and most stuck in their ways were often the people who were the most like actively embracing
  • 1:09:28 like youth and change and what's happening.
  • 1:09:32 And, and that's, I think a beautiful thing about technology, right.
  • 1:09:36 Is when we can, when we can try and have that attitude, right.
  • 1:09:40 Which doesn't always exist in other industries.
  • 1:09:42 And I guess it's maybe particularly rapid right now when everything's changing radically.
  • 1:09:46 Yeah.
  • 1:09:47 Well, let's talk about that change because I, no, no episode of the Free Code Camp podcast
  • 1:09:51 is out, is complete without a discussion of LLM tools, AI code gen, stuff like that.
  • 1:09:56 Um, you have been a dev for a long time.
  • 1:09:59 Uh, a lot of these tools didn't necessarily just explode onto your radar like they did for
  • 1:10:04 a lot of lay people.
  • 1:10:05 Like you've seen them gradually improving over time and you've seen the tools get better
  • 1:10:10 How do you make sense of, uh, you know, like a lot of managerial decisions and you're a
  • 1:10:16 manager too.
  • 1:10:17 So you're a perfect person to ask this question to you.
  • 1:10:19 Like a lot of the managers who are going out, like we're going to hire fewer developers
  • 1:10:22 and we're going to rely more on AI code gen.
  • 1:10:24 Yeah.
  • 1:10:26 So I don't really know where we're at with a lot of these tools right now.
  • 1:10:32 I think it's interesting because there's definitely a lot of people who are pushing
  • 1:10:37 narratives pretty hard, who, who are pushing the narratives the hardest, who are themselves
  • 1:10:42 like most likely to benefit.
  • 1:10:44 Like if you're the, the Claude code, like principal engineer, or if you're the CEO of
  • 1:10:49 NVIDIA, of course you're going to tell people that they should stop teaching their kids how
  • 1:10:52 to code.
  • 1:10:53 I think it's pretty much a direct quote from what he said.
  • 1:10:56 And I think the thing is, and I also think on the flip side, like they'll like everything,
  • 1:11:01 We have loads of things where like, you can go out and buy bread, right?
  • 1:11:05 Like very easily, but yet some people bake it at home, right?
  • 1:11:08 Like, why do they do that?
  • 1:11:10 Because they want to, they like it.
  • 1:11:12 They like the process.
  • 1:11:13 They might think it tastes better.
  • 1:11:14 It might taste better.
  • 1:11:15 Like whatever it may be.
  • 1:11:16 Right.
  • 1:11:17 And I think there's always going to be room for like an artisanal way of doing things,
  • 1:11:22 Like even at peak LLM, right?
  • 1:11:25 And I think again, like me loving open source, the beauty of open source is right.
  • 1:11:29 If you want to go and run your open source project in a like full speed ahead, let's do
  • 1:11:34 everything with LLMs, like a hundred percent all the way, all the time, you can do that.
  • 1:11:39 And also if you can, if you want to say, I'm not even going to allow code completion using
  • 1:11:43 LLMs for anyone who works on my project, you can do that.
  • 1:11:46 Like you, you can decide, right?
  • 1:11:48 I think what's more interesting and difficult and nuanced is like the industry as a whole,
  • 1:11:54 where does that go?
  • 1:11:55 And I don't know what it means long or even medium, maybe even short term for hiring and
  • 1:12:03 for kind of maybe more junior folks where things are a little bit difficult there.
  • 1:12:07 All I feel like I do know is that like, this is, this is changing things and it is going to
  • 1:12:14 be a big deal.
  • 1:12:15 And people on maybe hacker news or whatever, who are like, Oh, these tools are useless.
  • 1:12:18 They, they can't do anything meaningful.
  • 1:12:20 Like you are, if you're, if you're taking that position in, you know, early 2026, you've
  • 1:12:27 either not seriously tried any of these tools or you have, you know, not learned how to use
  • 1:12:36 them properly or something or whatever it may be, or maybe you're using them in the wrong
  • 1:12:41 way on the wrong code base or you are on a bad day or whatever, but there are a lot of
  • 1:12:45 people getting a lot of value at these tools.
  • 1:12:47 And I think that that's the only bit of it that I find undeniable.
  • 1:12:52 And I also feel like in my, you know, in my time in the industry, I guess we are, the internet,
  • 1:12:58 you know, coding for the internet was already established by the time I was working professionally.
  • 1:13:02 And then I guess the big changes were maybe like mobile or social media or crypto or whatever.
  • 1:13:07 Right.
  • 1:13:08 I feel like this is going to be bigger for actual software engineers and software engineering
  • 1:13:11 than any of those were in the past.
  • 1:13:15 Um, and I think it's going to be more like when we went from maybe a similar to, uh, writing
  • 1:13:21 high level program languages, um, in terms of like the impact.
  • 1:13:25 But I also think most of what is hard about software engineering is not writing the code,
  • 1:13:30 Like actually I think you could probably have had a similar conversation around the eras of
  • 1:13:37 like higher level programming languages.
  • 1:13:39 And like, well, actually, if you look at this compared to assembler, now we don't need to
  • 1:13:43 think about any of this stuff anymore.
  • 1:13:44 It just gets done for us automatically by the compiler.
  • 1:13:46 Right.
  • 1:13:47 And it's like, well, yeah, like, and also in the early days of the compiler, right?
  • 1:13:51 Like it was similar, right?
  • 1:13:52 Where in the early days of the compiler, then you should handwrite your assembler from the
  • 1:13:56 code that you really care about.
  • 1:13:57 Cause it's going to actually be like good code.
  • 1:13:59 Right.
  • 1:14:00 And over time that becomes less and less true.
  • 1:14:02 Um, I wrote, there's an anecdote back to Linus Torvalds of him working on,
  • 1:14:07 uh, if I remember correctly, like when he was working on Git and so much of the software
  • 1:14:11 in Git is around like the SHA one hashing function being really fast.
  • 1:14:14 So he was like, what's the state of the art?
  • 1:14:16 And there was an open SSL one, which is written in assembler for each, uh, architecture to be
  • 1:14:22 the fastest.
  • 1:14:23 And he was like, Oh, that seems really fast.
  • 1:14:25 But he tried his own version just written in C and based on his understanding of C and
  • 1:14:29 the, the way the compiler would behave or whatever it outperformed the open SSL version.
  • 1:14:33 Right.
  • 1:14:34 But that's something of like, maybe when that code was first written, the compiler
  • 1:14:38 version would have been trash, but these tools get better.
  • 1:14:41 And I think we're seeing a similar thing with LLMs where it might be that like nothing at
  • 1:14:45 your work right now is a good fit for LLMs.
  • 1:14:48 It doesn't work well with your programming language or your toolkit or your legacy code or whatever
  • 1:14:53 it may be.
  • 1:14:54 But like, if you think that that's literally going to never change, like, yeah, you, you
  • 1:15:00 need to reanalyze things because eventually these tools are going to come and they're going
  • 1:15:04 to change the way you do your job.
  • 1:15:06 And if you are insistent that you write every character by hand forever, I think some of
  • 1:15:11 those people will not have a job in the future.
  • 1:15:13 Let's talk about how you use it day to day.
  • 1:15:16 Like what tools are you using?
  • 1:15:18 How are you using them?
  • 1:15:19 To the extent that you can just give us a high level overview of how you've adopted these
  • 1:15:23 tools.
  • 1:15:24 So my main tools of choice are ChatGPT for just like a separate kind of chat interface
  • 1:15:30 of which I'll ask it anything, you know, program related questions, maybe small code snippets,
  • 1:15:36 but not like main languages, like not like multiple files or anything like that.
  • 1:15:41 And I like that it's kind of quite nice and separate and it's its own thing.
  • 1:15:45 And I can do it with my phone and my Mac and jump back and forward between the two.
  • 1:15:51 And then I would use opening a codex in the CLI for like my kind of like agentic kind of
  • 1:15:58 more vibe coding sort of stuff where I'm not looking at every line of code as it's being
  • 1:16:03 written, but I will review it all later, basically, unless it's a complete throwaway one time
  • 1:16:10 script sort of thing.
  • 1:16:11 And then I have my cursor is my main, like I'm coding, but with kind of AI assistance kind
  • 1:16:19 I used to use cursors like kind of agentic mode and questions mode or whatever a bit more,
  • 1:16:25 but I now mainly just use cursor because I think it has the best kind of autocomplete.
  • 1:16:29 And I like that way of working.
  • 1:16:32 So those are my main three drivers, I would say.
  • 1:16:35 Well, since you've got a lot of experience using these tools, I'm going to ask you a question
  • 1:16:39 that I've asked a lot of devs who use them a lot.
  • 1:16:41 Do you think that agents are the future or do you think that code completion itself is where
  • 1:16:49 a lot of the utility is going to remain for more senior developers like you, where you're
  • 1:16:53 just looking at the chunk of code and you're working directly with it and it's just helping
  • 1:16:56 you essentially fill it in faster?
  • 1:16:58 Yeah, I think it depends on what you're working on and what the code basis and the languages
  • 1:17:04 and whatever.
  • 1:17:05 So for example, on Homebrew, like I know Homebrew's code base well enough that I can read a bug
  • 1:17:10 report and I'm like, I know which file needs changed, right?
  • 1:17:14 And I could prompt an AI to change that file because I know what it is, but it's probably
  • 1:17:22 going to take me longer.
  • 1:17:24 Like literally, I think in some of those cases to use the agents would take me more keystrokes
  • 1:17:31 than it would be to do it manually by hand, right?
  • 1:17:35 Even if I gave the agent just like the issue, it's going to like turn around and do its own
  • 1:17:40 thing and it's probably not going to quite do it the way that I know that it needs to be
  • 1:17:43 done and I know some of the edge cases that maybe aren't documented or whatever.
  • 1:17:46 And again, I guess some people could say, maybe rightly, maybe wrongly, well, you could
  • 1:17:51 just add all this to your agent's MD or your documentation and over time the agent will get
  • 1:17:55 just as good as you.
  • 1:17:56 And it's like, yeah, but in this particular case, it's like I have to pull out, you know,
  • 1:18:00 16 years worth of context and put it into text so the agent can understand it.
  • 1:18:05 Like I just don't think that's going to happen, right?
  • 1:18:07 But on the flip side, I now if I'm working on like a script, right?
  • 1:18:12 And so right now I'm doing like a, I'm working on a kind of JIRA to GitHub migration, right?
  • 1:18:17 And I'm doing a bunch of data analysis as part of that.
  • 1:18:19 And most of my data analysis now is just like, hey, OpenAI Codex, write some code that gives
  • 1:18:27 me this output based on the data, right?
  • 1:18:28 And I don't even tell it the structure of the data.
  • 1:18:30 It goes and looks for it, right?
  • 1:18:32 And so far I haven't read any of the code, right?
  • 1:18:35 And some people might say, but how do you know it's correct?
  • 1:18:38 And it's like by looking at the output, right?
  • 1:18:40 And this is code that's not going to be shared or used by anyone else.
  • 1:18:44 And once I've got the data crunched how I want it to be crunched, I'm going to throw
  • 1:18:47 away the script and never look at it again.
  • 1:18:49 And that's definitely something where probably even a year ago, like A, I don't think I would
  • 1:18:53 have got the output I was looking for as quickly and B, I think I would have had much more
  • 1:18:58 of a sense of like, I must read the code or I'm somehow being irresponsible.
  • 1:19:01 But given the sandboxing progressions and stuff that we've had as well, I'm just like, it's
  • 1:19:08 I don't need to read this.
  • 1:19:09 It feels weird even saying that.
  • 1:19:12 Yeah.
  • 1:19:13 But I mean, again, if it's software with an audience of one and it's just doing a task
  • 1:19:18 and you just care about the quality of the output, if there's some sanity checks, if you
  • 1:19:23 can just get a feel for like, oh, it went completely out.
  • 1:19:25 This value is an order of magnitude different than it should be.
  • 1:19:27 Then that is kind of like the canary in the coal mine that might inspire you to actually
  • 1:19:32 go scrutinize the code more.
  • 1:19:33 But a lot of this stuff is so routine.
  • 1:19:37 It's been done so many times that you don't need to go and reinvent the wheel.
  • 1:19:41 But yet there may not be like some package or some ready-made script that you can use.
  • 1:19:45 So you just create one.
  • 1:19:46 And I think that's one of the big use cases for agents and for like air quotes vibe coding.
  • 1:19:53 Everybody gets pissed when they use that term.
  • 1:19:54 But essentially, that's what you're doing in the definition of Karpathy is you're not
  • 1:19:58 even looking at the code.
  • 1:19:59 And you wouldn't do that for production-grade code, of course.
  • 1:20:02 But in this use case, it's perfectly serviceable.
  • 1:20:06 Yeah.
  • 1:20:07 But I mean, but increasingly, there's some cases where even if I was to make that production-grade
  • 1:20:12 code, like I would, again, probably a year, year and a half ago, I would have very much
  • 1:20:17 operated from the principle of like, I need to be reading this as I go along.
  • 1:20:21 Whereas now, I would basically like, I'd basically get it working without ever looking at the
  • 1:20:26 And then I will read the code from top to bottom, right?
  • 1:20:28 Like, and check every line, tweak certain things in, put it into maybe my house style.
  • 1:20:33 Partly, it's just almost like a learning and understanding thing as much as a, actually,
  • 1:20:37 I know ultimately it doesn't matter in Ruby if I use, if not, or unless, right?
  • 1:20:43 Like, whatever, like, but I prefer one and not the other.
  • 1:20:47 And I feel like that's sometimes my way of like, understanding the code is going through
  • 1:20:51 and like, fiddling with it, slightly rewriting it and whatever.
  • 1:20:53 And I think, I think that's the interesting thing is that I think even then these tools
  • 1:21:00 are getting better and they're getting more powerful such that it's closer to what I would
  • 1:21:05 have written like much more quickly and more readily, right?
  • 1:21:09 Particularly once you kind of learn like a few, like little catchphrases that you can
  • 1:21:14 spit in to your agent's MD file or whatever.
  • 1:21:18 And I think that that's the thing.
  • 1:21:20 It's that question, I guess, like what we talked about before of like, what, what is good
  • 1:21:24 enough, right?
  • 1:21:25 Like, and I think these tools are very good at getting to good enough exceptionally quickly,
  • 1:21:30 I think where things go a bit more is when like, you don't spend the time or effort reading
  • 1:21:38 it and you just almost like generate the code and throw it over the wall.
  • 1:21:41 And then it's someone else's problem to make sure that that's good enough.
  • 1:21:44 Like that's happening certainly a lot in open source.
  • 1:21:48 I don't think it's happening as much in the workplace, although I hear stories, but like,
  • 1:21:53 I think that's going to be the thing that we're going to be like, nope, like can't do that.
  • 1:21:56 If the AI generated it and you did the prompt, then you own that output, right?
  • 1:22:01 And you need to get good at understanding that code.
  • 1:22:04 And I think my maybe scary prediction for the next couple of years, I think we're probably
  • 1:22:08 going to see some very bad things happen at some point where people have just YOLO'd
  • 1:22:13 it a bit too hard and whoops, turns out there was no encryption on our database.
  • 1:22:17 Whoops, turns out it was publicly accessible.
  • 1:22:19 Whoops, everyone's stuff got stolen and someone will go, oh, well, that was ChatsyPT's fault,
  • 1:22:26 It's like, well, nope, that's not, that's not how it works.
  • 1:22:29 Sorry.
  • 1:22:30 Yeah.
  • 1:22:31 I mean, same thing with any tools.
  • 1:22:34 You are the person wielding those tools.
  • 1:22:36 And it's ridiculous to say that, oh, we know how these tools work.
  • 1:22:40 There's just token predictors, right?
  • 1:22:41 But they're very useful, as you pointed out.
  • 1:22:44 So I want to remind everybody that this is an unedited podcast interview.
  • 1:22:49 I have no idea how Mike McQuaid is going to answer.
  • 1:22:52 And it could be completely in contradiction of my own personal opinion.
  • 1:22:56 But I respect his opinion as a dev who's worked for decades at this point, who has worked at
  • 1:23:02 the highest levels of the field as an IC, worked as a manager, who's worked as a maintainer
  • 1:23:07 of one of the biggest open source projects, certainly in the Mac space.
  • 1:23:12 Mike, like, in light of how the field is changing, how would you advise somebody who's getting into
  • 1:23:20 the field now, like, what would you recommend they do, uh, that maybe be different from what
  • 1:23:25 they would do five years ago?
  • 1:23:26 Yeah, it's hard.
  • 1:23:28 I've been asked this question a lot and I never feel like I give a great answer.
  • 1:23:32 Um, I think the main thing I would probably do is get really good at reading code and reviewing
  • 1:23:41 other people's code.
  • 1:23:42 Like, so I wrote a blog post along these lines, which is why I think open source maintainers
  • 1:23:47 are good at that is because, um, you know, some people, you know, every PR you do at work,
  • 1:23:53 it just looks good to me.
  • 1:23:54 Right.
  • 1:23:55 And you don't really engage and grapple with other people's code and that you can do that
  • 1:23:59 and get away with that.
  • 1:24:00 And most cultures in many workplaces, no one's going to come back at you and be like, Hey,
  • 1:24:06 someone else wrote this code, but you didn't spot the bug.
  • 1:24:08 So I'm the site went down.
  • 1:24:10 Right.
  • 1:24:11 Like ideally that would be, ideally we would have a culture where it's like it's equal
  • 1:24:15 responsibility of the person who reviewed it and the person who created it to make sure
  • 1:24:19 that that code is correct.
  • 1:24:21 But I don't think that's the majority culture.
  • 1:24:22 We can change the culture though.
  • 1:24:24 We can, we can, but I think that's, that's in some ways where we need to be going because
  • 1:24:29 you need to be able to do that for your AI generated code.
  • 1:24:34 You're going to need to generate code probably with AI, but you need to be able to read that
  • 1:24:38 and understand that and analyze that and catch bugs in that by yourself without another human
  • 1:24:43 doing it for you or with you.
  • 1:24:45 And how exactly you learn that skill.
  • 1:24:48 I don't really know beyond being an open source maintainer, right?
  • 1:24:52 Like, and doing a bunch of open source and maybe reviewing other people's code and seeing
  • 1:24:56 how other people will do it.
  • 1:24:57 But I do think it's maybe a little bit of, if I can be very harsh, intellectual laziness
  • 1:25:03 that crept into our discipline that we got away with for a long amount of time that it's
  • 1:25:08 like, it's okay that you don't really read or understand anyone else's code and anyone
  • 1:25:12 else's code is basically legacy code as far as you're concerned.
  • 1:25:15 And you would ideally just rewrite it into your own style.
  • 1:25:17 I think that's the big thing that we can't, you can't do that anymore, right?
  • 1:25:20 Like you're going to have to use these tools and you're going to have to be able to understand
  • 1:25:25 them and catch them when they're doing the wrong thing.
  • 1:25:28 And that's a completely different skill to just like be able to write it all from scratch
  • 1:25:31 by yourself.
  • 1:25:32 And arguably that's gone from, you know, maybe the third, fourth, fifth, most important skill
  • 1:25:37 for a software engineer.
  • 1:25:38 That's maybe going to be the most important skill.
  • 1:25:40 So that's, that's the thing I would get people to focus on.
  • 1:25:43 That makes a lot of sense.
  • 1:25:44 I mean, yeah, get really good at reading code.
  • 1:25:49 That's I think the direct quote of what you said there.
  • 1:25:53 And I think that's profound.
  • 1:25:54 And that might, I might make the video headline because I think it's, it's, it is a change.
  • 1:25:59 Right.
  • 1:26:00 And I agree with like the intellectual laziness point that you, that you mentioned.
  • 1:26:06 I think laziness on a whole across many different fields is going to be on the upswing as people
  • 1:26:13 just want to get through their day so they can get back into TikTok or wherever, you know,
  • 1:26:18 Skinnerbox they want to put themselves into.
  • 1:26:20 But this is a new year.
  • 1:26:24 It's 2026.
  • 1:26:25 The year is filled with possibilities.
  • 1:26:28 What are you going to do with this year?
  • 1:26:31 Yeah.
  • 1:26:33 I mean, I guess maybe touching a little bit of each of the topics we've touched upon.
  • 1:26:37 I guess I want to make homebrew is like great.
  • 1:26:41 It's mostly feature complete, but like, I think the, the main area I care about is trying
  • 1:26:46 to make it more performant, right?
  • 1:26:48 Just trying to make it do things, the same things faster than it previously does.
  • 1:26:52 Right.
  • 1:26:53 So that's my focus.
  • 1:26:54 It was my focus last year.
  • 1:26:55 It's my focus this year as well.
  • 1:26:56 Like improve her homes and homebrew.
  • 1:26:58 Um, I guess like at work, I'm like a CTPO.
  • 1:27:01 I want to like grow my teams, like happiness at work, trust at work, output at work, like
  • 1:27:07 all of that stuff combined.
  • 1:27:08 And then, you know, I guess we talked about powerlifting.
  • 1:27:11 I want to win some medals this year.
  • 1:27:14 Um, and then just try and be a better dad, husband, friend, human, like hopefully get to
  • 1:27:21 And I'm a nicer person than I was at the beginning of it.
  • 1:27:25 Mike McQuaid, it's been such a privilege to talk with you and learn more, uh, with your
  • 1:27:30 perspectives that you shared.
  • 1:27:32 Uh, thanks again for coming on the show.
  • 1:27:34 Thanks for having me, Quincy.
  • 1:27:35 Yeah.
  • 1:27:36 And then everybody tuning in until next week.
  • 1:27:38 Happy coding.
  • 1:27:39 See you then.