# AI Code Reliability and Engineering Leadership Shifts

**Podcast:** The Pragmatic Engineer Podcast
**Published:** 2026-08-12

## Transcript

Why are there firmly two camps within software engineering when it comes to AI?
Those hating its effects and those who are AI-pilled.
Charity Majors emphasizes both camps and thinks they are talking alongside one another.
Charity is a co-founder and CTO of Honeycomb, previously worked at Facebook and Parse, and is one of my favorite voices in engineering.
Today, we discuss what it would take for us engineers to ship code we have never read and why this is more of a when question, not an if question.
Why reliability is quietly getting worse across the industry and why it will take some time to recover.
Career advice in this age of AI.
Why middle managers should consider going back to being IC and why junior engineers will be okay.
If you want to hear from someone who was skeptical about AI in 2025 but has changed her mind based on the evidence, this episode is for you.
In today's episode, Charity will say, spoiler alert, that the question is not if we will stop reading code written by AI, but when.
And we should take lessons from Ops and QA on how they prove that software that others wrote works in prod.
And she's got a very good point.
As any Ops engineer or SRA will tell you, that's how software has always been written, by unreliable agents from their point of view.
That is, software engineers like me, your colleagues, or you.
And let's face it, you probably haven't read all the code in your code base either.
This is where I need to mention our presenting sponsor, Antithesis.
Antithesis verifies software written by unreliable agents.
It runs your whole system in a hostile simulation and roots out the bugs for you.
It does this by using an approach called deterministic simulation testing, or DST.
Antithesis turbocharges testing by running your whole system under aggressive fault injection.
Imagine Antithesis is hundreds or thousands of versions of the Mario game running, each instance aggressively trying to break the game with increasingly weird input combinations.
If it finds a breakage, this is where the determinism comes in.
Instead of you having to try to reproduce a tricky bug you saw in production, Antistesis can provide you with a perfect deterministic replay of anything it finds every time.
With Antistesis, you can specify properties at the whole system level, and Antistesis will actively try to disprove them, so you can be confident that if your system holds up in Antistesis, it will hold up in production.
Head over to antistesis.com slash pragmatic to learn more.
Charity, it's so nice to do this in person.
You're in my city.
This is amazing.
So today I wanted to kick off with AI.
But before we kick off with AI, I just want to make it kind of clear for people who don't know you that, you know, you're not an AI hater or an AI lover.
You actually built a lot of cool stuff pre-AI, right?
Starting at, we just saw Linden Labs.
Was that your first job?
My first job at Linden Lab right across the street.
Right across the street.
We were just talking about that.
So you were building Second Life?
Yeah, we were building Second Life.
Yeah.
And then from there on, one of the big hits was Parse, the developer tool, which was beloved by developers.
Best backend for mobile services I used to use it.
And then what happened?
Facebook bought you.
Facebook bought it.
Yeah, it was my first great lesson, and most acquisitions fail.
Most were terrible.
This one failed.
They shut it down.
But ultimately, I'm very grateful.
to have had the experience because if it wasn't for that, I've always been a startup kid.
And so nobody knew my name.
And it wasn't until I was leaving Facebook that investors were like, oh, would you like some money?
And that's how we started Honeycomb.
And then you saw stuff at Facebook, right?
It inspired you.
Yeah, yeah.
Facebook, there is a tool called Scuba.
And so we were in a weird position.
We were building on AWS, Ruby on Rails, all this stuff.
And then we got to use the internal Facebook tools.
And Facebook had this tool called Scuba, and it was, we were experiencing hockey stick growth.
It was just like, we had over a million mobile apps hosted on Parse by the time I left.
And every single week, a new one would break.
It would hit the top 10 on iTunes or something out of nowhere.
It would just be like, oh, wait.
And these apps, needle in the haystack, you know, and it went from, it would take hours or weeks, we have to get lucky.
We finally find, because it's not, it might be one app that's spamming the logs, but that might not be the reason.
They might all be backed up behind the reason, you know.
We started getting our data sets into Scuba and finding them.
It just went from being a really hard engineering problem with a lot of luck to just being like, report problem.
Click, click, click.
Oh, there it is.
And it was just mind blown.
Like, you just, that was a huge problem for our entire existence.
And then it was solved.
And then when you started Honeycomb, was this a bit of inspiration that you wanted to build something that feels like Scuba did?
I was planning to go be an engineering manager, an engineer at Slack or Stripe or something.
And I was just like, oof, I would be so much less powerful as an engineer without this.
And so, you know, the grand plan in the beginning, I'm just like, well, all startups fail.
So, you know, we'll fail, but...
I'll go sit in a corner and write Go code for a year or two.
And then I'll open source it and I can take it with me wherever I go.
That's how Honeycomb started.
That's how Honeycomb started.
And we'll get back to like observability or Honeycomb.
But before we do now with AI, you know, it's changing everything.
But I kind of had a bit of a blast from the past, which is one of the first places we connected was in 2020, so almost five years ago or so.
someone submitted a question to both my blog and your blog.
That's right.
And the question was, can you measure individual developer productivity?
Now, I wrote an answer and you wrote an answer.
And I wanted to ask you, that was five years ago, no AI, no nothing.
Today, someone shoots you a question saying, hey, Charity, can you measure one of an engineer's individual productivity?
You know, they're using AI tools and all this stuff.
What would you tell them?
I would tell, God, I don't even remember what I said.
I remember that blog post, but.
We both agreed, by the way, that it was, it was, that you can measure some dimensions and they're not going to give you the full thing.
And they will, for example, not tell you how a team is doing.
If someone is, is actually a really key part of the team.
And that as long as you measure individual things, we both agreed that you need to be in the details to know.
And as a good manager or a good team lead, you will know.
You will know.
But you have to have data to back it up.
It's like color and a painting on the wall.
And is it Goodhart's law?
Yes, it's Goodhart's law.
So like never go well.
It's this thing that matters, right?
You need to actually understand, but you need it to not just be your opinion that was tossed off because you have an opinion about some, you know, we're all, we have biases.
We are selective.
You know, you need to look at the picture.
I also believe that, you know, there's been this whole push towards individual output, but teams are still what matter.
Team output.
And honestly, if there's one thing that I am encouraged and excited about with the AI movement, I think it's forcing us all to ask ourselves early and often, what does good look like?
What does good mean?
What does productivity mean?
What would better look like?
What would great look like?
You know, and these questions are hard.
I think it's telling that we all jumped so fast to speed.
Yeah.
Oh, fast.
We can do it fast.
Same thing faster, you know.
Boom.
And I've come to feel like that is a very immature description of what better is.
Yeah, just today I saw the Antropic team posted a...
podcast with Spotify's head of engineering or VP of engineering, I'm not sure which one, in which they talk that, wow, Spotify with CloudCo, they're shipping 4,500 changes per day, per week.
I'm not sure which one, but they talked about speed.
And I was kind of thinking, like, my experience has been different because I struggled to publish any, like, some of my episodes did not go on with Spotify because it was down.
And, yeah, they're talking about speed, but we're not talking about quality.
We're not talking about...
more functionality, better functionality, or just things that people want.
And in the comments, some people are asking like, okay, so what exactly does that mean that they're shipping more frequently?
Yeah.
Do customers really want the buttons on their app to move around all the time?
I don't think they do.
Yeah, that's an interesting one.
It's the easiest thing to measure.
Let's jump back to last year in 2025.
You wrote a blog post right at the end of the year, looking back saying that 2025...
for AI was what 2010 was for the cloud.
Can we talk about, like, before we go into, like, this year, but, like, last year, like, how was your perspective?
Of course, you were working at an observability company.
AI will give you lots of, like, business as well.
But you said it went mainstream, right, last year.
Yeah.
In March of 2025, Fred Hebert and I gave a keynote at SRECon.
We gave the closing talk.
And it's Fred and I standing in front of a, the term vibe coding had just been invented.
Oh, yes.
And we were like, you guys should try vibe coding.
Pause, groans, audible groans, just like people laughing like, ha, ha, ha.
Our big pitch was that people should learn AI because you can complain better if you learn it, which is legit.
I mean, I really mean it.
But at the time.
I think I still saw it as a really big feature or like bigger than a programming language, like the cloud, but not like generational, you know, not changing everything.
And I think that was accurate.
For me, it was November of 2025 when they released Opus 4.5.
But I actually wrote about this recently, a couple blog posts back about how in retrospect, you could see it coming sooner.
You could see, and it wasn't actually the models.
It was the harnesses.
It was all the tooling.
And it was people starting to say that around July.
They were like, this is coming faster than you think, and this is what it's going to look like.
And there's those people who were saying it, the robots who were playing with either a cloth coat or maybe pie or open coat.
So the harnesses, you're right.
They were getting better at the tooling.
You know, it went from just being kind of a shell script that would try again to like, they built a lot of stuff around it.
And then, you know, the opus thing kind of, it was a weird time at the beginning.
It's been a weird time every time for a long time.
But the early months of this year, it felt like everyone around me was just trying it again and changing their mind.
Everyone.
Yeah.
I think we were just talking about right before we started recording that both you and me respect people who do change their mind.
And I don't think we were wrong to be skeptical that first time.
It's a pretty extraordinary claim that.
AI is going to write code about as well as the median software engineer can for a limited bounce of that.
Well, especially because if we look back at the history of software engineering, this claim has happened again and again.
You know, neural nets should have been doing something magical.
There's a sticker in your pack that says, we already have a programming language that lets you...
COBOL is the punchline.
So I don't think we were wrong to be skeptical.
And also, don't forget no code and low code.
Oh, yeah.
I mean, we know it turned out to be a joke, but the promise was the same.
And we were skeptical, and we were right.
And now we're skeptical again, and we were wrong.
What I was saying in that piece, though, was I think we were right to be skeptical that time.
But now I see the same thing playing out with would you be willing to ship it some code that you didn't read?
There's no point in arguing about if it will happen or when it will happen.
Talk about what it would take.
What would it take for you to be comfortable shipping code without you reading it and understanding it?
Because that is, that's engineering.
And it goes back to like, you know, my gut reflex would have been saying, oh, no, I would not do that because I've been used to that.
However, you're right.
You know, if I could have a way to, for example, I could see the change.
I could tell.
that this was tested in like a harness or something.
Same way where, for example, pre-AI, if there was a team member who said, I vouch for this and I've hammered it and I trust that person.
So like, you're right.
There's these things which are, of course, would never, but I've thought that AI or something can do anything like that.
But if it could, you're, and that's entering, right?
Or for example.
If you and the AI would both do it in tandem for a few months and you would be like, you would get to how much are they catching?
How much am I catching?
Is it about the same?
Is it more?
Is it less?
And you're training it and it's getting better.
Whether it takes five days or five years or whatever, I think it's pretty clear that directionally that's where we're going.
And the other thing that I would say is this is good for us.
If you spend much time with the Phoenix architecture stuff that...
Chad Fowler has been writing about.
You have been quoting.
I've been quoting liberally.
I should probably let you get to it in your own order.
But I just feel like anyone who's ever done a painful rewrite should be on board with us.
Yeah, but here's a quote from Chad Fowler.
Immutable infrastructure, stateless services, containers, blue-green deployments, infrastructure as a code.
These ideas all share a common premise.
Never fix a running thing.
Replace it.
AI pushes this premise beyond infrastructure and into application code itself.
When rewriting is cheap, editing in place becomes risky.
Mutation accumulates entropy.
Replacements resets it.
Yes, code is cache.
This is a very interesting idea because you've compared, chaff compared, and you've also, of course, shared this, that when we look at how infrastructure changed before, you know, like specifically a server, you need to be configured.
And I think we call it like PET.
Pets versus server.
Having pets versus.
Yeah.
And at some point we stopped configuring individually.
We stopped like fixing individual machines.
We just like throw it away and have a new thing.
And with code, we've always been used to the history of the profession, you know, 60 plus years or maybe a bit longer is that we edit code.
And are you thinking this might.
Because of the economics of it.
I mean, if you think about it.
you could generate 10,000 variants of a function faster than you could write it once.
And so when you start thinking about it that way, it's like, well, okay, we're going to need a lot of evals.
We're going to need a lot of tests.
But the generation is so cheap that it really, I think, it forces us in that direction.
And I think that the expensiveness of writing code and maintaining code and...
The expense of software has always been bound up in its maintenance.
And those lines of code, the reason that we trust something is because we've been using it.
Because we know, like there's this deep thing about production.
It's like, well, it's trusted.
We know.
And I've been, I know that as well as anyone.
And I will also say this, anyone who's ever done a hard database migration?
Should have some real humility about our ability to extrapolate those contracts, store them.
Like, I am not one of those people who's like, this is good.
We're going to generate all code.
I don't know how much code.
I believe that we can go some distance in that direction and it will be good for us.
I don't know how far we can go.
I believe we can go farther than we are now.
I just, man, the last project I did at Parse, so we had spent like six months writing the original Ruby on Rails API.
Yep.
Spent two years rewriting it in Golang.
Wow.
Yeah, it was...
And was it two years because new sub-being kept being added?
To some extent.
And also Golang was a pretty immature language at the time.
We had to write, you know, the MongoDB drivers and, like, all the other bunch of things.
And also just, like, when you're writing in Ruby and MongoDB and JavaScript and everything is, you know, there's no type safety.
And it's just painful.
Just, you know, and the strangler figs that they do, where you build, the architecture outside the architecture.
You literally find the contracts with your users by breaking them, one after the other.
Like, that just does not seem like the ideal artifact.
We should be able to store them somewhere.
We should be able to have architecture diagrams that we can review and discuss that generate that code to spec.
This is very interesting because some of these ideas...
They've been around decades ago, specifically, you know, if we had Grady Booch as a third person sitting here, the idea of like, hey, we can have architecture diagrams that translate to code.
UML started there.
I think Grady would disagree that like he never wanted it to go there.
But Irrational Software back in the 90s, they said, hey, you'll define UML.
It generates code.
It will be beautiful.
Now, it wasn't beautiful because I guess some complexity and turns out.
generating coca still expensive and reviewing it.
But I wonder if some of these ideas now might be just feasible.
That's my hope.
That's my hope.
I mean, I'm just barely old enough that my first job, I was like 17 at university, I was a sysadmin.
I remember when, you know, I wasn't really aware of what was going on.
I was just a kid.
But yeah, I remember how stressful it was and how people were agonizing about how we'll never be able to get that information back.
Everyone adapted just fine.
I think I wrote the systems that, you know, they built the systems that replaced them, but not as in replace them and work them out of a job.
They built the systems and they spent their time writing code instead of like running updates by hand on every server in the closet.
And I guess this is an interesting one because clearly like the sysadmin role and profession has been, it doesn't exist today.
It's kind of, let's just say it has been eliminated.
However, The people who were sysadmins, they did understand the operating systems.
They understood hardware.
Yes.
They were in a really good position to adopt.
And a lot of them just became either software engineers, product managers.
I know someone who became a tech salesperson.
Yeah, yeah.
So it's almost like...
And I will hold that our generation of engineers, still the best debuggers.
I'm glad that people don't all have to learn about CPU and memory and all this stuff.
But like...
There's value in knowing that stuff.
It comes in handy.
I think there's some analogies there to the generation of code stuff.
Also, you took a bunch of inspiration in your recent writing about both sysadmins but also QA, and you wrote something interesting.
You said, lines of code are not the ideal artifact to review.
And I'll quote a little bit from you.
The tools to do this don't exist yet, but many of the ideas do exist.
Most come from operations in QA, two domains that software engineering has historically been rather snobbish about.
Should we revisit our relationship to QA and Ops?
Where I feel we always put ourselves as software engineers here and Ops and QA somewhere.
And maybe time to eat some humble pie.
Ops equals toil.
Right?
Yeah.
I think it's time.
I mean, Ops and QA have always been more concerned with what is.
Software engineering has always been much more concerned with how should it be.
So ops and QA have always been more concerned about validating, about correctness, about does it work as expected?
Does it work?
Does it work to start with?
Yeah.
Yeah.
I mean, it's always weird to me just how much software engineers really seem to believe that the world exists in the repo.
It doesn't.
It's production, you know?
The code has part of the information.
Some of it, it's very necessary.
We need that.
But like...
I know some software engineers who, and okay, some places don't even let software engineers look at production.
Just like, how?
I know a lot of people are very upset about AI, but the things that get me very excited, genuinely excited about AI are that it is pushing the discipline in directions we have desperately needed to go for a very long time.
Production is not what happens after development.
It is a stage of development.
And you've been saying this consistently for, Pre-AI, I'm just going to say for those who don't, because I remember we've, I think we also bonded a little bit over, there was this thing called trending on Twitter when it was still Twitter and it was tech Twitter.
Everyone was there who mattered.
And there was a trend going, it's Friday, don't deploy.
Something that there was maybe a hashtag even like, I'm not sure, don't deploy Friday or something like that.
And the point was, it was well-meaning.
It said like, look, when you deploy often there's an outage and on the weekend we don't want to do so.
They were saying every Friday it went viral saying don't deploy on Fridays.
And you came in and you said, you know what?
You should be able to deploy anytime without fear because you should be able to just know, you know, however that might be, CI, CD.
And then on top of this, you were like, no, like you should actually just not even have a user acceptance testing environment at UAT.
You should just deploy production, like testing production, right?
As soon as you merge, it should be going out.
You should have to stop the train to make your code and not go into production as soon as you've merged.
Absolutely.
And one more interesting thing is you had a long train of thought about like AI and what it could be.
One thing you said is our brains are not built for validation.
Almost everyone I talked to, including Andreas Heisberg, he said that, look, like it's very clear that code generation is cheap.
We are generating more code.
And the bottleneck for human engineers is for code review.
And everyone's trying to figure out how do we make code review easier?
How do we build nicer tools?
Uber has built amazing tools to try to surface important code reviews.
But everyone's pushing, like, all right, let's do more code review.
As an engineer, I'll be honest, like, I never liked doing a code review.
When there's very little to do and it's with someone I care about, I'll entertain it.
It's more of a coaching opportunity then, right?
But as soon as there's an AI, it's kind of like...
I don't know.
I don't really care.
Like, I'm just being honest here.
Like, do you care when...
I don't.
I've never...
So, one of the problems is that I think code review means so many things to so many people in so many places.
And so, there's a lot of projection going on.
A lot of people are...
If you say that you don't want code review, you're saying you don't want to talk to your coworkers, you don't want to mentor juniors, you don't want to...
Which is not true.
We've just bundled so many things into this, like, you know, it's like...
It's hugely overloaded.
potentially overloaded.
And some of those things are really good.
Some of those things could be done better in other ways.
You know, some of those things are very cultural, very specific.
My friend, David Pohl, who I worked with at Parse, and he's now working at GitHub on pull requests.
Amazing.
Love the Parse Mafia.
Yeah, exactly.
He's like, to me, the code review is when we decide, do we want this in our product or not?
I'm like, well, that is a...
That's a great, great discussion.
That is what humans are good at.
We should talk about, is this mental model coherent?
Should we add this?
Should we not?
Like, love that.
Architectures, you know, but like the code is not necessarily a great artifact for all of those.
So should we be talking to people?
Yes.
Is the code review the right form factor?
Maybe, but I think that the emotional reaction that's when people are getting to this.
Like the validation in my book is at the very bottom of the list.
I'd like to like touch, like stay here a bit more.
Can you break out the parts?
Because it feels to me code review is overloaded.
But the parts of code review or the things that you have seen are good things and maybe we don't need to do as code review.
And the things that are just like, just have never been that good.
And maybe we just need to throw it away.
Yeah.
I mean, I think doing what this in our product is, that is great.
I mean.
Ideally, you'd talk about that before you write the code for it, but you know, whatever.
And, you know, is this API design?
You know, those are great conversations.
Reading for syntax and bugs and that sort of thing, it's not evil, but it feels like it could be.
It's a teaching opportunity if that's the best teaching opportunity you have.
And I guess some folks at some point maybe need them, but it doesn't feel high.
It's like a great use of...
It feels the only time where it's useful is if someone joins a team and initially it can be a little bit of feedback, especially when there's like nothing is written down.
There's no guidance.
There's no linting rules that would give you that.
Well, see, that's again.
Yes, we can fill in the cracks if we haven't built the guardrails.
We can fill in the cracks all kind of ways with our own time.
But there are so many things I think that we never think to extract out of the process of.
building and validating software.
So we rely on us.
So I am a huge fan of Intercom, now FIN, their engineering org.
And I have been forever.
Like I noticed their CTO a decade ago had this saying, shipping is your company's heartbeat.
And I love that.
They ship a Ruby monolith like 10, 15 minutes, hundreds of times a day.
That is not trivial.
It's not a trivial thing to do.
Right.
So they're kind of a high watermark from my mind right now for teams that were founded pre-AI, have a lot of engineering discipline, who have become AI native.
And they wrote a great post about how they do PRs that are AI validated.
And the bar for them is very high.
It's like they have all the wisdom of their most senior engineers looking at every single diff.
And that is fantastic, which means that you don't have to worry about.
remembering and looking and nitpicking and all the things that we're not good at anyway.
And they can talk about, is this the direction we're going to go?
Is this the right path?
You've also written that non-deterministic systems require more entering discipline, not less.
So what is the thing about these non-deterministic systems?
We're specifically AI, right?
We're talking about AI, let's just name it.
That is, we see that AI does amplify.
both discipline and lack of discipline, why do we need more?
And when you say discipline, what specifics are we talking about?
Well, I mean, tests and evals for one thing, right?
Like, if we're treating the code like a trusted artifact and we're, you know, trying to predict everything with our human brains and everything, then we're writing the test that we can predict that it might break, you know, and then anytime the system breaks, we like try and write a test for that.
But that's not an especially high bar.
And so I think the sort of the behavioral tests or the, I don't remember the word, it starts with C, but the QA folks have these suite of tests where it captures.
There's also smoke tests.
Yeah, there's so many.
There can be like performance tests.
There can be low tests.
There can be, yeah, there can be like just kind of fuss testing as well.
Something that's like, okay, if I'm not going to read this code, how do I know it's going to?
perform within boundaries of the last code that I generated.
That is conformance testing.
Conformance testing.
Just as important for lots of workloads as, you know, absolute performance.
Is it just not changing too much?
And so I think we're going to need the trust test to go somewhere, right?
If you're debiting from this trust account and the creation of the code, it has to get built up somewhere else.
And I feel like one of the things that I'm really excited about in the coming months is just I actually really like thinking about it less as AI and more as deterministic and non-deterministic systems that have to play nicely together because determinism is not going anywhere.
It's incredibly valuable.
And we have to learn to make AI kind of boring.
You know, it's a non-deterministic tool, which means that it is all over the place, but it's so valuable, but it's all over the place.
We have to learn how to give it carved pathways and places where we kind of corral it, where we use it.
in the way that it's a superpower and not in the way that like erodes our foundations.
This is interesting because Martin Fowler, a year ago when he was on the podcast, the thing that he talked about is how the biggest change with AI is the non-determinism.
And when we think back in the history of software, it's always been deterministic.
Same for neural nets, but that was most of us software engineers didn't really touch too much of it because it just wasn't that useful for us.
But we've been used to that when we programmed it.
you know, it just happened the same way.
Unit tests were easy because you just run them once.
You don't really run them twice because why would you?
And I wonder if this is, we need to just realize how big of a deal this change is and that any business that employs us, like, you know, they want software that works the same way.
We just had a recent post on Hacker News.
There's this ATS application tracking system.
scoring system that hacker rank outsource which scores your resume and so software engineer just like and you can run it locally open source you can use a local model i think they recommend gemma google's small model and when you run it like 100 times it will score the same resume anywhere from like 66 points to 99 points and typically most companies have 85 set as the bar and you're like hang on so we've turned what is what they were advertising as a tool to help your recruitment, we just prove that it's just a coin flip.
That's bad.
Yeah, and we have to be able to say that it's bad.
AI is not the right tool for every use case, you know?
And I think every company is going through this in microcosm.
And something I was saying to folks just earlier today, we've been doing this series of conversations on our AI norms and values.
And it was like a year ago.
I don't trust us.
Like a year ago, if we were like, yes, we should use AI, no, we didn't know enough.
We've gone on such a journey over the past year, and we know so much more now.
But like if one of my coworkers is like, AI is the wrong tool for this job, I'm like, I trust you.
You know, you got to get worse before you can get better.
So tell me about where you are right now with your, how inside of Honeycomb High you're thinking about.
AI, how you're thinking about how to think about AI, and what values you came up with that works right now for you.
Yeah, it starts with just acknowledging that the bar has gone up for all of us.
That's what happens when we get powerful new tools.
Has the bar gone up or has the floor gone up?
That is a great question.
Maybe yes.
Maybe, yeah, I don't know.
We're definitely in a sort of wandering in the wilderness phase.
But you can't not wander or you will be left behind.
You know, we acknowledge that the bar is going up for all of this and that the only viable way to define that bar is better outcomes.
And asking ourselves, like, is this good?
Is this better?
What does this good look like?
Another thing that we point out is just there is no human in the loop.
You own the loop.
The loop is yours.
The loop is mine.
It would not exist if it was not for me.
So I am the owner, right?
There's no, oh, Claude said this, so no, no, no, it's your work, you own it.
Charity just talked about owning the loop.
Owning the loop also means controlling what every agent inside of that loop is allowed to do, which brings us to our season sponsor, WorkOS.
Today, agents are increasingly able to act on their own, and the old auth model was never designed for that.
Who is this agent?
What's it allowed to touch?
On whose behalf?
You really don't want to get answers to these questions wrong.
WorkOS is built exactly to solve this problem.
WorkOS is fine-grained authorization, FGA, designed for how agents actually operate, plus SSO and SCIM, and not just user auth with agents bolted on after.
The fastest-growing AI companies, Entropic, OpenAI, Cursor, Perplexity, already trust WorkOS.
Check it out at workos.com.
I also want to talk about Buildkite, the CI orchestration platform trusted by Cursor, OpenAI, Entropic, NVIDIA, Uber, Canva, and more.
Charity talked about owning the loop, but here's a challenge.
Thanks to AI, your agents are writing a lot more code.
To trust this code, every change that an agent makes still has to be built, tested, and proven safe before it ships.
So obviously you need CI more than ever.
But when agents are pushing 5, 10, or 50 times the commit volume to your pipelines, faster CI runners won't be enough to keep up with it.
Shaving 30 seconds off a single build is meaningless when the queue is 100 plus jobs deep.
What you really want is a CI system that gets faster as the volume grows and CI that offers instant parallelization to give you unlimited concurrency and to intelligently route changes at runtime.
This is what BuildKite does and why global software leaders at every level continue to rely on it.
The same architecture that observed the scale of Shopify and Uber a decade ago now runs about 1.4 billion job minutes a week across Cursor, Meta, Reddit and Snowflake.
While the rest of the CI world are crackling under the weight or re-architecting their platform, Buildkite continues to reliably grow.
Agents run on your infrastructure or on Buildkite.
Any cloud, any chip, your secrets, your scale.
Every artifact and log is captured, so when something fails, either you or your agents have immediate insight for why.
As you're entering the context you give to your agents, think about how you'll verify what they hand back.
If your system is buckling under the increased volume, head to buildkite.com slash pragmatic.
30-day all-access trial, no credit card, and an actual human engineer on standby.
His name's Ola, and he's very helpful.
And with this, let's get back to charity and communication norms with AI.
I think there was this frenzy of, oh my God, I couldn't do this.
Oh my God, it's so cool.
And I know you have also become very weary of this slob.
I just don't even read it anymore.
As soon as I can tell.
As soon as I recognize this might have been AI, it's like trash.
Here's a baseline.
you cannot send anyone something you haven't read.
And in fact, if it would take them longer to read it than it took you to make it, it's probably slop.
That's really disrespectful, actually.
And I think, like, just like asking someone, like you're asking, anytime I give you something, I'm asking for your time and attention.
And if I'm giving you something that I don't even know what's in it, and I'm putting it on you, it costs you instead of me, that is not good.
I also think that, Even before that, I've noticed as I start working on these norms and values, I'm noticing myself as I start to ask someone a question without trying to look up the answer.
Ooh, I shouldn't do that.
Or if I'm giving someone something that I kind of generated and I'm like, ooh, you know, so part of it is just self-awareness.
It's interesting because everything you talked about, it reminds me of when a new joiner would join a team, a junior engineer, a new grad.
Either they had emotional intelligence or they picked up on really quickly that, for example, you go and ask a senior of their time once you put in a little bit of work and you start to respect their time as well.
And obviously it doesn't start like that.
We don't want them, but there's this balance.
And I almost feel it's the same thing.
We're like, look, like respect your colleagues, respect fellow humans.
If you are communicating with them, make sure that you're not wasting their attention.
Because now I guess attention is where we're kind of running low.
Like we have all of these, all of these, like a bunch of people have a bunch of agents doing, but the point is that's kind of the currency.
And as long as you respect that, it doesn't matter.
Like, I think we're not talking about don't use AI for this or that, but use it as much as you want or make yourself more efficient.
Just don't degrade because it really degrades those personal skills, right?
You can use AI as a shortcut to help you not have to think too much.
And you can use AI.
to help you think more deeply and more rigorously.
And most of those use cases have their place.
But when it comes to your core job function, we primarily want the second one, right?
And especially if you're involving someone else and you're asking them to review or, you know, and this is not absolutist.
Like there are people who English is a second language and they use it.
People who like neurodivergent and that is, again, that is still being respectful, you know?
So it's not like, like you said, it's not no AI, but it's like, make reasonable asks of each other.
And, you know, we don't need to reinvent a new bar for quality or respect because we have great bars already for quality and respect.
We just need to apply.
For a while there, I think that there was a bit of, oh my God, this is so cool.
Do you see what this cool thing can do?
And I think we're all just like so over it.
The reason I really respect that you came from the cis, you know, the...
sysdev background, you also, you're very involved in SRE.
These are all folks who have been pretty skeptical of AI.
And you mentioned how you're seeing two camps, two very clear camps.
There's like kind of the AI-pilled folks who get it, and then the people who seem to like, they just hate AI.
And you said that you're not seeing these two camps have any sort of way to go between any feedback.
Can we talk about what you're seeing?
And like maybe...
Like where you see some of these camps forming.
See, the problem is that neither side is making it up.
Like they are seeing really scary trends.
They're grappling with real hard problems that are getting worse.
You know, and on the enthusiast side, it's like they're acutely conscious that it's a bit of a race and that we need to push ourselves out of our comfort zone.
And they see other companies.
Moving faster, catching up, leapfrogging.
They're really worried about, you know, we're falling behind.
And the first thing, I don't want to make it sound like false equivalence because while there are elements of this that are true, I think every company is more one or more the other, but like they're not wrong.
They're not wrong.
We've never seen technological change this fast.
We're on the inside of an exponential curve, which is very rare and it never usually lasts that long.
But it's still happening, you know?
Things are happening that shock us.
And we would be wise to prepare for them.
So, like, that's real.
That's real.
And these folks are usually, at most companies, usually they are the small minority and they are constantly feeling outmanned.
One of the things that's ironic, though, is that both of these sides feel like they are the tiny minority and they're outmanned.
And they're being suppressed.
And they are standing up for what is truth and valor in the face of the big AI folks or the big skeptics.
But the other side, and this often starts to come down to the group that is on call and the group that is not.
Ooh, yep.
Because the people who, the buck stops with them, they are seeing melting mental models.
They're seeing slop.
They're seeing...
All of their hard work just dissolve and they don't see any end in sight.
So just to be clear, we're seeing that the people who are on call for a lot of these systems are seeing more incidents.
They're seeing carelessness being caused by it.
They're actually seeing that since that group started to use more AI, our systems are getting way worse.
Way worse.
Yeah.
And that's very real.
I'm not making it out.
No, no, no.
Actually, I was just talking to someone inside of Meta.
There's been this big drama where people have been reassigned.
Oh, God, I know.
I saw your post.
So not just my post since then.
I haven't written about this since.
And I'm not sure when this podcast came out, I might have not talked about it.
Is inside of Meta, they track SEV zeros, which is the highest severity.
Oh, I know.
I remember.
You remember SEV zeros.
There has been a flurry of SEV zeros.
So many of them.
And you cannot hide.
Like this is, you know, meta, like this is black or white.
And the past about two months, it's been crazy.
And just so it happens, it's happening inside of Instagram.
It's happening inside of WhatsApp where the trust and safety, basically the reliability folks have been axed, removed.
So it's...
impossible to deny the connection as well.
Of course, it's not a direct one, but again, and each one has it as a postmortem, but Meta has not had this bad for closer to a decade.
Yeah.
Move fast and break things.
And you put two plus two together.
And when I told this story at a conference, people came up to me and they said, I'm so glad you talked about this because my company, different company, often VC funded or publicly traded, like, the same thing is happening.
People are like whispering to me like, we are not metal, but the same thing is happening.
Same thing is happening.
And you know what they all told me?
They told me, I thought it's just us.
Or I thought it's us and then my buddy who works at this other company.
And suddenly it's like, oh, it's all of us.
No, it's all of us.
Yeah.
No, it's a real thing.
And the intercom folks, you know, what I love about them is they publish the real gnarly stuff, right?
They don't color it out.
They don't color it out.
And they showed that.
For 18 months, reliability and code quality went down.
And it had just started to possibly be going back up.
But it's still not there where it was.
Still not there where it was.
And they're very honest about it.
And they're honest about it.
Finally.
Right?
This is the thing.
Like, stop, like, spitting in my, and telling me that, you know, like, it's just, this is my thing.
It's like, we need to hear the wins.
We need to hear what's.
We need to hear about what's possible.
We need to hear what's exciting.
But you've got to couple it with the cost.
You've got to couple it with the, is it worth it?
You've got to couple it with what are we doing?
What is happening?
And I feel like part of the reason that both of these sides are getting so frustrated is because they're not connecting at all.
And so the people who are...
seeing really incredible, there are some really incredible things happening in software right now, like with rewrites and with, you know, automating away, like real toil and shit.
Like not a single person that I've talked to would give it up.
Yeah.
It's amazing.
Like they, it's so exciting.
Nobody wants to take it away, but half of the people are seeing the wins and they're not connecting it to the cost, which makes them think that their co-workers are just fuck nuts, who are just like, Oh, they just don't want to lose their jobs.
They're just afraid of getting automated out of existence.
They're just blah, blah, blah, blah, blah.
Like, no, dude, you be on call and then see how you feel, you know?
And there's a mirror effect kind of happening where the folks who are on call, who are responsible for this stuff, they don't actually believe that these wins are real.
They think they're all cooked because they're not hearing the quiet part said out loud that, yeah, we're seeing this win, but this is what it costs.
We're still cleaning this up.
We're still...
And so that's my...
That's my beg to everyone who loves GearGuy's podcast and listens to this is tell the whole story.
Talk about the costs.
We're all in it together.
Yeah, because you're right.
Like this technology is not going anywhere.
It will make a really big positive change at a bunch of places.
It's here.
But it's not magic.
It's not magic.
And I think this is what you said in Make AI Boring Again, another great article of yours.
What you said is AI is just technology.
Just technology.
And you were arguing that let's just realize it's technology, it's a tool, and let's learn to use it well.
Now, one other thing you said, which is very interesting, is software will be the killer app with AI.
Yeah, I think so.
Which is very unique.
Let's talk a little bit about that.
Software is made of logic and language.
AI is made of logic and language.
And...
Because of that, we can bake in guardrails, we can bake in checks, we can bake in validation that we, I don't know how we do that in other parts of our lives or other applications.
And so it totally makes sense to me that software is what AI is best at.
I mean, you see like in the courts, they're starting to get lawsuits for, the court is suing lawyers who are submitting briefs that have hallucinated crap in them.
How do you check for that?
You know, with the same, we have structured data.
We have, you know, a whole, and I just don't know how you account for that in the same way.
It might also mean that whatever will work outside of the software industry for AI, it will be a subset of what will work in the second.
Basically, if we can do something with AI, if we can automate a process or something, you might be able to do it in other industries, but maybe not.
But if we cannot do it.
Good luck.
You will not be able to do it because we have the domain where you can validate stuff.
We have incredible training data on code that compiles, right?
Yes.
Like in a bunch of places, you might have like training data like with magazines.
You might have like low quality magazines or whatnot.
Do you see what I mean?
I mean, back to your point about humans like their determinism.
They like things to happen the same way.
And it's very interesting because as I think of it, you know, one of my businesses is writing.
I write a newsletter that is...
I like to think it's good and it's worth reading.
It is.
And I would have said, if you asked me, what is AI really good at?
Now, obviously, it's good at coding.
But before that, it was good at writing.
It was like my mind was blown that it can actually control the language.
When all the newer models come out, I do this test where I say, like, all right, like, you know, write an article in the style of the pragmatic engineer.
And every single time I can tell it's AI generally because it's repetitive.
It has this thing.
So my point is, AI is actually not as good as writing.
pros as it's a lot better in writing code.
Way better at writing.
When I ask to write code, I often I'm like, yeah, this is something I could have written.
Whereas when I ask it to write words, I'm like, I would have never written this and it has training data on me.
So who knows?
This might prove that software is the best fit.
I think it is.
Software is a simplified version of language for a purpose.
Yeah, I, you know, at first...
Everybody was like trying to come up with ways to be more efficient and write with AI and everything.
And I sunk a lot of cycles into that.
And I have decided not to think anymore because writing is thinking on paper.
And there's no shortcut for doing that thinking.
Anything that I write, it's not content.
You know, it's not content where it's just like, well, generate me a couple thousand words.
Which I'm not shaming anyone who generates content, but that's not what I'm trying to do.
I'm trying to think through.
hard and interesting problems and share them with people.
And I don't think AI is the appropriate tool to use for that.
I use it for structure.
I'll be like, hey, read this and give me feedback and stuff.
But not to write.
So I think we should not forget that as we improve our skills, our capability, our experience, our thoughts, we do become more valuable.
And I have this idea, and this might be a flawed idea, but I think it will be correct, that five years from now, How will people be hired?
Now, of course, we know the tools will be better and all that, but in the end, I think it'll be like this.
Someone's sitting here and I'm going to be interviewing with you.
I'm going to be trying to get into your company, probably Honeycomb, right?
And we will be having a conversation and you will judge me based on how I respond.
And the more I have spent thinking and bettering myself, the more valuable I will be to you because you will have all these candidates and some of them will have outsourced or other things to AI and they will have a blank because that thing is off.
Guess who you will want to work with, right?
I am so excited about leaning into the parts of being human together.
I don't like the feeling of chatting all day back and forth between agents and people on Slack.
Like it feels way too similar.
It's just gross.
Honeycomb is a fully distributed company, which was never...
We always wanted to have a hybrid model, but the office has not come back.
And I feel all kinds of ways about this because I love not leaving the house.
But at the same time, I crave this more full, like, I'm so glad you're here.
It's so nice to see you.
We were just talking how it is different.
We've done a podcast remote, and it was a decent one, but this is more enjoyable.
Yes.
And so part of what I hope we do is just remember that we're in charge of the machines.
They serve us.
And this is still what matters.
Now, I want to pull back to something different.
I'll just talk a bit more about ops and DevOps and give one of your spicy steaks.
So now that we have AI, we can actually just, you know, badmouth some of the other thing or just be real.
Let's talk about DevOps.
Just can we go back a little bit in time?
You were there.
Why was it created?
And in the end, there was this massive DevOps movement in the 2010s.
Do you think it succeeded?
Do you think it failed?
So before DevOps...
We needed a DevOps because there was devs and ops.
And there was the proverbial wall that code got thrown over, right?
And ops were the people who were in charge of the IT.
They deployed.
They managed the servers.
They set the Linux version.
Handcrafted Linux, you know, pluggable storage models and everything.
That was always a bad idea because it's split brain.
Half of you are writing the code and the other half are understanding it.
I would argue that you can't really understand the code you write unless you're operating it.
So, you know, the DevOps movement did a lot of good trying to knit back together that sort of original sin.
And, you know, around the time that I was a sysadmin, there was this big push.
All right, ops people, learn to code.
And great, I'm glad that happened.
Everyone who works with computers should be writing code.
I feel like the wave after that was a little less successful, which is like, okay, software engineers, time to learn to...
understand your code in production.
But I also think that, in my mind, 20 years of DevOps was really about one thing.
Trying to create one feedback loop that connected people writing code to that code in production.
And it failed.
I mean, it failed.
To this day.
They're done by two different domains.
There are some people who...
And I'll show you this diagram that you drew.
We now added agents.
We'll put it on the, so viewers can see it.
This is your, I think it's a really nice draw up of how there is no feedback loop.
Like the office people, or oftentimes we call it platform teams, they manage the infralayer.
Engineers deploy there.
And so to be clear, I think that's actually good in finding healthy.
I think that there are separations of concerns where you can't expect anyone to do everything.
And the nice separation of concern is, Do I own?
Am I responsible for the stability of the things that you put code on?
Or am I responsible for the code that I put on the thing, right?
That is a nice seam because you want the infrastructure to be stable, to protect itself, to be resilient and all these things.
And you want your code.
like to be oriented towards is every single user having a good experience.
You can have one of those things be true and the other not be true.
Like they are decoupleable.
And actually this is like even the most modern companies.
I often refer to Entropic as this company which operates in a very different way to most companies.
They're very successful despite doing a lot of different things.
However, internally, they have platform teams.
They have the cloud platform teams and then they have applied AI.
which is more of the feature teams, the integration.
And the two, I talked to both of them, they just have a very different outlook.
They have a very different view on even basic stuff like will software engineers be obsolete.
The people on the platform team were like, no, we're working really hard.
And on the apply, they're like, well, maybe it will happen.
Yeah, that does not surprise me one tiny biota.
But so this company, Anthropic, that started with a flying page, they arrived at the same place.
Yeah.
Yeah.
No, I think it's the right separation of concern.
And I'm not trying to erase it, but I think that to be a good engineer, you need fast feedback loops.
And this is part and parcel with the whole, oh, the source of truth is the code.
If that's where you live, if you live in the land of how it should theoretically work, no.
And I think that with agents, they're breaking that, right?
They're breaking that and they're forcing another thing on the observability trip is, A lot of people, if you say, like, what is observability?
They'll be like, ah, well, there's three pillars.
There's metrics, logs, and traces.
We talked about this last time.
Metrics and logs, I would say, are system exhaust.
They're the exhaust pipe.
And they're never going away because every team runs a ton of third-party software.
They didn't write it.
They don't own it.
They just have to run it.
And it's outputting shit.
Yeah.
And you just got to put it somewhere.
You observe it.
You see what.
Yeah, yeah, yeah.
And then you do stuff with it.
Yeah.
And.
You know, you should put it somewhere cheap.
There's a ton of it.
It's not super high value, but you definitely need it, right?
And you can't do anything about it.
You just take it and put it somewhere.
Then there's your code.
There's your crown jewels, the code that makes you a company.
And for that code, your telemetry should be a product decision.
It should be you store it once with all the connective tissue because...
The value of rich data goes up, not linearly, not even exponentially, combinatorially.
If you have a wide event or a trace with 29 bits of data and you add a 30th, that 30th is more valuable than all the others.
Like, it is just so powerful.
And with non-deterministic software, you know right up front, you can't predict what it's going to do.
You have to.
Like, that is a product decision to capture that trace.
So let's talk specifically about modern observability and companies that are either building AI-related code or just complicated code that they're generating.
In the old world, again, I'm just being observability 101 back in the day.
The way I would have written the code is you write the code and you think, hmm, something funny might be going on here.
Let me do a log or an info or a warn.
And then I would also try to maybe if we're printing some production, I realize like, OK, well, I guess it's crashing and we don't have any logs there.
So I guess it's some other part.
Let me put a tool that will like log everything and I'll have a bunch of stuff.
Now, this is the simplest way of thinking.
In kind of a modern business where I'm like, I know this is high value stuff.
What are ways that I can go about that section maybe a bit?
like more practical than, because I just will use super basic one.
Auto instrumentation has gotten so good in recent years.
If you're using open telemetry, and everyone should be using open telemetry, all of the common patterns, like all of the models are trained on them.
So it is literally faster and easier to build with instrumentation than not to.
And with instrumentation, do you just, once I have the code in a compile step or an extra step, it just adds it to the right lines.
This is what's important, right?
It's part of just developer intent, right?
This is how you declare your intent, and that's how you check up on your intent in production.
It's honestly gotten so much simpler.
You know, I don't fault developers or anyone else for not kind of closing that loop with DevOps, because the fact is it was prohibitively hard and time-consuming and difficult because, you know...
You're an old-school software engineer, and you sit down, write some code.
You're like, ah, here, I should instrument it and look at it in production.
So you're like, okay, I've got a bit of data, and I want to do something with it.
All right, is it a metric, a log, a trace, an exception, an error, a profiling?
You know, just like, okay, if it's a metric, is it a...
Is it a counter?
Is it a gauge?
Is it a, you know, just like all down.
It takes so, and then, well, what type of data is it?
Is it going to have high cardinality?
Is it going to be a, you know, just like, and you can blow it.
It's just like, if it's a log line, which log level do I do?
Do I append it to?
Like, it's just, you could double, triple, quadruple the amount of time that you spent writing the code trying to instrument it, and then it still wouldn't be done.
Like, you deploy it, and then it's like, okay, I know the name of the thing that I added, but.
How do I find it?
How do I display it?
How do I create a dashboard?
It's just like, that was prohibitively, that was really hard.
But now we can bring all of this to you, right?
In your development environment, it is easier and faster to instrument with telemetry than without it.
And you don't have to leave your development environment to go and get it.
You know, you could have the agent, like we've built some really cool shit at Honeycomb where it'll just, it'll be like, oh, hey, that thing that...
you wrote, you know, maybe you want to look at this and you can control how robust it is.
You can, you know, but it's right there and that's how it should be.
It should be part of your development loop.
Can we talk about what spans are?
Because I'll quote Eric Riddock, who recently wrote LinkedIn, the basic idea of observability for applications is don't use logs or metrics, just put it all in spans.
What are spans?
Spans are bits of a trace.
I mean, a trace is just structured log with some fancy fields, right?
And so the span is the subset of the trace that makes up the entire duration.
And I don't know if you've followed any of this, but like the default building block has been the transaction for as long as the web has been around.
Yeah.
That doesn't work anymore.
With, specifically with AI.
Yeah.
We just, we just ship something called timeline that is like.
that sits on top of spans.
So, you know, if you run something like Intercom, you have got a chat thing and a customer's like, I'm complaining.
Conversation going on.
Yeah, a customer's like, I'm complaining.
You're like, okay.
So you spin up an agent, supervisor agent that spins up more agents and each of them calls APIs.
Each of them calls like storage backends and stuff.
And then the customer asks another.
That could span hours, right?
And you need to be able to zoom out and visualize the whole thing.
It's super cool.
And so this is a new primitive that you came up for these use cases where there's a conversation or like an LM is involved and you have like a meta trace.
Okay.
Yeah.
So I guess it's a trace of traces.
So we need these new building blocks actually just be able to work with.
Yeah.
Interesting.
So I guess this is something to keep in mind.
Like any engineer who's like building on top of LM.
Who is an AI engineer now as we know?
It's either that or you've just got all these tabs open with traces.
You're just copy pasting IDs from one to the next.
Yeah.
Or if you're a large enough company, you might have built your own in-house tool.
But we know that it's doable, but it's painful.
It's doable.
It's painful.
I'm really looking forward to seeing over the next few months or year or whatever, just the marriage of tests and evals from a telemetry perspective.
With agents and AI agents being around, a lot of them are now very useful to connect to observability stores.
You can go and do stuff.
However, one question that comes up is, well, agents have a finite context window and with observability, you can really easily overload that.
What are approaches you've seen of agents either using honeycombs or some other data sources to make them productive?
Have you seen some patterns?
There's a lot of trash data out there.
And a lot of traditional telemetry data, metrics, logs, traces, what it's all, it tends to fill up your context window with crap when the most important part of the data is, again, the relationships between the data.
So if you can, and in fact, one of the AI SRE startups posted this great piece a couple months ago about how They see the agents that they deploy in the wild bypass the observability data most of the time, and they go upstream to find richer, intact telemetry data.
So that's what I would say.
Either you give your agents, but it's the relationships that matter, right?
Because that's what actually helps the AI make decisions.
And when it comes to observability, I cannot not mention your book, Observability Engineering, and you have a second edition.
Can you tell me?
why you felt the need to write it and what's new in it?
Oh, man.
The whole thing is new.
So O'Reilly, any time a book is considered successful, and if the topic is still relevant, they'll ask if you want to write a second edition.
So it's not really...
But I was really excited to write it.
The first book, I don't want to say I wasn't proud of it.
Like your children and your books, you're not supposed to say anything bad about them, you know?
Because...
It's fine.
But it was written 2019 to 2021.
The definition of observability meant one thing when we started and another by the time we ended.
And there was no point where I was like, oh, this book is great.
Let's ship it.
It was just like, oh, I can't do this anymore.
Just like, please take it.
And I hope that's enough.
Now it feels like the definition of observability is more settled.
It's everything else in the world that's like changing and crazy and all.
So I think it's a good book.
I hope it can help a bunch of folks.
It's got six parts.
So the first part is, and I wrote parts one and six, first part is just kind of like grappling with what does it mean to run deterministic and non-deterministic systems, you know?
And then, you know, my co-authors, Liz and Austin and George, the part two and three is how do you instrument your code and how do you understand it?
And there are parallel tracks for doing this with or without AI.
And a couple of great guest columns from Jeremy.
And then parts four and five are we have a whole lineup of guest authors and use cases and deep dives.
Hanson Ho did one on Frontend and Frontend and Mobile.
We've got some great ones on CICD.
Clickhouse did one on columnar storage.
Some really, really stellar things.
There's a chapter from Kesha at Finn on how they use it iteratively to do observability.
Wow, so this is a brand new book.
A lot of second editions are like, oh, we added two chapters.
This is an entire rewrite, and it's twice as long.
The first one was 250 pages.
This one is 600 pages.
Okay, so I'm interested.
Now I'm going to get this book.
And the part six...
It's my baby.
And it was originally supposed to be three chapters for observability engineering teams.
And it turned into, it's a third of the book.
It's 200 pages.
But it's topics for observability governance for leaders.
And it starts with an open letter to CTOs telling them why all their big AI goals are blocked behind their ability to make sense of their system.
You know, and then we talk about, you know, software delivery for...
No buzzwords, just systems theory, right?
If you like Donella Meadows stuff, then you will like it.
And then there's a chapter on how to quantify the impact of observability for your finance, how to treat observability as an investment versus a cost center, and when you should use observability as a cost center, and when you should treat it like an investment, because it inherits the type of software that you're observing, you know?
And there's a great guest chapter.
from Rick Clark on Staff Plus, principal distinguished engineers who are trying to drive massive change without authority.
How do you do that?
And how is observability vital to that?
And then there's a chapter on build versus buy versus open source.
I mean, it sounds to me that anyone who is inside or wants to be inside a platform engineering team, maybe you'll be an engineer or a leader, you probably want to read this book.
And at the end, there's a chapter that is possibly one of my favorites, which is called The Art and Science of Vendor Partnerships.
And it's just talking about how we can't build all the software that we need.
And great vendor partnerships are ones where you have influence over their roadmap and they trust you to do these things.
And like talking about how most transformations fail.
The ones that succeed, succeed because someone on the inside has trust and credibility.
People believe when you say something, it is true.
You know, it cuts through bureaucracy like a hot knife through butter.
When it comes to partnering with, you know, the sales org of another company, you do not have trust and credibility.
You work to build trust through reciprocity.
You learn just how much you can trust them over time, right?
But the best vendor relationships are the ones where You genuinely, you feel like their successes are your successes.
Your successes are their successes.
You're happy to see each other because each of you are delighted because you know you're getting something from the, it feels like you are two different teams working at the same big company.
That is rare.
Doesn't usually happen.
And that's fine.
Most vendor relationships are ones where you shake hands, you exchange money and services, and that's fine.
But I think in an era of AI, these are durable skills.
These are durable skills for very senior engineers who care about impact.
Senior engineers and also engineering leaders and anyone who wants to become an engineering leader.
Because I guess, like, I mean, both of us have been in engineering leadership, like you've been in much higher positions than I have.
But I think it's fair to say that the way for you to get to that CTO role, that head of engineering, that director of engineering is to do the work for six or eight or six months, a year to year and a half.
And to do so, you need to know these things.
I feel Observer of the Engineering would be underselling this book, I'll be honest, the title, but I'm also going to get it and I'll probably think of ways to share a bit more.
But thank you for writing and thank you to all your co-authors.
But speaking of leadership, I'd love to talk about a little bit of engineering leadership because there's a lot of things that are changing.
But I loved one of your very recent takes on leadership and I'm going to quote you.
The most effective leaders are kind, caring humans and skilled business operators.
The second most effective leaders are terrible humans and skilled business operators.
And after that comes everyone else.
There are plenty of good, kind humans who are sloppy operators and bad at business because being good at business is very hard.
And you said this in relation to what happened at Twitter slash X, referring to as Elon as a terrible human, but a skilled business operator.
Yeah, I...
Well, I don't know that I would call him the skilled business operator, but my point was that Twitter had 16 years to figure it out, and everyone could see that they were not figuring it out.
And whatever else he...
Figuring out the business, specifically.
Figuring out the business, yeah.
Building products, you know, reaching folks.
And you could argue that X has gotten better or worse, but you can't argue that he is running it with 20% as many people.
Yep.
And it's working.
And it's working.
And some of that, you know, 30 engineers on the core product.
And another 30, but like 60 engineers, there were 1,700 before.
You know, and you could argue, and I think it would be true, that it's some of the work that those engineers did.
But like this is the point.
If we don't do it ourselves, meaning hold ourselves to a high standard, build with efficiency, constantly be like trying to get better, we don't do it ourselves.
Someone will come and do it to us.
And this is what you also said, you closed saying, if we want to remain in leadership, if we want to set the culture and the tone and take the ethical sense that we believe in, we first have to win at the business.
And I think this is like, especially now that there's so many changes happening and technology changes, there's a whirlwind, business will go up and down.
I guess it's a reminder that you want to keep your eyes on the prize, which is, especially if you're a leader.
The 2010s, there was so much money sloshing around in Silicon Valley and time started to get...
tough and all of these companies canceled their DEI programs and blah blah blah yeah they never believed in that they were just trying to buy people off you know and that is very telling to me and I have taken a lot of lessons away from that which is just that it's it's not enough to be a good person I believe that people who are kind and care about people can and and usually do do better than sociopaths in the same roles but only if They're good at business.
Learn the business.
Stay close to it.
You got to.
With AI, now that coding has become cheap, now that engineers are running agents, how do you see the role of good, skilled engineering managers and engineering directors change?
What has changed?
Well, the first thing that's changed is I think everyone has to, gets to be hands-on.
Specifically to?
generate some code to ship to production to some extent.
You should know what it feels like to submit a diff, to get a PR through.
You know, you should know what it feels like.
It's just easier now than it's ever been to pick it back up, to fill in the blanks, you know.
And it's always been the case that leaders were better if they had a hand in it.
And now it's just, it's just, there's no excuse.
Not to.
Teams are getting smaller in general.
I think this should be a good thing.
If we can figure out how to own more surface area, it should be a good thing.
I worry that the way it's happening is it's being done by CEOs who are like, oh, well, this other company is doing it or it's magic or we're going to do layoffs.
And I really dislike the anti-management tone.
So like no argument that power tends to drift towards managers over time and needs to get pushed back into years.
No argument.
There's a tendency to have too many managers.
You know, the bureaucracy kind of like generates a sort of, you know, it's easier to say yes than it is to say no.
And so these things happen.
So they need to be pushed back from time to time.
But I believe that management and middle management is deeply essential.
And I look forward to seeing how that works out for them, not having any bit.
But like the role of a manager, middle management, in my view, is sense making.
And context giving.
Because like, I don't believe in a world where engineers are just given tasks.
Here's your DRI.
Go do the things.
AI can do that.
I want people who understand what we're trying to do.
Understand how we're trying to do it.
Or who are there to help us figure out how we're going to do it.
And you can't engage emotionally, creatively, collaboratively without understanding.
And that understanding is incredibly difficult to build.
And it's fragile and it never lasts very long.
For those of us listening who are middle managers, it's been a tough few years because what they're seeing is there's a push to have fewer of them.
A lot of their colleagues, if they're in unlucky places, they were made redundant and many of them have struggled to get similar positions.
We're talking director positions.
We're talking head of engineering, senior engineering manager.
That role is disappearing faster than ever.
I think directors might still be there.
For folks who are in this position and they do like middle management, they do believe they're good at it, what do you think tactics could be to give them a bit more career options?
Tactically, I would say go back to BNIC for a while, even if you know it's not what you want to do.
If you're at all capable, if you're not capable of it, then I would try to work it.
You've got to get AI on your resume.
You just have to.
And this is a huge career risk.
If you're working somewhere where you're not getting these skills.
That is a massive risk.
I would do whatever I could.
And this is very interesting that you're saying get AI in your career because I remember about a year, year and a half ago, I started to pay attention to like, okay, this is happening.
And I remember a year ago, I wrote an article about how to become an AI engineer.
And I talk with engineers who just like at their workplace started to do AI and now they're AI engineers.
Next thing I'm hearing right now is people who have like two to three years of...
AI engineering experience are so in demand.
I'm doing research on a job market and they're like, this is the best job market ever.
However, you know, the people who are like, okay, I have none, but I want to get it.
They, and let's say they're out of a job, they're struggling because no one's giving them the benefit of a doubt.
It is really hard and I'm not saying it's right, but it's how it is.
And I guess the reason we're ringing this alarm bell is we know this change has not been as fast.
So do it now because later.
Do it now.
The next time you go out for a job interview, anyone, you're going to be asked.
And you're going to be filtered out if you don't have it.
And the delta between those who are just getting started, those who've been doing it, it was here for a little while.
It was very easy to get started.
Now it's here.
But it's opening.
The longer it goes, the harder it will be to catch up.
You just got to get some.
Let's talk about directors.
Yeah.
Directors are usually the ones who they have been in management for like 10 years, usually.
And there's a real feeling of fear often of like, God, tech has changed a lot in 10 years.
And this is where I would say your body, like the way we experience anxiety and the way we experience excitement is physiologically almost the same.
Like I used to play piano, right?
And before a performance, I'd be like, I'm excited.
I'm so excited to do this, you know, because I'm like trembling and sweat.
But like.
The difference is agency.
If you sit back and wait for the water to come to you, you're just going to be freaking out.
But if you run towards the waves, if you're like, just like run towards, try it.
You know, if you have a job now and you're a director and you're afraid of it, it's always seen as kind of noble.
When managers want to go back to being ICs, I think it's very well respected.
Own it.
Run towards the waves.
Own it.
Be part of the wave, the frontier of people who are like, I'm so excited.
Just tell yourself.
It doesn't have to be true.
I'm so excited to be in IC again.
It's never been easier to go back and try.
I'm going to do it and I'm going to talk about my experience and tell everyone else about it.
Just, you got to own it.
Don't wait.
And then let's talk about junior engineers.
Obviously, it's a harder time to get started as a junior, but how do you think about the value that they bring?
The hardest thing about quantifying the value of junior engineers is that we don't know how to quantify the value of any engineer.
So it's all vibes.
You know, it's so interesting because I feel like we're over here doing all this hand-wringing about, will juniors be okay?
Will they ever learn the basics?
But, like, my friend Boris, who has a new observability startup, and he talks to these high school, college kids all the time.
He's like, they are cooking.
They are.
They don't know what the software development life cycle is, but they are just, like, off to their, they are doing so much cool shit.
I believe that the kids are going to be okay.
We just have to hire them.
We just have to give them a shot.
They're going to come up with a lot of the conclusions and the ways and the hows that are going to be things that we wouldn't have thought of because, but we just have to hire them.
We just have to be willing to give them a shot.
This week in SF, I've talked with a bunch of founders, young startups, and they've been telling me the stories of this open source contributor who was outstanding.
So they want to hire him or her.
Turns out it was a 17-year-old kid.
They still hire it and now they tell me like, oh my gosh, the things they do.
So I think when you're saying the kids, kids are going to be fine, just give them a shot.
Even if it's an internship.
Yes, totally.
I feel more company should because internship is low risk, low duration.
Yeah.
And even if that person doesn't work out with an internship under their belt.
Yeah.
So much better for everyone.
Totally.
One question that came up when I asked that you're going to be in the show what I should ask, they said AI fatigue.
Someone asked, can you please ask charity as an engineer if I'm starting to get just really, really drained of this?
Have you had this?
Do you see people having it?
And what is a good way to...
You know, just deal with it.
We know what's here.
We know what's here to say, but still.
I mean, my follow-up question would be like, which variety of AI fatigue?
Okay, tell us the amount of varieties.
You know, because for some people, when they say AI fatigue, they're talking about receiving slop.
Some people are talking about all the hype and the, have you heard the phrase or the term doom trolling?
No.
Cal Newport is, I think his name.
He's a computer scientist.
He's an AI researcher professor on the East Coast.
And it's his term for what the CEO of Anthropic and OpenAI keep doing about, oh, my God, this might be the end of blah, blah, blah.
And he's like, it's just doom trolling.
And they need to stop it because they're stressing everyone the fuck out.
And stop because it's just not responsible.
So, yeah, I think there's a lot of fatigue around that.
I think that a lot of people, their family members are afraid.
You know, it's just.
It's always before in the history of technology, it's been something cool or fun or this will be the iPhone, it'll make your life better.
And now it's just like fear.
It's pretty crappy.
So there's that.
There's the fatigue of like, I found myself being off social media because I'm just tired of all of the AI slop posts.
It's just like, I'm not interested.
There are a lot of different varieties here.
And yes, we are all feeling it.
So I guess I would repeat my call for us to remember that we are in control.
We are in charge.
I think the universal nature of the frustration means that this is a great time to propose experiments where we take back control.
Maybe you and your team agree we don't actually want any more AI-generated PR descriptions.
None of us use AI on Wednesdays.
Maybe we take a week.
You know, just like...
Take control back.
Try something.
Propose something.
I guess because change is so big, experimenting has never been easier.
And I guess most businesses, most directors, most leaders would welcome teams saying, you know, we're going to try out because their answer will probably be, I mean, you're in this position.
Your answer, I guess, will be sure.
Better yet, don't even tell me.
Come and tell me what worked afterwards.
Yeah, and what didn't, and what you learned.
And then other teams can learn from that, right?
I think sometimes people are waiting for top-down.
permission, but we don't know what permission to give until it works so much better when it's bottoms up, when people are just trying to take control of your time and your calendar.
I guess maybe we just forgot that there have been major changes in the industry.
I remember the iPhone change, and I remember the people when the iPhone came out, iPhone and Android, so smartphones, the people who were the most kick-ass iOS engineers, you know who they were?
They were typically like 18 or 19-year-old kids.
who went into this and they tried it out.
Guess what?
Two years later, they were the domain experts.
The staff engineer was a 22-year-old and then the entry-level engineer was a 40-year-old.
And again, not always, but my point is when there's such big change, you can actually become an expert by...
Very little time.
By you taking...
Just taking charge.
Taking charge.
And also no one's really going to tell you no because no one knows what's working.
Exactly.
There's some liberty there.
So as closing, just to go back to a little bit of being human and slowing down, what are one or two books that gave you something?
I really got a lot out of catastrophe ethics.
I haven't seen it mentioned in many places.
And I think it might be, I think real philosophy nerds would be like, that's kind of a pop book, you know?
And I think the people who are not real philosophy books are like, that's kind of a lot of philosophy.
You know, he's a bioethicist, I think.
Travis Reeder, R-I-E-D-E, Catastrophe Ethics, and he talks about how the puzzle of modern life is that it feels like everything we're implicated, every choice we make.
Are you going to use milk?
Well, you know, the cows were tortured.
Are you going to use almond milk?
Well, water is a problem.
Well, you use soy milk?
Like, well, hormones.
And it's just like there is no...
Whatever you do, you are hurting someone.
And it feels like...
The problems are so large that none of our decisions really matter.
And that tension, like what?
And then he kind of walks through traditional ethical frameworks like utilitarianism and stuff and just shows how there is no recipe anyone can follow that doesn't lead you to some really stupid.
And he's like, this is just no gods, no masters.
We are, which doesn't mean that everything's relative.
Doesn't mean.
What it means is that the way to live an ethical life of integrity is you need to educate yourself about the world.
You know, you need to know things, right?
And then listen inside, you know, where are you drawn?
What suffering really speaks to you or what caused you?
You know, because no one can tell you what matters.
You have to decide what matters.
And so that introspection and...
it's so at odds with the sort of performative rage, you know, and that, which I'm just so exhausted.
All right, so that's one.
Number two, this is a book that I've recommended a couple times, but I'm just going to keep recommending it because it's so good.
It's by Adam Becker, and it's called More Everything Forever.
And he is a journalist based in San Francisco.
He has a philosophy undergrad and a PhD in astrophysics, and he just demolishes all of the AI religion that singularity and the effect of altruism and accelerationism and the whole like, what if we could have infinite growth foreverism?
And he's like, the heat death of the universe, you guys.
Literally the only thing we know about exponential growth is that it must end.
It must end in an S-curve or in a crash.
It must end.
And he's got this dry sense of humor.
And there are a couple times where he's just like describing...
Some of the very real things, it's just like, why do Oxford ethicists want this?
He's talking about like taking over star systems.
It's just ridiculous.
And he also, he gets in a whack.
He's just like, talks about these people who are working so hard on life extension.
And he's like, these are a bunch of sad little boys who miss their daddy.
And I was just like, oh my God.
It is the oldest fear of humanity is a fear of death.
And you just see it.
You cannot unsee it.
So yeah, those are my two.
They're both so good.
Well, Charity, thank you so much.
This is finally made it happen.
Finally.
It's a good time.
I always really, really enjoy talking with Charity.
I hope you also liked it.
I appreciated how Charity talks about the trust account.
If we are debiting trust from the creation of code because AI wrote it and no human read it, then that trust needs to be refilled somewhere else.
Testing evils and guardrails are all ways to add more trust that we lost by using AI.
I also appreciated how she talked with empathy about both AI camps.
The enthusiasts, or AI-pailed folks, are seeing the practical wins, while those operating production systems see the slop.
Neither side is wrong, but they should talk to each other more.
So if you see wins with AI, share with the broader team, but also talk about it when it creates more work, reduces reliability, or when it degrades quality.
And for those of us feeling anxious about all of this change, especially directors and managers, I'll leave you with Charity's advice.
Anxiety and excitement are psychologically almost the same, but a difference between them is agency.
So instead of waiting for change to come to you, take charge however you can and make changes yourself.
Do check out the show notes below for related to pragmatic engineering deep dives on how AI is changing software engineering and for another discussion with Charity on observability.
And I can very much recommend her book, Observability Engineering, 2nd Edition.
If you enjoyed this podcast, please do subscribe on your favorite podcast platform and on YouTube.
A special thank you if you also leave a rating on the show.
Thanks!
and see you in the next one.
