Accountability Check (2025)
Hosts
Transcript
This transcript was auto-generated by our recording software and may contain errors.
Carter Morgan (00:00)
So, okay, so what percentage are you gonna give yourself? I'm gonna give myself 50%. That's what I think I got.
Nathan Toups (00:06)
I think that's pretty accurate, which I'm like a little bit ashamed of, but I also think that that is, that's probably an honest answer.
Carter Morgan (00:10)
you
Hey there, welcome to Book Overflows, the podcast for software engineers by software engineers where every week we read one of the best technical books in the world in an effort to improve our craft. I am Carter Morgan and I'm joined here as always by my cohost, Nathan Toops. How are doing, Nathan?
Nathan Toups (00:32)
Doing great here, everybody.
Carter Morgan (00:34)
Well, as always, wherever you're at, make sure to like, comment, subscribe, rate the podcast ⁓ with a five-star review and an audio platform if you haven't. I've been seeing more of you guys do that, all of our faithful listeners. So thanks a ton for doing that. It really does help the
And we're really excited to share with you guys our interview with Steve Flanders. That should be out. ⁓ check it out if you haven't seen it yet. Steve Flanders is the author of mastering open telemetry and one of the founding members of the whole open telemetry project, which is so super cool. mean, Nathan, what'd you think of the interview?
Nathan Toups (01:04)
Yeah, it was a lot of fun. Obviously, having a subject matter expert who was there since the beginning is pretty cool. He also encouraged us to contribute to the project if we thought it was interesting, and he actually gave us a, he was like, oh, you can look for this label that says, like, good first, good first issue. I actually took his advice, and I got one of my issues merged. So I actually have, a very small contributor to the OpenTelemetry project now. It was in the Go Contrib,
Carter Morgan (01:29)
That's really cool. What was your issue?
Nathan Toups (01:33)
There's a Go Contrib library that's part of OpenTelemetry. deprecating. is, first issue. They were deprecating one of these calls because was redundant. But it was tricky to make sure that the test pass and it was backwards compatible. So it was maybe 10, 15 lines of code. But going through the process of getting the review and looking at the maintainers and making sure that I hit the style that they wanted in documentation and stuff like this, it was like a, I don't know, I feel more confident. I think I'm going to try to do some more complex stuff in the future.
Carter Morgan (01:50)
Okay, nice.
That's really cool. I, I don't think I've ever contributed to an open source project, but I also was inspired by Steve and want to see if I can find the time to do it. But anyway, check out our interview with Steve Flanders. Um, again, just another guy who's super cool, super humble, um, has done a lot of really impressive things and very kind of him to join us on the podcast. And we are wrapping up, uh, this year, 2025 of the core of, was going to say our second year of book overflow, but really we started in the middle of 2020.
We're like a year and a half into this and we like to do at the end of the year an accountability check We have read a lot of books this year we've read 20 books really 19 and a half one we didn't finish and We were upfront about that in our episode and two essays and at the end of every Work that we read whether it's a book or an essay And really the end of every episode because we split some of the bigger ass our books into multiple episodes. We like to share out loud
What we'll do differently in our careers as a result of having read the book And so this is the episode where we get to figure out if we actually did any of this stuff Nathan and I we don't rehearse this we don't like pre-plan this honestly, we don't even remember what we committed to so nathan has gone and ⁓ he has Summarized all of our thoughts here now. There are some things Nathan you just went back through our notes and and grabbed these from the notes, right?
Nathan Toups (03:16)
You
I did, but I actually went to a couple of episodes where we had, sometimes we get a little short on time and we keep TBD in there. I actually went back to the episode and plugged in what we were missing.
Carter Morgan (03:31)
Yeah.
Okay, there we go. There we go.
So I guess what I will say is that if any of our notes, it doesn't happen very often, but sometimes what we write in our notes, we will adjust and not actually say when it comes time to give the line. If that happens, sorry, we've just got what we got here on our notes. ⁓ But yeah, I don't know, Nathan, how do you think you'll fare on this?
Nathan Toups (03:58)
Oh, I'm not confident. think last year I had a pretty good track record, maybe like 80 % of the things. This one, this has been a weird year. Professionally, I think both of us have had a lot of weird stuff going on. You switch jobs, you finished grad school, which is, I was going back and looking at the beginning of the year and I was like, this feels like a lifetime ago to me, actually.
Carter Morgan (04:03)
Yeah.
Yeah.
I switched jobs halfway through. Yes, yes.
I know, right?
So, okay, so what percentage are you gonna give yourself? I'm gonna give myself 50%. That's what I think I got.
Nathan Toups (04:31)
I think that's pretty accurate, which I'm like a little bit ashamed of, but I also think that that is, that's probably an honest answer.
Carter Morgan (04:35)
you
Nathan Toups (04:38)
So I'd like to try to do better in 2026. We'll see.
Carter Morgan (04:39)
Okay, you're doing 50%.
Okay. Then I'm going to keep track throughout this and we're going to figure out what we got. All right, let's go through it. So our first book of the year was the software engineers guidebook. Excellent book by Jurgé Oroz. Jurgé was kind enough and he came on the podcast. Great guy. And we did two episodes of this. We got a part one and a part two. So part one, Nathan, maybe I'll read your commitment and then you read my commitment. I've got, so I guess part one would be.
Nathan Toups (04:45)
Okay.
Sounds good.
Carter Morgan (05:12)
You said, I've read this half a few weeks ago and I've already applied part three, which covers tactics on collaboration and software architecture in my new role.
Nathan Toups (05:22)
This is both true and a failure ⁓ long term. So like I definitely tried to apply these things. There was some structural dysfunction that caused me to not actually be able to follow through all the way. But yes, I did do this.
Carter Morgan (05:26)
Okay.
Okay, you did do this, I'm gonna give it to you. I'm gonna give you one out of one. Do you remember any of the specifics on what those tactics were?
Nathan Toups (05:38)
Okay.
I think it had to do with how to do kickoff meetings and get stakeholders pulled in before you got into the systems design phase, which I think was something that I, it's very easy for me to put a cart before the horse and be like, oh, I'm gonna jump right in and do what I'm amazing at, but mostly it's making sure that everyone nods their head that the outcome is agreed upon, things like this. But yeah.
Carter Morgan (05:48)
Yes, yeah.
I'm going to give
you a one out of one for that. So good. All right. What did I say?
Nathan Toups (06:10)
Okay, amazing.
Carter Morgan (06:15)
I've got keeping a... Oh, yeah.
Nathan Toups (06:16)
yeah, yeah. So you said
keeping a work log, which I've already started doing, good to hold yourself accountable. And I'm going to mix the two together so you can just answer both of them. The second week you said identify key stakeholders in my project.
Carter Morgan (06:30)
Okay, so out of these two, let's see, keeping a work log. Okay, I was good about that at my last job. I haven't had to be as good about it at this job. I do keep very detailed notes of what I'm working on. So I have a running list of notes and like yesterday I was trying to really lock down a solid pattern for A-B testing with a post hog is the library we use for like customer analytics. ⁓
And so I was keeping lots of running notes on exactly what all goes into that. ⁓ well, as far as so far for that one, I can give myself half a point. think, I think I did it for half the year and then didn't do it for the next half of year. And I need to consider whether it's worse. Right.
Nathan Toups (07:08)
Okay.
So I will say, certain work cultures, it feels like
you're still in the interview process, right? Like I was actually listening to a YouTube channel talking about this where you're like, what have we gotten ourselves into? Or like, you go through this crazy hazing process to get the job, and then it's like, it never stops. Like, it's like your quarterly stuff, and certain work cultures are like that, yeah. So defensively, you have to have that detailed work log.
Carter Morgan (07:19)
Yes.
Yes, yes.
That's, that's
very big tech and very not, uh, at least the current startup I'm at, far as identifying key stakeholders, I, know, I'm going to give myself a one out of one on this one. I did a good job with this. Um, and yeah, it's a, I was doing a good job of it at my previous job and my current job as a startup. mean, it's nice because all of the stakeholders are, know, you can reach out and touch them with your hand, right? Cause we, you know, it's a small office. Um,
Nathan Toups (08:01)
Right.
Carter Morgan (08:03)
But I do a pretty good job about finding out, okay, who's most impacted by this project? What are they expecting? Are there any timelines or external pressures that I'm not aware of? ⁓ and then yeah, they're involved throughout the whole thing. So I think that I'm happy with myself. I'll give myself a yeah. Yeah. Yeah. The key stakeholders are listening to the podcast right now. I haven't heard from this guy in weeks.
Nathan Toups (08:20)
That seems credible just from your interactions on the podcast. think that's one and half. Sounds great.
They're like, what the
heck is going on?
Carter Morgan (08:32)
Okay, so you had a two week, so yeah.
Nathan Toups (08:36)
yeah, the other one, the reason I can,
those were, it was more of an expansion on the same thing. It's like ⁓ additional stuff on speaking with stakeholders. I will give myself, I think I'm in a one and a half point phase too. So like if you got one and a half points, I think I did apply some of these things, but I didn't mitigate bigger issues and I, all of those projects are dead now. So it's a really strange situation.
Carter Morgan (08:50)
Okay, you'll give yourself a one and a half.
Okay, so you got one and a half out of two and I got one and a half out of two. Okay, hey, not bad. We're faring better than the 50.
Nathan Toups (09:07)
it's going to get worse. I saw this, I mean, I copied and pasted in some of these. I'm like, or at least for me, I'm like, ⁓ boy.
Carter Morgan (09:14)
Okay, so then we have Hypermedia Systems. This was another two parter. Nathan, I will give you both of the ones you said you do, and then you can give me a score out of two. Okay, so Hypermedia Systems, this by Gross, Stepansky, and Aksmezsik. This was another one, Carson Gross came on the podcast. Check out his interview, what a cool guy. Okay, Nathan.
Nathan Toups (09:23)
Okay.
Carter Morgan (09:41)
For HTMX, here's what you got. said two things. You said, I'm bread-pilled. I'm building a project using HTMX. Though I don't fully get Alpine JS yet. I do want to check that out. And you also said, I want to write less JavaScript while doing cool things in the browser. How'd these turn out?
Nathan Toups (09:56)
⁓ both of these are failures. So I've actually written more JavaScript this year than I have in a very long time. ⁓ And while I did experiment with htmx, I stopped after that, ⁓ probably a couple weeks after that. I I kicked the tires. I actually really appreciate htmx. But I've spent a decent amount of time in SvelteKit and React this year. So it's a, yeah.
Carter Morgan (10:01)
It's
Okay, nice. Yeah,
this, I have a coworker who is very into like, like he's super into Rust, right? And we always make fun of him for it. And, and you know, there's, there's like a kind of guy who's really, really into Rust, a guy I respect, but they're, tend to be more like, I'm very much like, just give me the most popular, the most battle tested open source framework. ⁓
And he's a little more like he likes to explore these sort of niche things like this. So I was talking about HTML, which he thought was really, really cool. And I believe he started using it for a personal project of his. So by the transit of property, we have encouraged some people to use HTML.
Nathan Toups (11:01)
Oh yeah,
no it's, in the way I normally write personal projects, if I was writing stuff from scratch, I'm a big Go developer, and there's a huge Go plus HTML, I say huge, there's dozens of us, there's like, there's a vocal minority of folks in the Go community that like to use HTML, because they like to write Go, they don't want to write as much JavaScript.
Carter Morgan (11:13)
Hahaha
Okay, what did I have?
Nathan Toups (11:23)
Okay, so you have, your two weeks is, I hope I understand this a little better, I'm sorry, I hope understanding this a little better helps me understand design decisions behind React, making me better at it, and you wanna write better semantic HTML, or you said, guess, maybe JSX.
Carter Morgan (11:44)
Okay.
trying to figure out how to evaluate this. As far as better semantic XML or JSX, no, that's a fail. I have not done that. ⁓ I think I have done a better job, but yeah, we still got a lot of div soup in the app. And so I don't think we've done a great job with that necessarily. ⁓ As far as just understanding the design decisions behind React, you know what? I'm going to give myself the point that might be stealing a bit from advanced React.
Um, but I do think that reading this book exposed me to a larger world of web frameworks. You know, there's a bit like the story of the fish who's like, you know, he's, swimming and yeah, he goes up to another fish and being, he's like, looking for the ocean. He's like, you're in the ocean. like, this is water. I'm looking for the ocean. Right. There's something about like the fish, you know, he doesn't know he's wet. And so I think by exposing yourself to other frameworks, you can understand the more dominant one and what makes it different. Um, so.
Nathan Toups (12:44)
Yeah, I also, I'm not sure
we would have read or had the confidence to read the advanced react book if we hadn't read hypermedia systems. So I do think that those are related in that way too.
Carter Morgan (12:54)
Yeah.
Okay. So I, I'm at two and a half out of four. Uh, you unfortunately are one and a half out of four. So we got to keep, we got to, we got to pick up the pace to meet our 50 % goal. Okay. Team topologies by Matthew Skelton and Manuel Pais. Manuel Pais, another guest to the podcast. Um, and this that we're in February now. So we read, uh, we, Nathan, are these the publish dates or the record dates? February 17th.
Nathan Toups (13:03)
That's OK. That's OK.
Wow.
Those
are when they published the dates. ⁓
Carter Morgan (13:26)
Okay. Okay. So February
17th, February 24th. Okay. Team topologies. There's another great book. and this leans a little more into the culture business side of the books we cover. So Nathan, you've got two action items across the two weeks. said, I want to get better at identifying suitable streams of change and identifying the monolith and structure and process. It looks for ways to, to use fracture planes to guide breaking them up.
Always great when I read some of these things and don't remember the terms being used.
Nathan Toups (13:57)
Yeah, I know, know it's like steeped in
terminology that probably was quite meaningful to me at the time. So ⁓ I've actually done more research in this, but I haven't been in a role at my current company to impact the change of this. so ⁓ that may shift. I'm actually heavily looking into ⁓ doing consulting again. And this is an area that I'm very interested in. And so I have been doing a lot more research. But as far as
Carter Morgan (14:04)
You
Right.
Nathan Toups (14:26)
accomplishing these things, ⁓ not directly. I have talked to some CTOs just kind of like over coffee, and we've had these team topology type conversations, but nothing in which I've actually impacted change directly.
Carter Morgan (14:38)
Okay, so I feel like you should get zero out of two, not even half a point. Those coffee chats are worth something. Okay.
Nathan Toups (14:39)
I'm gonna go with a zero, okay. Give me half a point. Yeah, let's give me half a
point. This CTO conversation's been helpful, I guess.
Carter Morgan (14:50)
Okay. So that you get half a point that brings it. Okay. Me. So what do got? What do
Nathan Toups (14:52)
Okay. Okay, so yeah, for you,
you have your two weeks. have, want to get better at identifying when teams have naturally run their course or are in need for a shakeup. The other one was, I want a better understanding of who our customer profiles.
Carter Morgan (15:10)
Uh, yeah. Okay. So I'm going to give myself a full point for identifying when teams have run their course and our need of a shakeup, not because I am in a huge position to do this. I am, I do not have any official, I have engineering team lead responsibilities, but not, um, direct people management responsibilities, but my manager does treat me like his sounding board and confidant. so we actually just had a big conversation.
the other day about shaking up the teams and trying to align them ⁓ in. Right now we have aligned the teams a little more like towards the exact project we're working on, but culturally we don't love that. We want teams to be cross-functional. And more importantly, like when we're planning the project roadmap for the month, we find that like us and product are thinking in a way where we're like, okay, and then this team is working on this project.
So what types of project work could we get done, you know, for this kind of project? And we're wanting to align the teams more on like metrics. so we're like, okay, so this team's job, we're a startup, so there's only two teams, right? Is focusing on growing weekly active users. Whereas this team's job is focused on growing direct monetization. And so then we want to kind of bucket all the features. We figure those are kind like the two biggest metrics that the company has to move. And then you can bucket all the features for what
might happen or what might move those metrics into those two different teams. And we think that that gives us a little more flexibility to shake things up as opposed to like, again, we might be spending too much time on a particular project just because we think that's that team's project, if that makes sense.
Nathan Toups (16:58)
So I think you should get credit for two points. Number one, these are streamlined teams, right, which is the team topology's way of describing this, and you're thinking about customer profiles. So I'm gonna say two points for you.
Carter Morgan (17:03)
Yes?
Hmm. Because the customer profiles, I was going to say, I wish I were, in fact, I have product managers are kind of pushing me and thinking like, or saying like, what's the customer profile? What's the customer profile for this? And so, you know, I'll get myself some credit if only because they're pushing me on it, but you know what? If you say get two points, I get two points. So, okay. I get, I get the two points.
Nathan Toups (17:29)
I think you deserve that. This actually gets into,
think, and this is something I hope that we can dive into more later. I think they're called Wadley maps. don't know if the first one really talked about it. So I was kind of looking at a preview of the next version of this book. it might be Wardley or Wadley, I can't remember. But it's exactly this. It's like, do we map direct impact and indirect impact software development?
and how easy or hard it is to do with customer value and what they're looking for. Yeah, I think it's something that we should definitely, when we get into Team Topology's version two, I think it would be cool.
Carter Morgan (18:03)
How interesting.
Yes.
Okay. So score so far, I'm at four and a half out of six, but Nathan, you are at two out of six. So you, you got to come back strong and you're going to do it. I believe in you because we got sys.
Nathan Toups (18:21)
It's okay, okay, I'm at 33 % right now, it's okay.
I think the systems design
section is going to be redeemer for me.
Carter Morgan (18:29)
There
we go, okay. System design interview by Alex Zhu. This was in March 3rd and on March 17th. You can tell there was a breather in the middle there because I was taking graduate algorithms at Georgia Tech.
Nathan Toups (18:43)
Yes. We really pick up the pace
later in the year because you're like, man, we're already in March or end of March and we've only got four books in.
Carter Morgan (18:47)
I know, right?
Okay. So Nathan, you had two points. You said, I'm going to be spending time digging through the recommended articles and blogs. And you got a bit of a cop out here. You got not much. This is already pretty core to what I work on. Um, so I'll give you a point for that. If you continue to do high level system design work in your job. Okay.
Nathan Toups (19:10)
Yes, so yeah, I
was. was doing a lot of high level systems design. I still am a software architect. working on a pretty major system that we're close to shipping, which I'm pretty excited about. And it was about this time that we had some conversations about it, but we hadn't gotten too deep at that point. ⁓ I did follow up and read articles and blogs from this. So yay. OK.
Carter Morgan (19:31)
There we go. Okay. That's good. So two points.
Nathan Toups (19:36)
Yay, I know I needed it. ⁓ So,
I'm at 50 % now. So, Carter, you have, ⁓ you want to work on back of the envelope estimations and reading engineering blogs.
Carter Morgan (19:49)
Okay. You know what? I am going to give myself a full point for the back of the envelope estimations. ⁓ not because you get the opportunity to do this a ton, but I was actually, I used it a bit when I was interviewing for other jobs and I've been interviewing, ⁓ we're hiring a new engineer at my current place. And so I've been conducting the system design interviews and I found myself just wishing that candidates would be doing back of the envelope estimation. And in my head, I'm doing some back of the envelope estimation now.
When I go for, you know, hopefully many years from now, when I'm interviewing for another job, I do want to be better at like, I believe he has tables in this book where he basically says like, okay, you know, a sentence roughly would be about this many, you know, bites of, ⁓ you know, this many, ⁓ bites. then you can kind of like from there, extrapolate out like, okay, depending on how many users we have, I can get an idea of this just cause our yesterday, the candidate said they'd want to use a post-crest.
database, which I thought was a good choice, but then you're kind of brought to like, okay, so, um, it's it's post-cris database. And so eventually you're going to have to like, how, how big can that scale? Right. And then it's even, I think it'd be even better if you understood like the AWS database instances and their prices, because then you can sort of understand like, think like an entry level database, like 30 bucks, and you can get like a good amount of storage for as low as like $500 a month.
which for like a business isn't crazy. And so I think if you showed a good understanding of how your data actually translates into like actual data size and then how that affected cost, I think that's something that would really level you up in an interview. So was hoping to see our candidates do it. So I'm to give myself that as far as reading engineering blogs, half a point, I have not specifically sought out any blogs, but I have been better about reading some of the ones I find. I don't know if I mentioned this in the podcast, but I read a really good, interesting article.
from Microsoft about how they've built Xbox cloud gaming. Cause I was just like the latency for that is like zero, right? Cause I've been doing it a lot. Cause I've never played halo before. I've been in, I was a Nintendo guy growing up. And so I've been playing it on my computer, which has been a lot of fun. But yeah, just when you figure that like your input and the response has to reach, has to travel so fast that there's like sub 50 second, 50 millisecond latency on each, one it's impressive.
Nathan Toups (21:50)
Hmm.
Have you read the
latest ⁓ blog post from Cloudflare on their postmortem for their outage? Phenomenal read. I highly recommend it. I'll try to put it in the show notes if I can remember. First of all, it's a fantastic read. Second of all, he has a screenshot of one of their dashboards of when the error ratio went up. And I'm not joking. It goes to 28 million requests per second. And I was just thinking, I've
Carter Morgan (22:19)
No, that sounds interesting.
Nathan Toups (22:42)
never even imagined a dashboard that would have 28 million requests per second in my dashboard. So that's completely nuts.
Carter Morgan (22:48)
Yeah, per second. That is crazy.
So I'll give myself half a point for that. I have not specifically, I wish I could say I'm like a regular consumer of engineering blogs. I have been reading more of them that I had probably at the beginning of the year. Okay. So that brings me out. I'm doing okay. Six out of eight. Nathan, you have met par. You are at four out of eight now. Okay. All right. Worse is better. This is an essay by Richard Gabriel.
Nathan Toups (23:05)
I'm at par. Yeah, we'll see what happens. It's anyone's game at this point.
Carter Morgan (23:14)
⁓ Not a guest of the podcast, maybe one day. We've got Nathan, optimizing for simplicity is a beautiful thing. I hope this helps inspire me to get out of my own head. How are you doing on this?
Nathan Toups (23:27)
Hit and miss. ⁓ I've definitely used this to ship something faster than I wanted to. And I really brutally stripped out, and I have one example, so I'm gonna give myself a point on this. I have an example where it, me and somebody I was having a rubber ducky conversation with, kind of like he encouraged me and I shipped the super simple version and it's actually being used in ⁓ application in our company. Because I shipped the simple version and not the full featured one.
Carter Morgan (23:35)
Okay.
Nathan Toups (23:56)
Turns out we only needed the simple version, and I was better for it.
Carter Morgan (24:01)
There you go. Okay, so what do you think? Do you get half a point or a full point? You get a full point.
Nathan Toups (24:04)
I'm gonna get a full point on that one. I did
implement this, so I did do it. ⁓ So Carter, you said, actually feel like I've been ⁓ better at this lately, but I also think that I need to make things simpler.
Carter Morgan (24:08)
Okay.
Yeah. So I think worse is better just to summarize for our users is this idea that like you got to ship faster. And sometimes it's better to ship something with fewer features than with more features. ⁓ so you know what? I'm going to give myself the full point on this. feel like I have been really good at my job about, ⁓ advocating against scope creep about my preferred method of project delivery is I say we pick the deadline. We say.
when it needs to be delivered by, and we lined that up with kind of like business needs. And then what's squishy is scope, not the date. And so I think having a date we have to deliver by is a really good forcing function. ⁓ And I've been really good about that with the stuff we've worked on where I've said like, okay, well you want this, but it needs, like you say you want this, but we want to deliver in two weeks. And so if you want this, then we have to get rid of this. What do you think? ⁓
And we've also been good about like, think not over optimizing, like we had been branching more into AI offerings. Like, ⁓ we have Leland plus, which is our content library. And so something we have on Leland plus is we call them AI modules. And they're kind of just more like hyper focused chat bots preloaded with a lot of context from what we have learned and what our coaches have learned about kind like expert institutions. So for example, one of them would be like a Harvard.
essay evaluator, right? And so we've kind of preloaded it with a lot of context about what makes a good Harvard essay and what we've seen make, you know, successful candidates do in the past. You can upload your Harvard essay and it'll give you feedback on it, right? When building this, there was a lot of talk about like what makes a good AI architecture. And I actually advocated pretty hard for like, at least at the beginning, we should just have one big old prompt. Like we should basically just
have a system prompt loaded with a bunch of context, but we shouldn't like try to do any multi-agent flows or rag or tool calls or anything like that. I think a big old prompt makes sense. Let's prove the value here. And then if we're getting a lot of value out of this, let's build on top of it. And so we actually have been able to make a decent amount of those. And we've seen good signal that customers are finding them valuable. ⁓ And I think it also really helped, especially for the first pass at this because
If you want to kind of build like an AI offering in your product, there's already a lot of foundation you have to lay even from like building a chat interface. And so I thought I think it was the right call and I I'm going to give myself a full point on this. think, I think we've done well.
Nathan Toups (26:56)
That's awesome.
Carter Morgan (26:58)
Okay. So that brings me up to seven out of nine. Nathan, you are now at five out of nine. So not, not too bad. Okay. ⁓ good news factory by Kent Beck. love this one. And Kent Beck also, ⁓ came on the podcast, but he did not come on the podcast to discuss good news factory. came on the podcast to discuss tidy first.
Nathan Toups (27:05)
Okay.
Yeah.
Yeah,
I wonder if it would be cool if we reached back out to him, see if he'd be interested in coming back to talk about that, because yeah, there's some really cool ideas in this book. Speaking of, I'll switch it up. I'm going to ask you first. So Carter, you said, I want to be more aware of the 3x spaces. That's all you put. I actually put some context, because this was a TBD. ⁓ The 3x spaces are explore, expand, extract. There's like these discrete levels. Have you been more aware of these?
Carter Morgan (27:30)
Yes. Okay. Okay.
Okay.
⁓
Nathan Toups (27:51)
you
Carter Morgan (27:51)
well, considering I forgot the three X terminology until you mentioned it, ⁓ I'm going to say no, I have really enjoyed being at a startup and being more aware of like the different kinds of business stuff going on and, how that's translating to technical needs. But I can't say that I've mapped it directly onto explore, expand and extract. So what about, ⁓ you, Nathan, you've got.
Nathan Toups (27:55)
Okay.
Carter Morgan (28:17)
Drop the, let's get it right the first time obsession.
Nathan Toups (28:21)
I'm gonna have to have a, I'm gonna get a partial credit on this. I have done this for some things. I think that kind of also ties into the worst is better where I did ship that project really quickly, but I've also reverted back to the mean and left to my own devices. I'm always trying to get it right the first time. so I'll probably need a little more coaxing and that.
Carter Morgan (28:25)
Okay.
Well, hey,
if you get half a point on every one from here on out, you'll meet your goal of 50%. So, okay, so I give myself a one out of one on this and you gave yourself a. ⁓
Okay. So that brings me up to eight out of 10. And that brings you up to, ⁓ six out of 10. Okay. There we go. We're tracking ahead. We just have to not, not blow it down the stretch. Okay. This brings us into April 21st, thinking and systems by Don Alamedo. ⁓ this had, ⁓ this episode had one of my favorite comments from a listener ever.
which is where someone said, like, I feel like you guys could have read like Dune or The Hunger Games and had the same podcast because we talked a lot about things that weren't this book in this episode. Most episodes were pretty good about covering the book, but I guess this one we rambled for a bit. So I think the viewers still liked it, but hey, Nathan, let me give you. Okay, so you said, I want to get better at thinking and leverage points and trying to impact change. Any thoughts here?
Nathan Toups (29:30)
That's hilarious.
That sounds
really fancy. don't even, I mean, I think that these are like high impact. These are like trying to be high impact so that the amount of effort that I put in has this disproportionate feedback loop, but I lost track of that. I'm gonna give myself a zero on that.
Carter Morgan (30:03)
Yeah. I'm like, as we're doing this, are we going to publish this episode?
Nathan Toups (30:06)
It's okay, it's okay, it's-
No, I'm okay with it. think
this has been a weird year, so it'll be good to document it. We can go back, in the five-year mark, we can go back and do a meta-analysis of these accountability episodes. So you said, I want to be better at identifying tragedy of the commons in thinking of ways to fix it. Have you? Okay, okay.
Carter Morgan (30:20)
Yeah.
Uh, yeah, that's a zero.
I, I, again, I think there's some thinking around this. Like I have thought about like, you know, making sure that like, we're all contributing to our documentation, making sure that like our, you know, no one's skipping the lint check, making sure that our tests are passing. But I've been thinking of those more from like a good programming hygiene perspective. can't say explicitly thought tragedy of the comments. got to.
Be guarding against that. So unfortunately I have to give myself a zero out of 11. So that we're doing, I'm, I'm at an eight of 11. I got room to fall. You're at six of 11. You're on the bubble, but I have a feeling with rocking concurrency by Kirill Bobrov. I can't remember if it's Cairo. I'm sorry, I think it's Cairo. We had him on the podcast. Really cool guy too. And that was really cool of him too, cause he had said he had never done a podcast before. And so I, you know, I was impressed at his willingness to.
Nathan Toups (31:07)
Okay. Hey, we're keeping it juicy. We're keeping it juicy this episode.
I'm on the, yep.
He's a great guest,
yep.
Carter Morgan (31:34)
Yeah, Okay, this just brings us to May. Okay, so Nathan, you've got explore tasks decomposition patterns outlined in chapter seven and some tasks I'm working on an existing project.
Nathan Toups (31:48)
Yeah. no, sorry. Is that me? Yeah, that wasn't okay. Week one and then week two. I see, I see.
Carter Morgan (31:55)
Yeah. and then
week two, I'm so sorry. And then your week two, you've got, this is the first I'd heard about Foster's design methodology. I want to explore this framing more.
Nathan Toups (32:04)
Yeah, and so these are actually complementary to each other. I actually have to go back and look and say, what the heck is Foster's design methodology? ⁓
Carter Morgan (32:10)
Listeners, you
listen to the episodes, you know that at a certain point during the year, we discussed Foster's design methodology in depth and understood it to some degree, but it's now November.
Nathan Toups (32:21)
Yeah, and I was really impressed with
it. And I'll tell you, I looked at it last night, and I was really impressed with it again. I was like, this is cool. I should think about this more. So no, I'm going to give myself a zero. The decomposition patterns is actually a subcomponent of Foster's design methodology. So I can at least answer that in intelligent way, because I'm like, well, the decomposition patterns. It's a really interesting and methodical way of taking a problem and then using these phases of sort of like,
breaking them apart and then putting them back together to see, I solving this ⁓ in a smart way? And it's a way of identifying concurrency patterns that you could use. So that's the whole point, is that a lot of data science folks or data engineering folks are always trying to look for embarrassingly parallel or ways to fan out and fan back in. ⁓ I'm a big appreciator of it. will tell you, this is a pattern here. If I don't have something directly actionable in my life, and I think this goes for all of us, right?
Carter Morgan (33:00)
Yeah.
Nathan Toups (33:18)
I can put it in the back of my mind and then honestly I'll forget about it. I just forgot about this. ⁓ cause yeah, Carter, you said ⁓ you agreed on fosters. That was one of your weeks. And then you also, ⁓ you want to understand concurrency and rest better. So ⁓ how are...
Carter Morgan (33:33)
Yeah.
I had to give myself
a zero on both of these. I will take responsibility for the fosters. ⁓ This one is funny in hindsight because I used Rust a lot at my last job and I think I was laid off the day we recorded this episode where I said I wanted to understand concurrency and Rust better. So I didn't get, so no, I never got the chance. that's.
Nathan Toups (33:53)
No way. ⁓ man. Yeah. You got the rug pull.
Yeah.
Carter Morgan (34:01)
Yeah,
I can't say that I did either of those things. Oh, we love this book so much and Cairo was such a great guest, but unfortunately that did not help us in terms of our scores. That brings me to eight out of 13. Nathan, you've fallen behind. You're at six out of 13. We got to come back strong. Okay, rework.
Nathan Toups (34:17)
It's okay.
I think there's a 50 % chance I'll be under 50%, so.
Carter Morgan (34:24)
Okay. Rework by Jason Fried and David Heinemeyer Hansen, otherwise known as DHH. Jason Fried, another guest of the podcast. ⁓ okay, Nathan, we got for you, this was a one weeker for you. It's say no by default. The productivity and evolution section hits hard. I'm a natural people pleaser. So being more aggressive and saying no is my next focus. What do you got here? There we go.
Nathan Toups (34:46)
This has been a success. ⁓
Yeah, this actually was a change in behavior. Even if it's like twisting my arm sometimes, because I really am a people pleaser and I really do want to say yes, I've been really good about not taking on any new work, ⁓ work in progress type stuff, both personally and professionally, so yes. ⁓ Carter, yours was a TBD, but I went back and listened to the episode and I'm paraphrasing this.
Carter Morgan (35:08)
Okay.
There we go.
Nathan Toups (35:15)
but you said, I'm already implementing scratch around itch and the obscurity principles. ⁓ You talked about a stealth software startup that you started working with.
Carter Morgan (35:25)
Yes.
So obviously did not wind up going with the startup, ⁓ because, ⁓ that I wound up getting a good job with my current place. ⁓ as far as, but I'm to give myself credit for scratching your own edge. And this might be a little more, ⁓ from Dan Heath, ⁓ who we had an awesome interview with. And I've just been thinking a lot about his, what he told us about, ⁓ you just got to work on what's the most fun, because if you work on what's the most fun and the most interesting to you,
then you're going to work the hardest. And if you work hard, then that hard work will be recognized and that'll give you more opportunities. And so I've just been thinking about the kind of natural flywheel. And so I have done that at work. The AI stuff is actually, I've been the engineering lead on that. And I think it's really cool and interesting, but we are expanding to do kind of more like social media features in a way. And just...
Nathan Toups (35:53)
Right. Right.
Carter Morgan (36:21)
For some reason that seems more interesting to me. I really like distributed systems. And so my boss kind of gave me the chance, like which of these two projects do you want to lead? And even though I think AI is like hotter and the more responsible thing to do, I chose the social media stuff. I mean, my current job was whole scratching your own itch. Like I had offers from several places and this one, even though it wasn't the highest paying out of all of them, I just said, this sounds like the most fun. These seem like the best people. This sounds like we're, I enjoy spending my time the most.
And then no promises on this. haven't even told you this, Nathan, but I've got another project I'm working on, which is, ⁓ which is very much in a scratching your own itch sort of thing. And so I'm working, I've got my, my brother and I are partnering on it. And so I think it'll come to fruition, but, and if it does, I'll share it here on the podcast. ⁓ so yeah, so I actually think I've done a lot of these kinds of scratching my own itch sort of stuff. Again, maybe, maybe Dan Heath gets more credit for that, but.
Nathan Toups (37:09)
Cool. Amazing.
Carter Morgan (37:19)
the sentiment rings true, so.
Nathan Toups (37:21)
This predates
us reading ⁓ Made to Stick Again, but maybe that was in the back of your mind too when you were reading Rework and those two ideas resonated. So that's cool.
Carter Morgan (37:29)
Maybe.
Okay. So you're back up to where you need to be. You're at seven out of 14 and I've got wiggle room. I've got nine out of 14. Okay. In the Plex by Steven Levy. This was a three parter. this is a chance. Get three points on this one, Nathan. So, okay. First week you said data should drive decisions, challenge decisions made without data. What do you got here?
Nathan Toups (37:38)
Nice.
There we go.
⁓ I will say that's actually, I was successful with this. There was again, that project where I did, I shipped the Scrappy thing, me and the guy working on that, ⁓ really were, our company really goes with their gut on a lot of things and then don't back it up with data. And I think you have to have the combination of the two to be successful. So we actually were. So yes, one point for that.
Carter Morgan (38:04)
Okay.
Okay, next you've got, when thinking big, don't be afraid to think even bigger.
Nathan Toups (38:27)
So this one is one I've actually been challenging myself with with this new consulting business idea that I have. So there's a very comfortable path, but I'm thinking about these higher order things and I've actually started kind of not officially having a mentor, but having someone who is thinking bigger that I've been talking to. So again, I'll give myself credit on this one. I gave it space in my life.
Carter Morgan (38:49)
Okay.
There you go. Okay. And maybe this is a freebie. You for your last one, you said, don't be Eric Schmidt.
Nathan Toups (38:55)
It's a freebie.
I'm still currently not Eric Schmidt, so I think I get a point. Oh yeah, this thing. Yeah, I'll take, I did, I did. This gonna be some wiggle room, because I know that there's some failures coming up. So Carter, we'll do the same thing. We'll kind of go in order, because these are kind of pretty discreet interactions. So first week you said, you want to be more ambitious.
Carter Morgan (39:00)
Okay, there we go. We're going to game these in the future and add more like these. ⁓ Nathan, you needed that. Okay, so.
Nathan Toups (39:24)
⁓ I would have balked at crawling the entire web.
Carter Morgan (39:28)
Yeah, I think I have been more ambitious. I'm trying to think like technically. Cause. Cause there's trade-offs, right? And at the same time we've talked about, like this episode out scope creep about making sure that, you know, we, don't bite off more than we can chew. But I'd say in general, in my personal life and my professional ambitions, I had been more ambitious about what, I can achieve. ⁓ I think I just wrapped up, I talked about this on podcast last week, but I just wrapped up. got.
All of our infrastructure imported into Terraform, staging and production. and whether or not that's truly ambitious, I think that is something in the past I would have said, that sounds like a big project. We better talk about this for a while. We better set aside lots of time. And instead I was like, you know what? I'm just going to get this done kind of like in my quote unquote spare time at work. And, and I got it done. So I think that I'll give myself a point there.
Nathan Toups (40:00)
Yeah, so cool.
That's cool. Then the second week, think it's actually a compliment to this, said that you agree and that you want to think big. So I had said thinking big, think bigger.
Carter Morgan (40:31)
Yeah. Yeah. You know what? I'm going to give myself credit for that too. We have big ambitions about what we think Leland could be. I think what's really cool about working at Leland is it's like, you know, we have the one-on-one coaching business, which makes us a good amount of money and could be a very good lifestyle business just on its own. And to our CEO's credit, he is not interested in like super optimizing that business. He's interested in all of the other things Leland could grow and be. And so it's really fun in engineering because like
In some ways, we're almost like working on a startup at a startup, right? we're, and so I think, yeah, think Leland has a good culture of that and I think it's been a good fit for me. So I'm giving myself a point off on that.
Nathan Toups (41:03)
That's cool.
The last one you have is, carefully examine my values and be suspicious if the right thing for the world also conveniently makes me rich.
Carter Morgan (41:17)
Okay.
You know what? I think I'm going to give myself a point for this too. That was a wake up call for me after leaving my last big tech job and joining a startup and just realizing that like, I I, I didn't realize I was spending a lot of like psychic energy on every day, convincing myself that I didn't hate my job. Right. And like, and there were a lot of reasons not to hate my job. It paid really well. I liked my coworkers. was remote, but like, aside from that, I didn't like what we were building.
I didn't think what we were building made any positive impact in the world. I didn't think we were doing a good job building it. And I didn't like what we were using to build it. And it's like, at the end of the day, as a software engineer, like that's so much of what you do. And so, ⁓ I've been more cognizant about what I'm working on today. And I do think.
I do think I optimize less for like what makes me a lot of money and then let me conveniently also convince myself that this is really good for me or really good for the world. So I gave myself a point here.
Nathan Toups (42:23)
Yeah,
I can be, I mean, just from my observations, it seems like I know every job has ups and downs, but you seem very engaged and excited about things more often than frustrated, at least, you know, in the way that I can tell. So it seems like it's been a positive change for you.
Carter Morgan (42:32)
Yeah.
You know what? I would agree. I think it has been a really positive change in my life. And you know, it's a, I think it's good. think it goes to show folks. mean, sometimes, you know, life doesn't always work out the way you want it to, but hey, that doesn't mean that what's coming around the corner isn't even better. Um, okay. We got thinking like a large language model by Mekunda Sundararajan. Sunda, Sundararajan. My apologies, Mekunda. Um, Nathan, this takes us to June 23rd. You've got.
Put more effort in honing my prompt engineering skills through experiments that test my understanding of the mental models for large language models.
Nathan Toups (43:14)
overwhelming success. think that I went from incredible LLM skeptic and to someone who I think I found some very nice augmented AI patterns that I mean, I don't know my type of work that I'm doing on a daily basis is fundamentally shifted and it happened this year. So yeah.
Carter Morgan (43:17)
There we go.
There we go. Okay. And yeah.
Nathan Toups (43:36)
Okay, you said
at my new job, so I guess you were at Leland at this point, ⁓ I'm going to do some work with an AI first product. I could see using some of this advice in this book.
Carter Morgan (43:41)
Yeah.
Yeah, you know, I'm going to give myself a half point here because I have become, I did do a lot of work with, with our AI products. ⁓ I have done a lot of research into like what makes a good prompt. ⁓ I even have some kind of like custom prompts and like open AI playground that I use for kind of some personal stuff. ⁓ I, cannot honestly say that I was thinking really, really strongly about this book and taking all of its
prompt advice in here. So I give myself half a point for that. But I am proud of my knowledge of AI and how it's developed this year. think it's been... The technology still fundamentally frustrates me because it's by nature non-deterministic, but it is very interesting. And so it's been fun to play with it. So, okay, so that brings me up to 12 and a half out of 18. Nathan, you are at 11 out of 18. you are... We're running okay. And we're getting closer to each other.
Nathan Toups (44:32)
Yeah, yeah.
We're running okay. We're doing okay.
Carter Morgan (44:46)
Okay, DevOps Handbook by Jean Kim, Jez Humble, Patrick Dubois, John Willis, and Nicole Forsgren. Patrick Dubois, ⁓ a friend of the podcast. Okay, Nathan, I'm going to do these one at a time. ⁓ So our first week covering the book, got to get a chance to earn three points here. We've got Institute, Stop Starting, Start Finishing Days.
Nathan Toups (45:07)
overwhelming success. ⁓ We have not started any new projects since. We've had one big project that we've actually had deliverables that have gone through. And I think the only way it was successful is that I've been aggressively saying no, and I've been focused on this project. So yeah.
Carter Morgan (45:09)
really?
Okay. ⁓
Okay, great, so that's a point for you. What about, ⁓ said, I love the concept of ship something day, I'm stealing that.
Nathan Toups (45:34)
I do like the concept of ship something day. ⁓
I stole it and then we stopped doing it. So I'm gonna give myself a zero on that one.
Carter Morgan (45:42)
Dang it.
Okay, clear out of that. I'd say there's an argument for quarter point, but I don't think we're doing quarter points. And then level up your documentation sharing game.
Nathan Toups (45:48)
That's okay, no, zero's fine.
I would say this is a success, partially because large language models have been very helpful. yeah, yeah. I still write the documentation, but I will get them to heavily augment. At least give me a good structure. I find a lot of AI-generated stuff, if I just vibe it, is kind of obnoxious. But yeah, it helps me get over my hump of, I don't want to get started.
Carter Morgan (46:02)
Okay, there we go.
Right.
Yes, I am absolutely that way with documentation too. And I've been using AI as well to just get started. Okay.
Nathan Toups (46:27)
Okay,
here we go. We'll do, yeah, lightning round for this. First week, it was a TBD, but in the episode, you said you want to keep work in progress low. You want to keep keeping work in progress low, which was like a, I think keep work in progress low was like a mantra that you had on your team at the time.
Carter Morgan (46:48)
Yes. You know what? I'll say we're still doing a good job of this. think, yeah, we're keeping working progress low.
Nathan Toups (46:51)
Okay. Awesome. Okay.
And then you said, ⁓ the second week you said decouple releases from deployments.
Carter Morgan (47:00)
You know, this has actually been an astounding success on the team. ⁓ and this was, this was straight from the book. remember listening to this while biking to work. And I was just like, we don't do this. Like we, we didn't, we didn't even have the CICD set up at this point. Like, mean, like, guess like, yes, we had, we had checks on like our CICD pipelines, but we're still deploying manually. And, ⁓ and so I led a big, so one, we weren't able to deploy manually because
Nathan Toups (47:04)
I love it. I love hearing that.
Carter Morgan (47:28)
Every time you deployed the website, went down and you had to just kind of like watch the Azure console and then restart it manually. And we were just, we were using some Azure services, kind of like the equivalent of like, like elastic beanstalk. We're just abstracted away a lot of the complexity for you, but we'd gotten into a bad state. And so we just were like to troubleshoot, this would be too difficult and we don't even want to be on Azure anyhow. So I was tasked with leading our migration from Azure to AWS. And so I led us to AWS. And then with that came the website.
Nathan Toups (47:54)
All
Carter Morgan (47:57)
no longer going down when you deployed it. And with the website no longer going down with you deployed it, that led us to be able to do CICD. And with us doing CICD, that made it more so that their product doesn't even know when we release anymore. Exactly. Exactly. And we have a judicious use of feature flags. And yes, I think this has been a resounding success for my team.
Nathan Toups (48:10)
That's way it should be. That's amazing.
Amazing.
So two points. And then the third one is you wanted to improve team learning. I don't know the context on this. Do you know how to interpret this?
Carter Morgan (48:26)
I think it means more like if I learn a good pattern or someone else in the team learns a good pattern, then we go in and share it with others. I'm gonna give myself, you know, I'm zero out of one. Again, I think this could be a quarter point, but there are some things we've made some good technical strides that I have led. And there are just some things like we had this yesterday. We're like, love the AWS migration, but then we had ⁓ a system outage and we had to roll back.
And one of our team engineers on our teams was a very smart guy. just like, I don't know how to roll back the system, which is something I'm very intimately familiar with. I'm just like, that's a failure on my part. should. Right. And we did, we did do a training on it, but you know, it's, it's gotta go further than a training. So.
Nathan Toups (49:01)
All you need a run book, yeah.
Right.
Yeah, for sure. No, and this is a hard problem. We don't get too into the weeds on this, but I was recently doing some assessment work of another ⁓ business, and that was one of the things I noticed as well, is that the lack of runbooks, you don't need a runbook until...
the alarms are going off and all of a sudden you're like, I need to just have a checklist. We should read the checklist manifesto at some point because it's exactly this. It's like when life gets crazy, if your pilot realizes that the console and the airplane's going crazy, you don't want them to have to get creative and think. You want them to open the page, open the book to the page they know it's at and then go through the five point checklist to get the plane fixed. so, yeah, when you're level headed,
Carter Morgan (49:27)
until you need a run book.
yeah, yeah.
Nathan Toups (49:55)
know, write the checklist and then you can just do it.
Carter Morgan (49:58)
Okay, I'm trying to sum up our points here. Actually, I I might've, I'm doing this on a notepad.
Nathan Toups (50:03)
So you were, I think
you were one one zero and then I was one one.
Carter Morgan (50:09)
I think I have used 101. 101. Okay. I'm going to sum up the points again here when you are talking because I think I messed this up. But don't worry, I have an accurate record. I just need to do my math right. Okay. So let's go ahead. Okay.
Nathan Toups (50:11)
1, 1, 0, 1, yes, that's right.
So just for fun by Linus Torvalds, we read this
at the end of July, or at least the episode came out the end of July, and Carter, you said, I wanna have more fun. Have you had more fun?
Carter Morgan (50:39)
You know what?
Oh yeah, absolutely. I've been having so much fun at this job. again, my job's a job and most days I'd rather stay at home with my kids than go to work. But if I can't be with my kids and I can't be alone at Disneyland, uh, you know what? I'll take, uh, I'll take going to work every day. It's been fun. And I'm going to give myself a good point for that. For you, Nathan, what do we got? You said.
share my work earlier and work on those little personal obsession projects with no practical goal. So I actually just brushed off a weird little project inspired by this. How are you feeling on this one?
Nathan Toups (51:16)
This has been good. I have been ⁓ getting out of my shell more and sharing my work. think, honestly, if I hadn't have done these things, I probably wouldn't have been so confident about contributing to the Open Telemetry. yeah, yeah, I'm gonna say yes. I have some plans for doing more stuff in public soon too. So I think this ⁓ was resounding success.
Carter Morgan (51:28)
Nice, nice.
Okay, great. So you get a point for that. Okay. Moving on. We've got 99 bottles of OOP, which we only read half of. This is by Sandy Metz, Katrina Owen, and TJ Stankus. Nathan, you said, this will help me defend simplicity with more authority. What are your thoughts there?
Nathan Toups (51:46)
Whew.
Yeah, and I think I meant this in
a of you know, side eye sort of way of just being like, hey, look, you can easily get too dry and too clever for your own good and this is insane. ⁓ Actually, the stand up, is like, have you ever seen that on YouTube? It's the guy, the Prime, Prime Igen and a few other folks that kind of like do this for guys talking on the podcast thing. They just did one on dry and Yagny.
Carter Morgan (52:09)
Yeah.
Nathan Toups (52:33)
⁓ And most the guys said never heard of Yagny, which was really funny to me, because I'm just like, I actually posted in the comments, I was like, Yagny is the clapback for dry. That's really what it is. so, but I think that this is, I think that this is a worthwhile debate. I do think that there are times in which like, yeah, you need to abstract around a distance function that's generic enough to handle all types of distance or something, right? That makes total good use of code reuse.
Carter Morgan (52:33)
Okay.
How interesting.
Yeah.
Nathan Toups (53:03)
But getting the factory, factory, factory, so that you don't ever have to think about factories because you want a factory that makes factories in some object oriented thing is like, I'm gonna ⁓ jab my eyes out with a pen. that's. Right?
Carter Morgan (53:18)
It's like, yeah, hey dog, I heard you like factories. So I put a factory in your factories. You could factory your factory, right? You know?
Nathan Toups (53:26)
So
yeah, anyway, I do think this was successful and I definitely think that we read this book and I was like, I've been more confident in defending not going down this path too aggressively, though I have appreciation of object-oriented programming and so I think maybe, I still, I don't know, have have a lot of hand reading, just like in the episode of like, I don't want to beat up on this book too much. I think they were trying to prove a point. Maybe the other half of the book had a reconciliation, but I don't know, I don't live my life that way, so.
Give me a point for that one. I will say yes. I haven't lawful, and you said you agreed. So I think, ⁓ have you defended simplicity?
Carter Morgan (53:56)
Okay, give you a point. so.
Yeah.
Yeah. You know what? I can't in good conscience, give myself a point here. I think I have not argued a ton for simplicity. And really this has just been a shift to my career. I haven't been as in the details on like the specific code we've been writing. I haven't focused much more on a higher architectural level. And, ⁓ I think, ⁓ you know, I think I'd be doing better on that. So can't say I got that. ⁓
Okay, so that, so I got this all on the spreadsheet. Nathan, we're catching up. You are, you're at 14.5 out of 23. I am at 15.5 out of 23.
Nathan Toups (54:42)
Wow, we're neck and neck, okay.
Carter Morgan (54:43)
Okay. Ooh, we get to my favorite book made to stick by Chip Heath and Dan Heath. Dan Heath, the guest of the podcast. ⁓ Nathan, you had across yours, you got a two pointer. So be more mindful of the curse of knowledge, non-expert in concrete examples and spot stories. Don't create them. I want to be the person who recognizes when something story worthy happens.
Nathan Toups (54:47)
Your favorite book.
Okay, I think this is going to be a one and a zero, but cursive knowledge, this has been really interesting. I've been more mindful because my daughter who's 10 has been asking me more questions about like what I do for a living or like what is, you know, like cloud computing or what is crypto or where are all these things. And I remember when she was younger and I kind of give her like super basic explanation and it's made me have to be, take a step back and go, you know what, she's old enough now.
Carter Morgan (55:16)
Okay.
Nathan Toups (55:35)
for me to explain some of this stuff if she's interested, but it's made me have to think about how to explain something from first principles in a way that I haven't had to before with somebody who's actually interested. It's one thing where I'm spouting off about something and my wife's eyes are glazing over and she's like, when is this dude gonna stop talking? My daughter's actually asking me. And if I want her to be interested in these things, I have to be like, yeah.
Well, have you ever thought about this? know, like it's been, I know, so that one was, I would say that one is yes, absolutely a success. I think that this book has been really good to help me kind of think about this from a storytelling standpoint. ⁓ Yeah, spot stories, don't create them. I have not done a good job. want, aspirationally, I want to do something with this. I appreciate that you have put an effort into this, ⁓ but I have not. And so while I aspirationally would love to, I can't give myself credit for it, so.
Carter Morgan (56:14)
Okay, and what about your other one?
Rime, Rime.
Yeah.
Okay. Hey, not bad at 50%. Again, that's all you got to do to make your goal.
Nathan Toups (56:35)
Yep, okay,
so you said, I think about how we can advertise our company's mission more concretely.
Carter Morgan (56:43)
I mean, if you want to say, thought about it, I have thought about it, right? As far as like making any progress here, I can't say a ton. We've talked about this before on the podcast. I feel like we have a lot of like lofty language about how we describe the company's vision. And I would like us to instead more say like a person who starts using Leland, how are they different a year from now? Tell me concretely what has changed in that person. ⁓
Nathan Toups (57:09)
Yeah.
Carter Morgan (57:10)
And even just phrasing it right now like that, I'm like, that's interesting. We should think about that more. So no, I haven't done a great job. I'll give myself half a point.
Nathan Toups (57:15)
Okay,
okay, that makes sense. And then the other one was run through the checklist more often. Have you been running through?
Carter Morgan (57:21)
You know, I will give myself
a point. Yes, I am experimenting with, I have a custom chat, like open AI prompt in the playground that is preloaded with a lot of information on the made to stick success framework. And I have been kind of throwing roughly finished ideas into it and it spits it out as a, I think they are better than my roughly finished ideas. think trying to make sure that they don't sound like generic AI slop has been maybe more challenging. And so.
I'm refining that, but yes, I think about the success checklist often. And also, same when we talked to Dan Heath, I mean, he said that like, the thing is, you don't actually need to do this very often. It's not often that you need to have an idea that has to stick, but it's about finding out when you do have those core ideas, and then when you have them, like not wasting them, and using the success check.
Nathan Toups (57:55)
Yeah, cool.
Yeah, yeah, I
thought that was a good distinction. He's like, not all ideas should be sticky ideas, right? Like, if you have an idea about losing weight, just personally in your life, you don't need to like, it doesn't need to be a story that everyone repeats. Like, it can still be a valuable idea to lose weight, and you're like, I'm gonna do this, and then you make it happen. Yeah, so.
Carter Morgan (58:17)
Exactly. Right.
Right.
So say
for every big idea I've been toying around with, I have thought exclusively about in the major stick. So I'll give myself a point. So I'm at 17 out of 24, you're at 15.5 out of 24. Let's keep it rolling. Okay, Staff Engineer by Will Larson. ⁓ Yes, excellent book. Nathan, you said, create space for others. I'm a tech lead on a team and I've already started this process where this book gives really solid guidance in regards to mentorship and sponsorship, both on my team and laterally across the org.
Nathan Toups (58:42)
Yeah, okay. Great book.
Yep, I did this. It was transformative. I even was completely transparent and told the team I was doing this so that they understood why I was trying to do this. we implemented this in our one-to-ones as well. Later, this radical candor stuff tied into this as well. But yeah, one point. You said you want to focus on high leverage work.
Carter Morgan (59:07)
Nice.
Okay, there we go.
You know what? This is a resounding success on my part. I feel like I am constantly identifying what is the highest leverage thing we could be doing as engineers and then building that. So that's why the AWS migration, CI CD, Terraform, we want to be better about AB testing. And so I like, like pulling all the engineers. said, do you know how to run an AB test in post-hoc? Do you know how to run an AB test in post-hoc? And only like two out of the eight did. And I'm one of the people who doesn't know. And so I'm like, okay.
Nathan Toups (59:32)
Awesome.
Carter Morgan (59:56)
This is a really important thing for the company. And so we need to be able to do this in our sleep. And so I spent actually like too, too many hours yesterday, just really deeply understanding how post-hoc and AB tests work there.
Nathan Toups (1:00:08)
There are more books by Will Larson that we have on our backlog, we will definitely have. And also, Will Larson has a fantastic newsletter and he has a whole thing on Wardley ⁓ mapping and talking about how he avoided them for a long time and regrets doing that. And so again, I think that there's some kind cool ideas floating around. But yeah, great book.
Carter Morgan (1:00:20)
Okay.
Okay, so we're doing good. You're at 66%. I'm at 72%. Okay, Finite and Infinite Games by James P. Kars. Nathan, you said, ask myself on regular basis which game I'm playing and why.
Nathan Toups (1:00:34)
Amazing.
I've been doing this, I've been doing this deeply recently. ⁓ And I've had, it gives you good and somewhat scary results sometimes because you're like, am I going down a crazy path or not if I really double down? But yeah, I don't know. I think there's a way to balance the finite infinite games, understand how do you find the infinite game in some finite game you're playing and things like that. But yeah, I think, yes, I'm gonna give myself a point on that one.
Carter Morgan (1:00:45)
Okay.
Okay, you earned a point.
Nathan Toups (1:01:12)
Carter,
you said you wanted to forget you ever read this book. Now in the episode though, you kind of had, ⁓ there was like a little redemption arc and I don't think you felt quite as strongly, but I think you still didn't love this book.
Carter Morgan (1:01:15)
Yes, I was not a fan of this book.
I did, there was.
Yeah, if I said forget I ever read this book, unfortunately, I thought about this book yesterday and so And so I cannot say I forget I read this book I have to give myself my letter of the law a zero on this Um, and nathan that puts us dangerously close. I'm at 18 points here at 17.5 for 69 and 67 Okay, radical candor by kim scott september 15th and 22nd
Nathan Toups (1:01:43)
Okay, okay.
Wow.
Carter Morgan (1:01:56)
Nathan, you've got, I'm implementing the feedback debt system that I developed for myself, or if I choose not to give feedback, I write it down. If I write it down twice, I have to give that feedback or I'm letting that person fail. Where you at on that?
Nathan Toups (1:02:09)
I never did it. I never did it. I actually got better at just giving feedback. ⁓ I never did this asynchronous feedback queue or whatever. I ⁓ either just gave it immediate feedback or dropped it. didn't keep, I haven't kept credit, so it was, I did learn from the book. I did not do what I said there. Yeah, yeah.
Carter Morgan (1:02:10)
Never, never did it. Dang it.
Okay, there we go.
You
Okay, well hey, that's learning from the book. Okay.
Okay,
second one, you got, ask this, what could I do or stop doing that would make it easier to work with me? I used this this week, it works. Okay, have you been asking this question?
Nathan Toups (1:02:40)
I
did and I have multiple times. I've even done this with other folks that I've started working with. Incredibly effective. It's one of those where you're like, am I doing the pick-up artist thing? Because it's basically a canned question that kind of forces this kind of positive shift in the conversation. But I will say it's really useful in understanding how to work with somebody, especially if you can get an answer out of them. It's really nice. So, yeah.
Carter Morgan (1:03:10)
Okay.
So full point, one and a zero. Okay. That brings you up to 66%. How about me, Nathan?
Nathan Toups (1:03:10)
I'm gonna say one and a zero, yeah.
You said you wanted to avoid ruinous empathy.
Carter Morgan (1:03:21)
⁓ yeah, that's, it's tough because it's like, I think I do a good job avoiding ruinous empathy. I think by nature, I'm not a ruinously empathetic individual. ⁓ and I think I have kind of talked to people about things where I, you know, that were tough and yeah. So, you know what I'd say, I'm going to myself a point here. I think I have avoided ruinous empathy.
Nathan Toups (1:03:42)
Awesome.
What about ⁓ you also have care personally challenged directly?
Carter Morgan (1:03:49)
You know what? I think so. think it's tough because like, I don't manage anyone. And so, but I have done this like in reverse with my boss. have, you know, he's a good boss and you know, I, I care about him and I, there have been a couple of things he've done where I've kind of pushed back and been like, Hey, like, think, I think you messed this up. Or I think, I think if we had done this differently, this would have gone better. And it's, it's worked out really well. He's the type of guy that can really receive it well. And so, you know, maybe it wouldn't work for everyone, but it works for me.
Nathan Toups (1:03:53)
That's awesome.
Amazing. That's cool.
Carter Morgan (1:04:19)
So, okay, that brings me up to 20 out of 28 for 71%. Okay, Mastering Open Telemetry by Steve Flanders, another friend of the podcast.
Nathan Toups (1:04:23)
Amazing.
Yep, episode comes out before this one, so you'll get to hear us talk to him. He's a pretty cool guy.
Carter Morgan (1:04:30)
Yep.
Okay. This was September 29th and October 6th. Nathan, you've got two. I'll just give them to you both at the same time. You said mastering the collector pipelining and get better at framing anti-patterns and pitfalls to leadership.
Nathan Toups (1:04:47)
So I mean, these are getting closer, so I don't know, I feel like I need a little leeway. ⁓ I have not mastered collector pipelining, though it is something that I plan to spend time with, so I wouldn't say this is failure yet, but it's definitely like a not yet. ⁓ And get better at framing anti-patterns and pitfalls to leadership. I have not had an opportunity for this. So I think out of fairness, I'll give myself zeros on these. ⁓
But yeah, but yes, it's okay, it's okay. I've got some wiggle room.
Carter Morgan (1:05:22)
You got my word. Okay.
Nathan Toups (1:05:25)
Okay,
you have, you want to get traces working. Did you get, okay. And then you have, ⁓ you want to demonstrate business value with open telemetry.
Carter Morgan (1:05:29)
Nope, didn't do this at all. ⁓
I was going to go myself as zero, but because we joke about like, want our open telemetry in a better state. And the running joke is that like, it's great for having visibility into the site, but we're still not, it's still not useful enough to do like a lot of like troubleshooting or debugging. So most of the time it's like, someone say, Hey, the site is slow. And I pull up our Grafana dashboard and say, I can confirm that the site is slow. Right. Like, ⁓ but it's not like.
I'll myself half a point because just like two days ago, I did use it to demonstrate business value where we, the site was slow. I spun up more tasks to, ⁓ to bring CPU usage down. But while those tasks were spinning up, I had a hard out. I had to leave work right at that time. And so I was able to log into our Grafana dashboards on our, phone while I was in the drive through and confirm that latency had gone down after the task had been spun up. I took a screenshot of that and posted in Slack.
and said like, okay, we're out of the woods.
Nathan Toups (1:06:32)
So
I'll just give a little bit of ⁓ unrequested coaching here. So I would say this would be a fun thing to whiteboard with your team, which is, of the signals that you're gathering, are any of these something that could give you an early detection? So if this thing starts to creep up, it means that we're about to get to this high latency moment. And if you are gathering that metric, awesome. That should actually join the dashboard. ⁓ Or.
is there something in which if it goes over a certain threshold, we can automatically schedule an auto-scaling event? Meaning, like, the manual thing that you did where you spun up new instances? Could I say if latency gets over this amount, then spin up two more instances of this until it gets below this amount, and then start rolling this back? Those are the kind of things that makes it the next step in your observability platform, because it makes you have, they're little games. You and you're like, OK, I clicked this thing, and then the thing got back.
Carter Morgan (1:07:14)
Right.
Nathan Toups (1:07:28)
can automate that. You don't really know until you try. so, ⁓ yeah. It sounds like you're gathering some good data though, and it's actually been meaningful.
Carter Morgan (1:07:38)
Yeah, it has been really meaningful and it's been exciting. ⁓
Nathan Toups (1:07:41)
So I would say,
so you say, I think that's a one and a zero then. I think you get a 50 % on that. Okay.
Carter Morgan (1:07:45)
Yeah, yeah. Okay, you'll
give me 50 % on that? Okay.
Nathan Toups (1:07:50)
I'm feeling, we're about to be at Thanksgiving, so you know, I'm feeling generous.
Carter Morgan (1:07:53)
Yeah.
Okay, we got two books or three, two books and an essay left. Okay. So advanced react by Nadia Makarevich. So Nathan, you said, I know a lot about benchmarking go-code, but I don't know much about benchmarking JavaScript react code. This book has inspired me to learn more on the topic. And you've also got, I want to go hands on with the debouncing and throttling examples because I find those fun to think
Nathan Toups (1:08:17)
these are, again, aspirational, so let me think. Did I, I've not dug into benchmarking React yet, though I am working on some React stuff that I think this will come up. it's a no, technically, and then also getting hands on with debounce and throttling, no, and I think I probably won't do that. So I think one of these, we'll give me zeros for these, it's okay. ⁓
Carter Morgan (1:08:39)
Okay.
Okay,
I think I might fare similarly. What do I have?
Nathan Toups (1:08:47)
You have, you agreed, you wanted to spend more time in benchmarking React, and then you also said, I'm doing some work with portals and would like to understand the concept more fully.
Carter Morgan (1:08:59)
Nope, ⁓ I VibeCoded that portal and just got it barely working. ⁓ And as far as benchmarking, nope, haven't even touched it. I thought we might do better on the back half here, but it turns out we're doing worse because we have had less time to implement these things. So I think we need to build up a better lead. OK, we got a few more. Beyond VibeCoding by AdiosMani. Nathan, you've got, I wanted to spend more time with AI as Validator.
Nathan Toups (1:09:08)
Okay? Okay.
I know, I know.
Yep.
Carter Morgan (1:09:26)
And you said you want to toy around with autonomous agents. said you're skeptical of them. You've dismissed autonomous agents to this point, but think it might be nice to try some out on a toy app. How are we doing on both of those?
Nathan Toups (1:09:38)
AI as validator I've definitely used, but toying around with autonomous agents is on my like to do list, but I've not done it. So maybe one out of two.
Carter Morgan (1:09:46)
Dang it.
So one and zero. Okay. And then how about me?
Nathan Toups (1:09:50)
And you have,
we're doing a lot of prompting at work. I want to use the patterns from this book. And you agreed on agents.
Carter Morgan (1:09:59)
I gave myself a half a point on the, the prompting patterns again, because I feel like we've gotten a lot better at prompting. And I think a lot of the knowledge I have kind of through osmosis and this book is helping there, but I cannot say I've cracked the book open and said, let me leverage this pattern from this book again. ⁓ so. Nothing, nothing there. And as far as agents, I gotta give myself a zero. We have talked about it and I think someone with just a little more passion than me needs to pull the trigger and actually do it, but it's not going to be me.
So that's a zero. So I think we're going to come in above our 50 % goal, but we will find out with this final one, the Dow of Programming by Jeffrey James. This was our November 17th episode very recently. Nathan, you said, I know I'm supposed to take the advice, but do not program in COBOL if you can avoid it. But now I'm intrigued. Have you programmed in COBOL?
Nathan Toups (1:10:51)
I have not ever read the Wikipedia page to look at the syntax and stuff, but I have not programmed in COBOL. ⁓ Okay. We should come up with some sort of time-weighted ⁓ formula for this eventually. That would be kind of fun. ⁓ Let's see. You have share this with coworkers, maybe make a Slack bot.
Carter Morgan (1:10:56)
I'm gonna give you a half point because we did just read this. I think that counts.
Yes, yeah.
I can't believe that I'm gonna get a zero on this. I haven't done this yet. I haven't even shared it with my coworkers, so.
Nathan Toups (1:11:20)
Well,
I will say this episode came out three days ago before recording this. I do think we should get, we either don't include this in the total or give ourselves a little grace or whatever, but let's do it. Let's do it. We haven't, yep, sounds good.
Carter Morgan (1:11:26)
Yeah, yeah, that's fair.
I think we got to include it in the total. think, okay.
Okay. So our final results, I have a 21.5 out of 35 for 61.43%. Nathan, you have a 20 out of 35 for 27 or 57.14%. So better than our incredibly unambitious goal of 50%.
Nathan Toups (1:11:52)
Hey.
Right.
I think we will get a, in our annual review, I'm gonna put this one under exceeds expectations. ⁓
Carter Morgan (1:11:59)
But hey, you know, it is what it is. We gotta keep ourselves accountable, folks.
There we go.
You don't have to work very hard to work here at Book Overflow. Okay. Well, that's it for this. ⁓ For this year of Book Overflow. ⁓ As far, we sell some bonus episodes coming up. We're excited about those. ⁓ You know, I think this is fun. We got to keep ourselves accountable. We got to make sure that all these books aren't in one ear out the other.
Nathan Toups (1:12:11)
In my self-assessment, I exceeded my expectations.
Carter Morgan (1:12:32)
I think now we have these percentages. think Nathan next year, this is the goal to beat. We got to beat 61 and 57.
Nathan Toups (1:12:38)
That's true. Okay, there we go.
Carter Morgan (1:12:40)
But like all metrics, can be gamed and maybe we will have more goals like don't be Eric Schmidt. ⁓ Okay. That wraps us up for this week, folks. Thanks for listening. Again, stay tuned for our special episodes at the end of the year. We still have, ⁓ maybe we never promised, but we might have some more interviews coming your way. ⁓ And yeah, you can contact us at contact at bookoverflow.io. You can find us on Twitter at BookOverflowPod. I am on Twitter at Carter Morgan, Nathan and his work with Functionally Imperative is at functionallyimperative.com.
Thanks, folks. We'll see you around.