Mike Rollins, a CTO of multiple startups, describes a radical shift in engineering where his team no longer writes or reads code—instead, AI agents autonomously build, test, and deploy features. This agentic model allows for unprecedented speed, with the team shipping updates rapidly and maintaining near-five-nines reliability. The process relies on a comprehensive testing infrastructure that includes local environment replication, Docker, makefiles, and automated checks like Playwright and linters to catch errors before production. Crucially, the team operates under a culture of calculated risk and deliberate failure, where engineers are encouraged to make independent decisions and learn from mistakes—such as a junior engineer shipping a flawed feature that later revealed a critical oversight. This approach fosters strong judgment and ownership, especially in a fast-moving environment where engineering outpaces sales, design, and marketing. While the model eliminates traditional code reviews and manual testing, it doesn’t compromise quality—instead, it uses AI to enforce rigorous, automated validation. Rollins emphasizes that AI amplifies team culture, so success requires modern, agile practices, not just technical tools. He also highlights that such a model is not viable in high-security or regulated industries, and that team maturity and business alignment are essential. The model is rooted in trust, automation, and continuous learning, with engineers empowered to act, fail safely, and grow through real-world experience. This approach represents a new paradigm in software development—one driven by speed, autonomy, and deep integration of AI into every stage of the software lifecycle.
The big milestones for us were we started from everybody's using AI to code.
We moved into, "Hey, what's the last time any of y'all actually looked at the code?"
And all my team was like, "Like, everybody didn't want to get caught."
I was like, "Oh, because I haven't looked at it in months."
Yeah, and they were like, "Oh, god, okay, thank you, thank you."
And Poster Syndrome that jumps out when the juniorist member of the team
posts something in the engineering Slack that calls out something the most advanced engineers
done. And you're like, "Oh, god, I'm not even a real engineer."
And then you're like, "Oh, wait, you had caught a look at that, didn't you?"
And they're like, "Actually, no, it was Codex, you know?"
Welcome back to the Agentic DevOps podcast.
And I'm your host, Brett Fisher. I have my friend, Mike Rollins, on. We went to lunch,
and the way he talked about his AI first engineering, or agentic engineering, or agentic development,
whatever you want to call this thing, where you're throwing tokens mostly and not writing anything
anymore, and you're not even looking at code anymore. And he runs a team as a CTO, a small
team, and a startup. And I wanted to talk about what that life is like. Because a lot of us,
you know, we're in enterprise, or we're, I would call like, legacy teams, where we're
towing around with AI. We're certainly using it for code, but we're not necessarily riddling the
entire pipeline of the software life cycle with everything AI, so that we never see code again,
and that everything just goes as fast as possible. Like, most of us are somewhere in the middle,
or near the beginning, I think, and certainly with a lot of the people I talk to, where they aren't
necessarily able to throw out the playbook that we've had for the last 20 years on how exactly
a team uses Git storage and automated deployments and test driven development, and all the things that
maybe were hot topics before AI, right? So Mike and I go through a pretty lengthy conversation,
but I wanted to get as detailed as possible to talk about the culture, the pros and cons.
Like, what are the downsides of this? Tell me some horror stories of how this can go wrong in
so many ways, and what it's like trying to push the envelope being on the bleeding edge of AI
first development. So let's get into it. Mike, welcome to the show. Tell the audience who you are
and what you do for a living. So, my name is Mike Rollins. The majority of my career has been in
Silicon Valley. Back in '22, our company was getting bought by Twitter, and then this dude named
Elon jumps in, and we were no longer being bought by Twitter. And as a result, I went on this
multi-year escapade of I worked for a healthcare startup, and then after the health, I left the
healthcare startup, or I was asked to leave the healthcare startup, because it turns out if you
ask very difficult questions pointedly, people don't like it. I ended up going out on my own,
and it was terrifying, scary. I mean, from about 2023 until really November of last year,
I was a contractor, and I did a bunch of stuff. I was the founding engineer for multiple projects.
I've been the CTO now of three different companies, though mostly fractional. And I have, at some point,
the internal clock in my head is always ticking, and I feel this constant need to go faster. And so,
as I was building things, as typically the only engineer, the clock in my head is just faster,
faster, faster. And so, when AI became like a thing, meaning back in the latter half of 2024,
and then especially at the beginning of 2025, myself and a few other folks,
Kenny and Thanas, who he and I have a podcast together, they were kicking back off, called Willa,
I snap that. We both just dove in. And what's funny is that since about really the entry of
Cloud Code into the market, I have been doing it first engineering. And what I had noticed is that
by the time we hit about Mayer's June of last year, I was no longer writing code. And then
right around November of this year, I realized I was no longer reading code. And it was this shocking
realization. And so, I basically dove head first into AI. And, you know, high risk, high reward,
the risk here is that my family can't eat, right? The reward is that I figure out a way to do
engineering that other people don't know. And that's what we did. And so, nowadays, I'm at this
company called Relify, and then also Family Digital, I'm CTL of both. And I have this team of
four other engineers, and really truthfully, only one of them. Well, one of them is a designer that
we've turned into a front end engineer. And none of us read code, none of us write code. We ship,
we've built this agentic system that's built from the ground up for sharing. And it is kind of,
it's built at right angles to the way everybody else is doing things. And we are moving so fast,
it's terrifying. But the clock continues to tick. And I continue to think, how do we go faster,
faster, faster, faster. But I do never in my life, I got to ride mobile. And I started riding
code for iOS and then Android. And mobile felt amazing. It felt like a freaking rocket ship.
Everything changed so fast because there was a new phone about every three months. And now it's
good. Didn't we just see a new frontier model a week and a half ago? Because we did. And it's just
unbelievable. So anyway, that's how I ended up here. Yeah, that's a great story. And I was on the
hardware side of mobile, not the software side. So yeah, it has become very apparent to me in the
last few years that it's like, I, it's a good analogy of like AI feels like it's kind of replaced
mobile as the exciting tech where that was really, I mean, mobile kind of came around a little bit.
A few years after cloud, but cloud, I feel like was pretty well understood within four or five years.
And then we had mobile and that was exciting. And then it was like this lull, I kind of feel like
2018 to 2020 was kind of this lull of we were all sort of, yeah, we were all sort of exhibiting
the same pattern. The vacuum of crypto, which, you know, I don't know anyone that touches it
with a 10 foot pole. So yeah, that was the thing, but not necessarily in my ecosystem. So we
all were talking about how isn't it great that Docker and Kubernetes are boring? Isn't it great
that like microservices and distributed services and cloud tech are all kind of boring? And we can
just focus on the work and enhancing our craft and getting better at it. And then, you know,
touch the Pt shows up and then we're all copy pasting. So I wanted to get in some of the nerdy details
of it sounds like it's a relatively small team. So total of five, it sounds like there's
still a five of you. So does that mean you have five people making PRs into presumably get up?
And how do you go about even starting something? Is it like an individual thing where you start
an idea? You mentioned this idea of concepts first before ideas or something like that.
Have you been adding text-to-speech in your apps? One of my late-night projects this year was
creating a personal podcast feed so I could listen to the change log of my favorite open-source
projects while I do my chores. I needed a text-to-speech API to do that. I also heard from a colleague
this week who built an app for his kids to turn their e-books in the audio books and he's using the
Speechify AI developer platform to do that text-to-speech. Speechify AI is a developer platform for real-time
text-to-speech and they make their own voice models. Their Simba 3.2 model ranked number one on
the artificial analysis benchmark for conversational voice quality. They've got a free plan,
streaming, and rest APIs, TypeScript, and Python SDKs and if you want to get fancy,
you can use their SSML metadata support to add a motion into the speech output.
Whether you're shipping a weekend project or production voice agents at work, you can start
free at speechify.ai. The link is in the show notes. Thanks so much to Speechify AI for sponsoring
this episode. Well, let me start at the end for you. Okay. Because this is typically the framing,
this is the framing I've been aiming for and we're almost there. What does it take for me to allow
an agent to pick up something, build it, test it, commit it, open the PR, make sure everything runs,
listen to all the feedback, merge it to main and deploy it, and a human is never involved in
this matter of fact, a human may never know that it happened. What do you have to do to make that
real? Risk is really the big asterisk there. As the clock is ticking in my head, I make decisions
based on a risk assessment. What is the likelihood of failure versus what is the outcome if we fail?
What you find is that even if the likelihood of failure is high, but the risk associated
with the actual failure is low, you may choose to take the gamble. Conversely, if the likelihood
of failure is very low, but the risk is extraordinarily high, you may not take that leak. It's not a
gamble. It's almost a guarantee, but you know that if you hit the enter on this select statement
in the production database and it goes sideways like the failure mode could be the database
disappears and then so does the company. That's one of those things where it's like, I've made
that decision and had it go bad. I have wiped the company database. Are you the one that's like
on the tip of the spear so the rest of us can learn from your failures? When I was at outlier,
we did machine learning over time series and this was in 2022. That was the company that was going
to get bought by Twitter. I was on call for three years straight and I wrote direct queries in
production databases constantly because it was the only way that we could keep the system up and
running sometimes and wake up every morning and I would rebuild the system and there were a couple
times that boy did I bad out.
Even in a couple not the current company, but the previous one, there were a couple times I just I wasn't thinking
I knew I was doing something a little bit risky and I did it anyways and I had to go
desperately hope that we had a recovery copy and stashed away and we did and so I have legitimately
I've blown it all up. I'm very risked tolerant in that aspect, but the reason I'm risked tolerant is I fixed it and so
when I look at let me give this as an example, we had an incident occur a few weeks ago and
All of a sudden I realized that we could no longer upload files to our system and now keep in mind
It's an agentic system. You create a bunch of agents. They can all talk to each other
It's a lot like open-claw except we were doing it first and we built it to be enterprise safe
And part of that is like you have to upload things and they get shoved into the rag database and they get shoved into
The S3 file system and I tried to move a bunch of things around and I couldn't I was like what's going on now
I'm at my daughter's dance competition. I don't even have my computer with me
I'm the only engineer that can fix this at this moment and so I'm actually on my phone
So I swipe over to cloud code. I have a session running on my machine at work. I'd tap into it
I say I want you to clear your context. I want you to pull mean
I want you to get to a new working tree and I want you to help me diagnose what this problem is within about four minutes
I knew that the disks that were
Serving the ECS the EC to our ECS images were full because we had not been pruning them after we would deploy and
I had cloud go in because it also has my AWS credentials as part of it and
Said go fix it and went ahead and fixed it
I didn't even have to restart the system. I had the whole thing back up and running correctly in five minutes
Yeah, the classroom basically or whatever whatever yeah, whatever the container service equivalent was but that was it, right?
And well the risk was actually pretty low and the likelihood of failure was almost a minus skill because I knew that I could do
Everything from the command line on my machine through the app. It was on my phone
And so the risk profiles of everything is just different now
So when I sit down and I think about what does it take to allow an agent to write code and ship it without
Never knowing there's an inherent assumption built in that any failure state is something
I can recover from in a relatively short amount of time and
Now there's an extraordinary number of assumptions that are involved there and it's not like this is yolo, right?
Our build infrastructure our GitHub actions everything that happens post commit is methodical. It's intense going back to what was your initial question
We don't do tickets. We do features and oftentimes because of the speed with which we move we if there's not even time to build a UI
Our designer is often catching up to engineering
We have officially broken the entire organization because engineering lose faster than sales and that is a wild thing to deal with on a business level
Like it's when people get fired, right? Because there's too many engineers for the sales team and that's so rarely ever happened because there was always a gap
Yeah, I mean the typically the lead time from sales to engineering is six months. Yeah, what do I tell the customer?
We need them. We need the feature. Yeah, yeah, and I'm like it's already there
Just signed the contract. They were like it wasn't there two days ago. I was like I know we shipped it
They're so not used to that. Okay, especially if they're old school and they're used to the giant lags
Yeah, well, and you know, so the one thing to say is the mentality of engineers has to be totally different my engineers have to understand the business
And I don't let my engineers just focus on tickets as a matter of fact
That's an amazing way to fail catastrophically at this point
Instead I say here's a thing and I want you to understand it and I want you to do it and the engineers that are working for me at this point
Which by the way none of them have professional experience before they started working with me
These folks are making really strong judgment calls and that's all I want. I want good judgment, right?
The model can and the harness can figure how to write the code
So is a large part as a portion of your training or cross-training in the team
Helping everyone with judgment is that become an increased thing because since they're going so much faster
You there's less time to talk about things so people have to be able to make more decisions on their own
Which means they need more agency which yeah, yeah, there's one amazing way to let people build better judgment and you let them fail
We ship something this morning and I had actually started work on it and then had to move on to something different
And so Mika who's officially he would be classified a junior engineer, right?
It will have been out of college for approximately a year in the next few days
Mika's making decisions at a senior level but he shipped something this morning and he over looked something pretty major
Re major yeah, I halfway knew it was going to happen and I let it ship anyways and
That is one of the things that I allow my team to fail
I will let the problem hit production is once again it's a risk assessment right because you've done it and I've done it
There's nothing quite exo as exhilarating as realizing you just ship the nasty bug, man
Everything is being destroyed and it's your fault
That is absolutely ingrained memory that you cannot escape and forget it becomes a part of who you are of your
Identity whenever you do that and so my leadership style actually relies pretty heavily on that
I know that I'm tossing people in every their heads and I do and
But I also tell them hey listen, you're probably gonna fuck this up
Yeah, and when you do I'll be here. You just come find me. There's no blame
I know you're in over your head
You know you're in over your head and I happen to know that they're sharks and they have lasers
You don't yet. Yeah, and so it's like challenging so yeah
You're giving your challenging people to grow and rather than
Coddling them through every mistake that they'll never remember because I'm sure if you told him walked by the desk or the equivalent
The analogy of walking by the desk and go, oh, what you working on?
Oh, yeah, you probably want to check this so that doesn't fail because that would totally broke production
They may not even remember that in five months or you know two months
So but basically the boss just told him a rule
But that's they don't really maybe another deep why I'm gonna ask real quick is the assumption here that you have solid
It sounds like it got past testing in the scenario
So that means that the testing was lacking for that particular assumption and then wasn't as important by the way that
Production can fail back do you need in order to give you the confidence that this isn't going to ruin the company
Do you have to have some other structures to be able to roll back automatically or is there a stuff like that in play that you're relying on?
So in this instance is actually wasn't a bug
It was a missed part of the feature. So this was a little bit unique
But honestly, I mean, that's okay. Here's the interesting thing
It forced us into the decision of whether or not we wanted to address it and we decided not to address it and yeah
You end up have you find yourself in these situations sometimes where because you can't
Necessarily cover all your bases you find yourself making decisions you might not have made initially in this instance
We were basically changing the ownership of a certain type of object within an agent
So previously it belonged to the user and we realized it needed to belong to the agent and so we fixed that right now
All of a sudden these things belong to the agent
But there were a bunch of them and they previously belong to the user. So we had to make the user's core agent to own them
But if you were using a bunch of these things in another agent, they were no longer there and it's oh
There's no elegant solution for this. So how do we get things from the PR to production?
I think is a great place to really hone in and the first thing you got to know is that whenever our in our
Environment whenever you issue a PR stand up a copy of prime for the whole PR
It is a somewhat expensive way to run things and it also catches so many things immediately now at the same time
That we're standing up that copy of production. This includes the database. This is everything right is a true copy of production
We have just a boatload of tests and checks and all kinds of things
I think last time I looked there's a 15 or 16 different workflows that get kicked off
We've got multiple audits. We've got I mean look we have tests running
I don't even know what they are. They just run like clawed was like I don't know we should do this
I was like excellent. Let's make that happen now
It took me about a week and a half to literally terror our old testing infrastructure out and put this new one in
But it's ratcheting we have rough running to make sure that things continue to get more and more
You know covered we have unit tests. We have end-to-end tests. We have playwright tests
We have a bunch of we have the linters that run even though I think they're useless and so we catch a lot of things
Before they even hit before the production or before the that we call them PR environments before the PR environments are built
We know there are problems often one of them is we double check that we don't end up with a too many Olympic heads
Right, I hate Olympic is literally one of the most awful pieces of technology on the planet if you don't use it
Right, it's so we've been forced to use it right Olympic does our database migrations by the way
So that's the first line in defense, right now
I will take one step back and say that every single engineer can also run the entire stack on their machine
That's you have to start there if the engineers have a table stakes
You know everything in a way production is a copy of our local environment because even though we don't have the data
Like I'm not going to let you put production and buy data on your environment locally you have like all the Docker
images that get built on your local also get built with different environment variables in production.
And so you have to be able to run everything locally. We also make sure that the model knows,
hey, you need to make sure that there's unit test coverage for everything you do. You need to make
sure that you're covering, you know, playwright end to end tests. I'm very, very big on, now this
is because we're primarily a web app, but I've also done it with mobile now. I want the model to run
the actual app locally and double check that everything it built actually works. And so it's not
just a set of tests locally. It's also, hey, I want you to fire up a playwright MCP session,
and I want you to click around and double check that this actually does what you say it does.
Pollucinations are real and the only way to really catch them so that they don't become catastrophic
is to literally make the model prove that it's not a hallucination. So that's our testing infrastructure.
It's the best I've ever seen. What are these, what are these tests using may files? Are you,
you got, are you using testing frameworks that are not fairly necessarily, but trust testing,
tooling that is, we use just for TypeScript and then we use, I don't know, one of the Python.
Our back, our entire system is just TypeScript and Python. I'm a big GitHub actions fan. I've
teach GitHub actions courses. Oh, GitHub actions. Everything's based on GitHub. And GitHub actions
locally is often problematic and difficult. And I generally don't use it even though we have,
oh, we don't, I don't run actions locally. Yeah, we don't run actions locally.
I tend to throw stuff in the agents file, like always run these three linters and then always
make sure they're in them, make a make file so that everything you do is through a make file,
because I don't know if this is advice or the way that I do it, and I'd love for you to,
your opinion on a lot of the things I'm doing, because often if I go fast enough,
it's making so much stuff. I built a Mac app over the last month, a recording app,
because I'm so particular that the thousand different options for recording screen and video
is not good enough for me. So I had to make my own. I agree 100%. And as a part of it,
it started to have all sorts like I need to, it needs to do a dev build and it's got a
prod building that copies it into my this place. And so I started to say, hey, look,
you're just writing a lot of commands for me that I don't even know what you're doing.
Could you make sure that all that is always in a make file? And I made that a role in my agents file,
and it started doing that. And I said, okay, always run these linters when you're done at time,
at every time you edit, always run these linters, always use this make file. And because I started
to realize that I couldn't do anything without it, right? I couldn't sit at the command line and
know how to build my app because I'm not a swift UI guy. And so I started to the point where I,
those are almost table stakes, enforcements for all of my projects where I want the agent locally
to behave a certain way like running test. So the challenge is because I'm using GitHub actions,
I end up with it just writing whether it's a compose file or a make file or, you know, whatever,
I'm always curious what other teams are doing. Since I feel like there's this pull to pull the
testing into wherever the agent's living. So if you're running a harness locally, you probably need
to run the test looked at because the agent needs to run them. Unless you plan on going
and getting a new coffee and you just tell the agent, please run all these and GitHub actions and
let me know when they're done. And then you have to wait 20 minutes because we're 30 minutes or
longer, depending on your test harnesses and stuff. And so I was just curious what you do.
I actually have, it's publicly available on the GitHub. If you want to go see how I started
project, this is it. And even I was a skill that you can use. So I call this the Delta V launchpad.
It has a cloud skill that'll basically set this up for you. It has a make file. I do everything
with make. I'm like you. I got completely just dead tired of okay. I'll do this again.
Guys, finally, it's just go use the make file. Make files, you know, the Docker configs are all
composed files. It's all pretty standard stuff. This is all none of this is rocket science. We all know
how this is built. Yeah. That's why I just picked something. Yeah. I think a lot of the people in
the my guild, the genetic DevOps guild, they're, you know, there's a wide range. It's in there.
There's people that are like very new to this. They're dipping their toes in the co-pilot or
cursor, maybe cloud code. And there's people all the way on the other end that are, you know,
they're using they're using plug-in marketplaces to manage their skill deployments to their teams
and centralizing the skill management. As while at the same time, they're adding more and more
agents to their post commit workflows to self-improve things on occasion, which is a topic I want to get
into at some point about the idea that once you sort of matured yourself to, you know, you've got your
agents reviewing PRs, you got sort of like the the table stakes of agents post commit where you've
got it, you've got agents looking at your PRs, you've got agents, maybe you're lucky enough and you've
got one can help you troubleshoot or something. Yeah, but here's one of the questions. Everybody should
really ask, do we have a way to do this in code? Because if we do, we should do it in code. Yeah,
it's funny. I talked to you because sometimes they're like, I want to build an app. I'm like, all right,
tell me about it. And this one guy told me about, he runs his pull business on an Excel spreadsheet.
He was like, do you think I can turn this into an app? I was like, absolutely. He goes, where should
I add AI? I was like, nowhere. It runs on an Excel spreadsheet. It's deterministic. Do you have
anywhere in this process where you want a non-deterministic choice to be made? Because the answer is no
just run the code. But yeah, I mean, look, I tend to drive certain types of engineers insane because
I kind of don't care. You know, you're like, well, what are you using for your testing? I'm like,
I don't know. We're using something. I know there's tests there, right? Who's looked at your test
to make sure that they're valid? Nobody. How do you know your tests are good? Well, I have about
80 other things that check, right? And so I don't dictate to my team the tools, right? I do say,
you're going to use Docker, right? You're going to use Docker Compose. You're going to use this
make file. But that's more just for efficiency sake. You know, one of my engineers, he's way smarter
than I am. He uses codex. I think it's a terrible idea, but he uses codex and we fight about whether or
not chat GP tier or cloud or better on a daily basis. And I tell him he's still wrong, but whatever,
though it is funny. We get to watch the models leap for each other. I really don't care what the
tools are as long as they get the job done. And that means I also change the tools often.
Well, no, but I mean, it brings up a good point that sometimes the reason I ask these questions is
because in the question of, you know, think of some of the things you're using in CI and just
rattle off some tools because we can be vague and hand wavy about a lot of these concepts. But I
always like to get into the nerd details. But the reason I asked that is because often the answer is,
yeah, Docker Compose files and make files. In other words, there's nothing new in there.
There it is exactly what it always was. I personally, I don't know if this is the general advice
you would give, but I personally advise a team to guide their AI to make the choices on the
toolings that they know rather than just let it make because in theory, if you asked that AI
before you've greenfield something, what language it thinks it would use. It might, it probably will
prefer Python or TypeScript, but it might make a bold choice. And that doesn't mean it's right for
your team. And so people I think are sometimes maybe not so much anymore, but they think they were
looking at this. Is this an opportunity for us to reinvent the wheel on a lot of our tooling? And my
argument to me isn't, no, because at any point, look, the model uptimes aren't 100%. So if at any point,
you're stuck and you have to read something, it wouldn't it be nice if it was in a thing you knew
instead of some completely foreign like, I'm not going to have my AI building a pod man interface
to my containers when I'm the Docker guy. So if it starts to do that, I'm going to guide it
back to the places, even though I may never, ever look at that Docker file after the first creation
of the PR. And I don't know if you have standards like that, but I've always been imagining that
teams need to actually start even polyglot teams. They need to kind of settle in and say, look,
these are the languages we would really prefer a you stick with an AI and not just don't be co-balling
our production. I've got this Instagram channel that seems to be blowing up and I piss engineers
off all the time because I say things like you shouldn't be reading code and you shouldn't
be writing code and there's quite a few engineers that are very, very little. The other one I had
recently is like, yeah, just make sure you're testing around kind of no matter what they are.
And, but I had a few people get in like really get nasty arguing with me. Yeah,
finally, identity, bro. No, no, they were right. They were right because my assumption was different.
So I've had a couple of people come in and say, this is insane. How can you do this? It's too risky,
and I've had a lot of people come in and say, well, then it turns out that they're building embedded
systems. They're in health care. They're in banking. They're in some kind of high security field.
I'm like, yeah, don't listen to me. Right. But if you're building web apps, you're building mobile
that is just an extension of the web. Yeah. It's already been done. Just use the standard.
You don't have to reinvent that wheel. You have a very valid point about your assumptions because
both of us have been operating. I mean, I've been in cloud native for over a decade. The
things that we learned about distributed computing, microservice architecture, API contracts,
all those sort of the things that kind of evolved over the last 15 years. I've been living and
breathing that at the near tip of the spear. So when I meet a team that they have 3% test coverage,
they're not using a type say for memory-safe language. There may be yellowing some old PHP stuff,
and they've got a very monolithic approach. And then they're like, how we can't do this? We're
having all kinds of production failures. And I look at them and I would evaluate and say, yeah,
that's because I love this phrase lately is that AI just amplifies the team culture. And your
team culture is of 2010. You need to modernize a lot of your culture before you go fast. You can't
go fast without the safety and the safety was never there to begin with. And so I do run into that
on occasion with teams and it's surprisingly a number of teams, maybe not embedded in healthcare,
but like a surprising number of teams that have very large, important apps that I get to consult with.
And I cannot believe the, I would call it the level of immaturity that the code base and the
team has. And because we don't have accreditation in our business, right? We don't have plumbers
certifications. So like I can't look at them and assume that they know all these things and that
they're doing all these behaviors that I've been doing for so long. I have been able to look
under the hood at multiple Silicon Valley giants. It's all shit all the way.
have. Every single engineering day was, we have the worst stack ever. All of our goods
graph. And it's, now your code's fine. There's really only one measure that matters when
it comes to talking about your product. Does it work? A follow up question is, does it
work all the time? If the answer to those two things is yes, it doesn't matter. Now,
there's a third implication now recently, especially with a bunch of the mythos stuff,
which is it secure. And that's always been important, and it's always been relatively easy
to exploit sloppy stacks, right? By the way, sloppy stack is the name of a future podcast.
Oh my God. Yes. That's that's really. Yeah. Yeah. Yeah. Yeah. Yeah. Yeah. Break down your
sloppy stack. No, we're going to, it doesn't. It also sounds really gross. Whether or not
your architecture sucks, whether or not your stack sucks, whether or not anything sucks,
there's only one measure that you have to apply to it, which is doesn't work, right? And
now that decompose is fast and tiny little things. But if it works and it's built on
ancient PHP, maybe there's not a reason to fix it, right? I have another follow on question.
So we're seeing a lot of the news around the general degradation of code quality as people
on board AI. And I understand how it's happening, and I don't understand why it's a mystery
on how to fix it. Because it feels at least in my experience, if I have all these review
agents and PRs and I'm using I've got a series of skills that are auditing security audits,
concurrency audits, performance audits, you know, these are things that used to be very
hard for engineers to do because it would quite a lot of manpower. And we would often skip
them, especially when budgets were tight and project deadlines were close and continual
documentation updates. I'm just thinking going down the list of the things that I can
now have agents burn a bunch of tokens on. To me, it doesn't make sense that the code
quality would go down. It feels like to me that with enough gates that I'm triggering
AI's in that the code quality would in terms of maybe not my impression of how the good
quality is, but at least the way it performs and behaves in production feels like it should
at least stay the same if not go up. Is that what you're seeing? Do you see that or do
you see the opposite? Am I wrong? Or I don't read the code. Why do I care? Well, but you
see the outcome of the code. So obviously like the outcome of the code. So if your production,
if you were five nines before and you're four nines now, you would notice that assuming
you're measuring it. I mean, listen, we're not five nines. We're close. We're much closer
now than we were two months ago. You know, it used to be I had to take about 10 to 15 minutes
of downtime per any release because of the way our stack is actually no. And because of
the way that we release, but I've since fixed that we don't have downtime. As a matter
of fact, I mean, we probably are close to something like five nines. But the question is like,
well, let me, let me turn this back on to you. Why does code quality matter? And what is it?
Well, why? That's a great question. That's a question. I would say what I'm specifically
talking about is failure rates and production as adora metric. This is the problem. This is my
assumption is when I think of code quality, it isn't whether you tabbed your space. It isn't
whether you followed the black linter on your, you know, whatever spec. It is about when you got
to production in an enterprise, there will be a security team that does a production analysis
of what's going on and they'll find more flags than previously, or you'll start to have more outages
or customer complaints than before. And so these metrics, according to the, the news, the media,
you know, these things are going up for teams that are going too fast in AI. And that's that
some are deriving that as the conclusion means humans still have to read the code. I don't
necessarily take that as an outcome of that assumption. I take it as no, you need to put more,
you need to put more rigor into the AI process, not back up to the world where we were all reading
every line of code. So I was curious on your take. It would be interesting to go back to when the
Agile Manifesto was written. Everybody had done waterfall to that point. And all of a sudden,
somebody comes out and they say, this is stupid. We should change as fast as we can, right? We
shouldn't plan for a whole freaking year. That's insanity. What we should do instead is we should
take stock of where we are and take stock of where we want to be in two weeks and get there.
I am willing to bet that the performance of Agile at the very beginning was much worse
than waterfall. Nobody had done it. Right. Everybody was trying to figure it out. This is worse,
right? This is that steroids. I look at the things we are doing now and on my team,
that we weren't doing two months ago and I sweat, right? But you know what? My release rate,
the amount of code that has landed is hockey sticking and I've been forced into what I'm doing now.
I would be willing to bet that we are shipping more bugs than I wish we were shipping. I don't think
we're shipping the same bug twice. At least not one that like, have we had regressions? Absolutely.
Have we had regressions in this change over period from the old way we were doing it until the
new way where we'd done it? Yes, 100%. I don't know that we've shipped a regression since we started
on whatever this new thing is that we've been doing. Okay. And then you've only been doing it for
three weeks. Is there like a hot tip on exactly that do you add these to a skill? Do you add new
tests for every failure? Oh, hey, thanks for listening. And I got a couple of quick announcements about
stuff that I've created. A lot of this is free stuff you can get right now. I just in case you've
not seen some of my other videos or stuff I've been doing on my newsletter, I've created a GitHub
Security scanner that is an open source project. It's called GASA GitHub Actions Security Assessment.
And it's expanded to even have more rules. I think I'm about it. Now it doesn't rules on it.
It scans your repos, including the entire organization. And the focus of it isn't to replace other
linters like the GitHub Actions Linter or Zizmore or other scanners like Poutine that are all really
great. It's meant to supplement those and solve my own problems as well as my clients problems.
And I just thought I'd open source it to give it to everyone. And I've spent a lot of time trying
to make it a solid tool. I actually just spent some today, time today in Fable Model building out
some better testing frameworks to test it against real organization repos as a part of its PR
testing. But the whole purpose of this is to scan its personal repos or even repos you might want
to use or mostly your organizational repos all at one time to give you this report on your stance
of GitHub Actions Security. And it looks not just at the workflows, but also the repos settings
on the backend. And this is based on my half decade of consulting around GitHub Actions.
And there's no agenda there. It's completely free. I've actually been using it to implement
and upgrade the security of my own repos to make sure that I'm not as vulnerable to some of the
recent supply chain attacks. So the whole reason of doing it was people were asking me to help them
lock down their supply chain against the attacks we've seen over the last year on GitHub Actions,
particularly around open source repos or even using other people's GitHub Actions in a more
secure way. It will guide you through how you can change and improve the security. It won't
actually change all the settings for you because I'm not quite comfortable with it going in
blast radius of your entire org. But go check that out. It's on my GitHub and the link is in the
show notes. Next, I had in July a GitHub Actions Security workshop for free because chain guard
sponsor me. I was actually going to charge for this workshop because it was hours worth of hands-on
learning around how to use your own agent or your own hands to actually lock down your GitHub
to make sure that you're not vulnerable. So it's walking through what this GASA tool does,
but also why these settings need to be locked down, why you need to care about those particular
settings and what happens when you maybe do one thing in a workflow and another thing in a security
setting in your admin settings and those two things conflict and cause a security potential risk
that GitHub isn't probably warning you about. So it's meant to supplement all the current stuff
out there that really just focuses on the workflows, but don't actually also consider the
admin settings of your workflows, which are behind the scenes. People can't see those settings,
but they're not usually easy to find. So anyway, you can go look at that workshop also free on my
website. Thanks to chain guard for doing that and making it free for everyone. And finally,
if you didn't know about my agentic DevOps Guild, we have been meeting weekly since March. We
I think we're like 25 weeks of weekly meetings and we're now over 50 teams of people in there
solving problems for their team on how we're going to manage agents, how we're going to manage
the security and the sandboxing of our AI for platform engineering use DevOps,
anything related to cloud and Kubernetes. If you're somewhere in an ops role, this was the
program designed for you. It's not just meetups, but I'm also creating courses. I've got two courses
in the works right now where videos drop on a sort of a random basis, but based on what comes out
of our meetings, I turn that into lessons for everyone to adopt and also that comes with workshops
that we do, including this gas of workshop that was last month. And those workshops are meant for
the guild. The guild will always get those for free, even if someone doesn't sponsor the workshop.
But go check that out also on my website. And I hope that helps solve some of your AI adoption
problems back to the episode. We have to be absolutely obsessive about tests. Yeah. I hated
tests. I hate tests. I hate tests as an engineer. People that are like test-driven development,
I would always be like, you're at ease. That is the stupidest thing. I cannot think of a better way
to grind an engineering team to a halt. We've got to ship this fast. I'm going to save way with
spectrum and development that I am with test-driven. I'm a shiny person and none of those things give
me the dopamine hit of shiny, which is why no one pays me professionally to develop full time.
But you know what? I get test-driven development for free now. Yeah. I don't have to worry about the
- Yeah, let me throw this at you.
I was working on 15 different bugs at the same time
the other day, okay?
I was doing so much that I locked my machine up
by filling up the disk because apparently,
if you run node, what is it?
The MPM install and the tight,
the Python equivalent, that can be a lot of space.
And I only have a half a terabyte on my work machine
'cause I decided that's the fine thing.
That code is small, and that you do.
And I was building Docker averages, yeah.
And the next thing I know, my machine just stops.
Not slept down, it just stops, right?
But in the process, I had also opened up 15 PRs.
I locked up the entire stack.
I accidentally flooded the GitHub actions,
overloaded the lambda that runs our database cloning
where we clone production into the PR environment.
I found a bug in the process, which was very nice to find.
But it was not the first time that it happened
where I basically launched this clone storm
that locked our entire PR infrastructure up.
Everything was still running, but you couldn't do a new thing.
I've never tried to land 15 PRs at the same time before.
Have you ever done that?
- I didn't close.
- Has that, have you ever heard of anybody doing that?
- Yeah, I mean, there's the whole new,
what's the PR gating thing where you combine them?
- Yeah, it's like merge streams or something?
- Merge, yeah, merge stacks or--
- Yeah, it's basically what GitHub just told me to do.
- Oh man, get a sloppy stack this hard.
But listen, yes, of course it's, yeah, maybe it is degrading.
But nobody's ever done this before, man.
But we were doing it before Anthropic and before OpenAI.
We were doing this style of engineering back in July
of last year.
Anthropic and OpenAI did not adopt it.
Nobody's done this, man.
And so, yeah, are we finding things
that are degrading a little bit, sure.
- Yeah, how long it takes me at this point
to put a fix into production,
if I notice it, 20 minutes, 30 minutes?
- Yeah, assuming I have to build the images?
- I recorded a very similar episode to this topic yesterday
with someone from GitHub Dexed
and then someone from Microsoft Research.
And they're both working on the agentic workflows feature set
for GitHub, which is currently, I believe, in beta.
And I'm very excited about it.
I thought it was very weird at first,
but after spending an hour and a half with them,
I am all on board and I'm very excited
about spending more time with it.
He talked about that he's also working across 22 projects
with multiple PRs in each project
and that he does everything, because they're GitHub,
they do everything through co-pilot, everything in GitHub.
And so, he spends most of his day as a researcher
that is a developer researcher, as I should say,
prompting through GitHub.com/whateverTheAlogenticPages
where you can prompt like you're in Code GUI,
or Cloud Code GUI.
And he was saying, you know, he spends a lot of time
on his mobile doing it.
And sort of talked me through his day to day,
and I was like, man, I feel so antiquated,
'cause I'm still at this habit of,
if I think of something, I go and write it down on my phone,
but I think I'll do that when I get back to my computer
because I'm just so not driven to use dispatch,
or I'm just not there yet, yeah.
I know I have it, and I just don't default to it yet.
It is, oh, I can kick this off right now.
I don't need to wait till I back at my computer.
- So this is what I do.
I have two machines that I write code on.
One is this laptop here,
and one is my machine back at work.
I typically use my machine back at work for this.
I have remote sessions, or remote environments,
or something that turn automatically in Cloud Code,
and then I also have auto mode turned on back to fault, right?
- Safety off.
- No, at least safety on.
Auto mode is not--
- Oh right, sorry, auto safety mode, right?
I'm sorry, I'm thinking of auto mode.
- It's legitimately called,
there's planning, except that it's whatever the default,
normal default state is,
and now they added auto mode.
Auto mode actually has a safety classifier in it,
and so there's effectively another agent
that's over here running that says,
is this dangerous?
Is this dangerous?
Is this dangerous?
- Yeah, no longer can you do that.
- Right, right.
- We'll just smack it, yeah.
- Sorry, you don't, real quick.
You don't enable sandboxing in the--
- Actually, auto mode may be some kind of sandboxing
in the background.
- You could call it that, but yeah,
'cause it's gating, there's--
- Gating tool access, basically, right?
Like it's a programmatic deterministic gate,
at least as maybe not auto, maybe part of it's a little bit
of a mini LLM or something in there.
- Not fairly deterministic way to do it.
- Yeah, but then there's also,
then there's your unsafe mode.
- I'm hands on.
- Okay.
- So the danger with unsafe mode
is actually auto mode and unsafe mode are very similar,
but there are certain things that auto mode
will not allow the agent to do,
and one of them is just go find a module to use,
and that is super duper important right now.
The number of tool chain attacks
that are currently in flight are insane,
and the security landscape is,
it's actually one of the things that keeps me up,
thinking about it, did we ship something
that has a security vulnerability
that was intentionally put there,
so that our stack would be exploitable later,
- That's sleeping on my machine.
- And is it sleeping on my machine?
- I'm waiting to take my stuff.
- Yeah, but I have these remote sessions running,
and I'll be sitting, I used to not sit on the couch
and watch TV with my wife because I felt like,
I needed to go be doing something,
and I'd have these ideas, I don't love watching TV,
but I'm like being with my wife,
and I was like, okay, well, let me go sit with her,
but then I had these ideas,
and I'd be like, I need to go do this.
Well, now I just pull my phone out,
and I tap a few things on, into God,
and I just put my phone away,
and it goes and it tests everything,
and does the idea, and then it comes back,
and it's, okay, yeah, it's ready to ship.
Are you ready?
I mean, it's a wild world.
- You can't start a new project from the phone, can you?
On cloud codes specifically.
- Is she in?
- Okay, but when you say a new project, what do you mean?
For example, if I don't have remote enabled
on an existing repo that I've cloned,
or I want to start a new code project,
and I don't have a repo yet, or a folder,
I can't get it to initiate a local new session
on my Mac remotely, right?
Like you said, you had remote on always,
or you have it, I didn't even know you could do this,
is actually a pro tip,
is just turn that thing on for everyone,
all of them,
'cause I always get to slash enable remote in my sessions.
- All right, so first off,
you have to give cloud code the access to your GitHub repo.
If it doesn't have a GitHub repo, you can't use it.
Now, if you want to start a new project,
you go create the new repo, and you get how to happen,
then you come back to cloud code,
and you give it permission on your phone
to just use that, and then it can.
Then you can start the, you can start it in the,
there's like a cloud version,
then it runs, and you get all the changes.
- And you're using the connections feature,
that actually connects.
- Yeah, I don't remember where it was, but.
- Yeah, it's an automatic connection
to GitHub from the cloud code web UI.
- Yes, that's correct.
And now, because of the way our stack works,
because I can issue a PR and stand up the copy of production,
I actually don't have to have something running on my local,
but I can continue it.
And so, if there's something going on and I'm like,
"Huh, I would, I need to go walk away for two hours,
but I want to make sure this thing progresses."
I'll just get a notification, I can look at it,
want to mable and say, "Okay, go do this, that and the other."
So that is a pro tip.
You can, if you want, be running through first landing part
with 25 pounds of computer equipment on you,
and pull your phone out and advance your project again.
- I don't see a lot of those weight, exercise weight vests
with laptop sleeves in them,
but maybe that's the nerd equivalent.
- So, if there was, we've talked a lot of high level stuff,
and I really, I think this is gonna be really good
for people to sort of hear a team that's,
I wanna make a point here that I feel like
one of your secrets is that you're in tune with the business,
which you kind of started with that.
Your team is aware of the business goals, sales objectives,
like in terms of what the product needs to be,
where we're headed, why does this thing exist,
what do our customers look like?
Because that allows them more agency and allows them to,
also, there's a metric of judging risk there.
Because like you said, if you were a healthcare,
if you were a thin healthcare company,
that was, that you may not have this same posture,
because you're appropriately dialing up the risk tolerance
to the level of the organization that you're in,
and that is different for every organization.
So I think it feels like it bears worth repeating
that if you're not, do not try to shove this round peg
in a square hole of, you're in a high safety,
you're on a DARPA contract.
You probably, yeah, you probably should be doing
old school co-pilot code completion with the AI at best,
where every line is sweated over,
and you're just saving keystrokes.
- I've always been the engineer that was connected
to the entire organization.
It's just my nature.
I like talking to people, and I'm curious
about how the business works.
However, that is a skill that engineers
are gonna have to have in the future.
At least to some degree, when we started this,
the very first thing we realized was that
our infrastructure was the first gate.
So we went ahead and we fixed our infrastructure,
and we thought, great, now we can move forward.
But then we broke product.
Product could not keep up with us.
There were only three engineers at this point.
- Product could not keep up.
- Then we broke design.
Design is consistently behind in our system,
and it's not design's fault.
It's that there's now four other engineers,
plus our designer who actually commits code, right?
Because that's the only way for him to keep up with us.
Then we broke sales, right?
I would have to get on sales calls,
and consistently during the sales call
would have one of our sales guys be like,
yeah, we're gonna have that in a couple of months,
and I'll say, no, it's in the product right now, right?
I have closed deals, because it was already in the product,
and I was the only one that knew.
- Yeah.
- Right?
- It was fresh.
- Yeah, we don't have much marketing,
so I don't know if we've broken marketing,
I suspect we have.
But when you're in a position
where the engineering organization
is now the fastest organization in the company,
the only. way for you to move safely as a business is for your engineers to know how the business
works. Right? So before we ship things, the engineers at work with me know, hey, do we
have any demos coming up? Because that's a real question. We're small. We have to ask
that question, right? Are there any important things happening today? Because that's something
else we need to know. And so these are the questions that engineers typically don't ask
and they're going to have to. Engineering is different now because the speed at which
engineering can progress is effectively putting pressure and force on the rest of the business
and breaking it in the process. And I've never seen anything like this. And that's how
I know it works. Yeah. You're describing this as what I would maybe label as a pro engineering
culture where a lot of the messaging we see in the media is around cost optimization of
reducing engineering. And what I'm hearing that the language out of you, which is clearly
part of the business culture of your company, isn't looking to save the money. But because
you're so efficient, let's reduce you down to two engineers instead of five. Right? Let's
give it a designer and burden someone else with that workflow. I don't hear that out of
you. And that's sound I'm assuming that's pretty deliberate. It's a deliberate strategy
to not starve the engineering organization. Well, I mean, to be clear, the idea that what
we've built is what we've built with just four or five engineers is observed. There's
no way I could have presided over this thing being built with the number of engineers that
we have with the without a yes is that AI cost savings only in so far as it is an accelerator
to your individual team. AI is not going to be cheap. We keep on that out. We discovered
that recently. Yeah. The minute Claude Maxx and the $200 equivalent for open AI goes
away. Small companies like mine are going to be in a world of hurt. It's too expensive.
But the options that we can afford to do it any differently either. So yeah. That leads
to a question around cost. Do you? I have this diagram which want to show you real quick.
I'm trying to explain in my courses to people that are, you know, not near as advanced as
you all are yet and or as experienced. And I'm taking the project management triangle,
which was traditionally it was the rule was there's three things, leverage you can pull,
you get to control to you, meaning management and you want to control all three. And that
is quality, cost and time. And so the whole adage was you might be able to, you know,
you might be able to reduce the cost and and resources. But that's going to cause the
timeline to stretch. So you move to parts of the triangle. The third one's going to be
affected. And I'm starting to correlate this to what I'm maybe calling like the AI engineer
project management triangle, which is a sort of an internal metric that we assuming there's
not unlimited budget, which some teams are very lucky and they can just token max to all
day long that we really kind of get three new choices we didn't have before that is model
choice harness choice and where or when to use AI because obviously you could have AI robot.
You could put an agent into production and have it Ralph looping every second of the day,
constantly looking at stats and production to look for any potential failures and it will
burn thousands of dollars of tokens a day if you let it, right? So not everyone gets
to choose max AI in every part of their software life cycle. So if we get to choose model,
which effectively not only is of time thing because kai koo is way faster than opus, but
it's also very much a cost thing. And then which harness choice, which is maybe more around
functionality and ease of use because cloud, I feel like it's so so far ahead of everyone
else that it leads to a lot of new functionality that we don't yet have on some of the other
ones. And then when and where to use AI, which some organizations maybe don't even let
you put it in a production yet for helping with troubleshooting. And then there's these
esoteric things of the environmental impact, the privacy impact, and then the political
impact of certain things. I have members of my community that are in Turkey, for example,
where they're relegated to not being able to access all the models or they have privacy
rules where they're not allowed to move this data outside their data center. So they have
to then be able to somehow house local models that they have to run open weighted or whatever.
I was curious if there's anything in here of value that you would think that my idea
has merit in the fact that this is a new paradigm that we've never in the past. I don't recall
the last time I had to worry about cost in my daily activities that might blow my budget
as an engineering manager. This is a new thing, like you're allowed, but that wasn't
happening in a day, right? So first off, the most important part of this
is the harness. There was a Stanford paper and the Stanford paper came out and basically
said, you can improve the performance of the model by 6x if the harness is correct. And
so harness is really what you need to focus on. And while cloud code is one of the best
harnesses in the world, if not the best, they're still an extraordinary matter room for optimization.
So our models are harness. So we actually, yes, I code in cloud code, but in our production
environment, we deploy agents. This is what we sell is this agent infrastructure. And our
agents write code. Now our agents do not get tool calls. I don't let the LLM touch many
tool calls at all. What I do instead is I package, we package the tool calls into an agent
SDK. And the only way for the model to touch the tool is through writing Python code.
Now, what is that in doing for us? Well, number one, most models are really, really good
at writing Python code. You can actually deploy small models to write Python code, right?
But we realize we have this immense cost saving right now that we have not leveraged and
we're going to because if our agents are writing code to express themselves constantly,
why know how to save code? As long as I can find that code again, I can actually reuse
it. I don't have to spend the tokens recreating it, right? And all of this, I've built this
Instagram agent that I've been using for my Instagram account. And I actually built my
own Instagram integration in cloud code and I moved it into my agent. And I said, whenever
you do anything with Instagram, go use this code. And so what I found is that it has been
using it and improving it daily. And I realized, oh, I think this agent is now using less
tokens because it just goes and runs the code it's already built. And so that's one of
those things where it's, oh, well, if the harness can be used to make the model better,
the harness can also be used to reduce the number of tokens that are necessary to run on
a daily basis. And so putting the harness at the center of that thing is actually the
way to look at it, right? The central connector between the cost of the LLM, the time that
the LLM takes to run and whether or not it's safe to run is the harness. And in point
of fact, you can even structure your harness such that you can observe the inputs and outputs
to the harness without ever leaking secrets to the LLM. Because one of the other things
we do is we proxy everything in and out of the harness that's running on our remote system.
And since we're proxying it, I can actually inspect the traffic. And I can do that with
code. I don't have to do that with an LLM. And it's fast. I know how to do it. I know
the things I'm looking for. And so now if I start seeing the harness producing stuff that
it should not produce, then I can smack it down. And conversely, I don't have to give
the harness all the secrets. I can inspect the traffic on layout and insert the secrets
and flight without ever exposing them to an LLM. So the real, the center of that triangle
is the harness. It is the most important thing in what we're doing. Now, are the models
amazing? Yes. But now the models are good enough to focus on the harness. Yeah. Is that
using light L as your proxy? No, do you know? No. We rolled our own. Okay. So in terms
of bringing in the LLM, we just bring the LLM in through the, I don't like light LLM.
There were at least some significant issues with it previously. We use the length, length,
length and graph library. And we just make sure that our LLM is conformed to that particular
structure. We've got teams that I'm working with that are trying to figure out when it comes
to local human agent harnesses that, you know, they're trying to understand usage per
person and trying to figure out, give model access as well as maybe inject things at some
of the sandboxing tools are also learning how to inject things on the fly in the H2PS.
So the last question, I was going to see if I could wrap this up with the last question.
And I'm going to show you a graph again to them another one. I try to spend some of my
time, I'm trying to, and I'm really bad at it. So I'm forcing myself to do it. So what
I have on screen is something that I'm working on calling the AI engineer maturity model.
But it comes from a difference aspect of then every single other one that I see on the
internet. And I spend a lot of time looking at what everyone else is talking about of like,
how do I onboard my team to the skill, the human skills they need to really complete the
life, the software life cycle of where all the AI is belong, right? It's not just about
cloud code on my desktop. There's lots of other opportunities. And of course, the industry
is now starting to figure out that if you speed up the number of PRs you're shipping,
but you're not improving the things after that, then you're just going to have a giant
bottleneck in your PR stack and production won't actually get faster. But the screen
that I'm looking at is a fictional screen that on it is the idea of over time as you implement
different human workflows or different human skill sets that the team ramps up on. We assume
that your overall team productivity improves and there will be times, like you said, when
you first are doing certain activities that team productivity actually declines, like the
day that you implement cloud code for the whole team and they're all using it, that's
a rough week, right? That's a really unique thing. You need to give people time to onboard.
So there's probably going to be a lower productivity. And then there's other points where I see
teams that maybe they've they fully adopt agent harnesses locally, but they really haven't
done much in CI yet. They're barely even doing
PR review agents, they've maybe not even using that yet,
and they realize now that they have the CI backlog.
So I would argue that becomes a team productivity dip
because now they're spending all their time
staring at code the AI built
and they haven't really kind of leapfrogged
to the next level.
So I was looking at this like imaginary list
of things you can do in a team
to improve the overall productivity
of your software deployments.
Do you see like activities or certain things
that are sort of rise up as the obvious things
besides just using Cloud Code in your desktop?
Is there activities that you think are a big tell
on whether the team is mature or not
in their AI software life cycle?
- I hadn't thought much about it.
I've been partially because I haven't encountered teams
that are doing it the way we're doing it.
- Yeah.
- I promise you I've had a lot of people
look at me directly and tell me I'm insane.
They're like, this isn't real software engineering
and then they come back.
They're like, oh, here's what I can tell you.
The end of that graph looked like this gentle line
that just went up and there's a point in there
where that gentle line just becomes vertical
and that's the point where you do have agents fixing things
without human input.
We moved into, hey, it was last time
many of y'all actually looked at the code
and all my team was like, everybody didn't want to get caught.
I was like, oh, 'cause I haven't looked at it in months.
- Yeah, they were like, oh god, okay, thank you, thank you.
They didn't know where you were going with it, right?
Like you were, you were, you were putting your question
in posture syndrome that jumps out
when the juniorist member of the team
posts something in the engineering slack
that calls out something the most advanced engineer's done
and you're like, oh god, I'm not even a real engineer.
And then you're like, oh, wait, you had caught look
at that didn't you and they're like, actually no, it was codex.
But is everybody using AI full-time?
The next step is, what was the last time anybody read code?
Not just write it, read it.
Do you have full-CICD?
And then beyond that, it's as simple as, you know,
I'm sure that you could throw some milestones in there,
you know, what's your how fast is it to fix a bug, right?
Because in lieu of a perfect release,
how fast can you fix the release if it goes sideways?
By the way, you did ask one question,
do you have a single button rollback?
We do, but it's only good for 10 minutes.
So we got to be real careful.
But then finally is, can the agents just do your job for you
and under what constraint?
And that is when I think you're at full AI maturity,
that when it is safe enough to let agents move in your system
without getting human interaction,
you are now scaling yourself infinitely
because every step change that you add
to those autonomous agents is an infinite scalar
for the rest of the team.
One thing I will point out then,
we can close on this is when you make mistakes
in this style of engineering, they're big.
I'm not talking about shipping bugs, okay?
I'm talking about a misstep in the architecture.
I'm talking about a misstep in holy shit.
How did we manage to ship that migration order
on the database?
When you make a mistake like that in this style of engineering,
it's not a self wound, it is a decapitation.
And so every engineering team will hit the point
where they're like, oh my God, what have we done?
And we've done it twice.
And both times we ended up having
to regress the system by two weeks,
which doesn't sound like a lock.
And so you think about the fact that we have commits
that have been 60 commits behind.
We've had PRs, 60 commits behind because they were five days old.
So the cost of the catastrophic failures is higher.
And that's the one that you do have to think through.
Do you think about that in terms of either different tiers
of risk in the way you approach AI and different repos
or different parts of a repo where you're like,
well, this one's dealing with the database migrations.
So we have extra safety involved with that.
Yeah, so we do have, we use an owner file.
We need to be using an owner file.
I just keep forgiving to put it in.
But there are very specific--
Confession is there if we say again.
Get confession hour, this is confession hour.
Oh, believe me, we're not perfect.
Everything I've told you has been relatively true.
And maybe I've waved my hands once or twice, right?
But yeah, we need to put the owner file in.
If our system prompt changes, I need to know about it.
If our list of tools changes, I need to know about it.
If our--
but we ship multiple database migrations
in almost every single PR.
I mean, that cannot explain how many times
we have metamorphized the database in just a few days.
But there are files that if they change,
I want to know about it.
By the way, one of those is going to be, like,
what are your imports?
But node modules are you bringing in?
What Python libraries are you bringing in?
Because those are important as well.
Yeah.
I can see how that would trigger different--
additional safety checks and GitHub actions, where--
I mean, I do at times make directory scoped actions
that are-- it's also really good just for any action.
This is an approach of a GitHub actions.
A lot of times, your actions that run all the time
don't need to run on--
they only need to run certain types of changes.
And GitHub actions turns out it can actually
have a lot of filters involved so that you can say,
hey, don't run the action-linter unless the action files
changed.
And that's only in this one directory.
So there's no even reason to even fire it off unless it
hits data.
I probably could--
if I probably paid you for an afternoon,
I could get so many more efficiencies out
of our system, dude.
It's like, I'm not--
I'm not infrastructure.
So--
Yeah, at this point, I'm just a skill.
I'm just a skill.
I just have an actions workflow skill.
My new rule is every new conversation I start with an AI
needs a skill.
It's just a one-off question fine.
But if I'm planning on this going to take an hour or two,
we're going to have a conversation about it.
I'm looking for a skill to give that agent
enhance its ability because I personally
have noticed on my project in the last two months
that the skill in every case has always
improved the outcomes, or at least
got to be faster to the outcome,
whether making sure the skill is teaching it the latest
version ago, making sure that it's adhering to the latest
skill patterns, or whether it's the front-end design skill
that everybody is using, or whether it's a GitHub action
skill that enforces certain linters and certain security
patterns that I behave with.
I just feel like there's always a good reason
to have at least one skill in your conversations.
Protit.
Hey, man.
So what's the one thing you're going to
excited to do next?
What have you not done that's on your to-do list
of I want to try this out?
Turn the agents loose.
Get them to fix things end-to-end without me ever knowing.
Continue with some improvement.
To be able to have an agent pick up a report from Slack,
figure out if it's real, create the issue, fix the issue,
commit the code, build the PR, test everything,
merge it to main and ship it.
And I never know where that starts happening.
Our engineering team of five will look like an engineering
team of 80.
Check out "Agentic Workflows" in GitHub,
if you haven't seen that yet.
That's the actual term, "Agentic Workflows."
Because it writes, it's like a full safety version
of putting in a prompt in a workflow without all the
risky behaviors that everybody's using right now.
There's like sandboxing.
There's all these different extractions.
And one of the things that you can do is you can put it
on a kind of like a Ralph loop.
According to what I heard yesterday was they designed
their system so that it's not all Monday at 9am.
And they distribute these things out.
It has inherent rules inside it.
So if you ask it to be an issue reviewer,
it won't do all the issues right now.
Like it's not gonna overload you with all of this work,
which is what a lot of people I think do.
And initially, the AI will, some of a bunch of work.
- I will say this.
If Copilot is my only choice, I won't use it.
- Yeah.
Well, then it's got to do with Copilot.
You can use Copilot.
- Okay, good.
- So, yeah, you pick your own agent.
- Okay.
- Their framework is agent agnostic.
- Actful.
- Yeah, I may try it.
- Yeah, I think the push button features in GitHub
are all Copilot, right?
You turn on the PR review and your settings.
These are just features that happen to use Copilot.
This is more of a hobby kit approach,
where you're at the command line with this stuff
and using YAML files.
I'll show it to you someday if you don't ever get a chance.
Mike, thanks so much for being here.
Can you give us your full name and title and company?
- Mike Rollins, CTO of Relifying and Family Digital.
And also find me at Rollins.io online.
Instagram is Rollins.io.
And I think that's the major point.
- You talk about AI on Instagram.
So if people want to hear more thoughts from you,
I would recommend Instagram.
- Awesome, man.
Well, thank you so much for being here.
And I'm gonna definitely have you back on
'cause we're gonna talk about
you pushing the envelope even further.
- Let's do it.
- Thanks for joining us.
And I'll see you in the next episode.
(upbeat music)
Podcast Summary
Key Points:
Mike Rollins and his team have fully transitioned to an AI-first engineering model where no one writes or reads code, relying on AI agents to build, test, and deploy features autonomously.
The team operates with extreme speed and agility, using a robust testing infrastructure including unit, end-to-end, and real-app testing to ensure quality, even though they no longer manually inspect code.
Success hinges on a culture of risk assessment, where high-risk actions are accepted only if failure impact is low, and failure is actively encouraged to build judgment and resilience within engineers.
Summary:
Mike Rollins, a CTO of multiple startups, describes a radical shift in engineering where his team no longer writes or reads code—instead, AI agents autonomously build, test, and deploy features. This agentic model allows for unprecedented speed, with the team shipping updates rapidly and maintaining near-five-nines reliability. The process relies on a comprehensive testing infrastructure that includes local environment replication, Docker, makefiles, and automated checks like Playwright and linters to catch errors before production.
Crucially, the team operates under a culture of calculated risk and deliberate failure, where engineers are encouraged to make independent decisions and learn from mistakes—such as a junior engineer shipping a flawed feature that later revealed a critical oversight. This approach fosters strong judgment and ownership, especially in a fast-moving environment where engineering outpaces sales, design, and marketing. While the model eliminates traditional code reviews and manual testing, it doesn’t compromise quality—instead, it uses AI to enforce rigorous, automated validation.
Rollins emphasizes that AI amplifies team culture, so success requires modern, agile practices, not just technical tools. He also highlights that such a model is not viable in high-security or regulated industries, and that team maturity and business alignment are essential. The model is rooted in trust, automation, and continuous learning, with engineers empowered to act, fail safely, and grow through real-world experience.
This approach represents a new paradigm in software development—one driven by speed, autonomy, and deep integration of AI into every stage of the software lifecycle.
FAQs
It means the team operates on a fully agentic model where AI handles writing, testing, and deploying code, with human engineers focusing on strategy, judgment, and business alignment rather than manual coding.
They rely on automated testing, agent-based validation, and strict infrastructure checks that run locally and in production copies to catch bugs and security issues before deployment.
High risks include production failures, security vulnerabilities, and undetected bugs—especially if the system lacks rollback mechanisms or robust testing, making recovery critical and time-sensitive.
Yes, with proper infrastructure—like full production copies, automated testing, and local execution—AI agents can complete the full development lifecycle from idea to deployment without human intervention.
Teams intentionally allow controlled failures to build judgment and resilience, knowing that mistakes are part of rapid learning, and they have robust recovery systems and testing to prevent recurrence.
They use local Docker environments, playwright end-to-end tests, linters, unit tests, and agent-based validation that runs actual app interactions to confirm functionality and avoid hallucinations.
Chat with AI
Loading...
Pro features
Go deeper with this episode
Unlock creator-grade tools that turn any transcript into show notes and subtitle files.