Introduction
Introduction
Hello and welcome to Small Batches with me Adam Hawkins. In each episode, I share a small batch of the theory and practices behind software delivery excellency.
Topics include DevOps, lean, continuous delivery, and conversations with industry leaders. Now, let’s begin today’s episode.
Hook
Small Batches has been going for just over three years now. There hasn’t been episode about my aims for this podcast and what you, dear listener, can get out of it.
The podcast has been through multiple iterations since then and there’s new listeners, so I figure it’s time for an episode on little bit about me and introducing this podcast.
Content
Let’s start with a brief autobiography. My passion is building, shipping, and running software. I aim to do that excellently. Almost twenty years in, it’s still fun and rewarding for me.
I began my career as a full stack web developer. That taught me sound software engineering practices like test driven development and continuous delivery. I’ve always been responsible and accountable for what happens in production with my software.
Over time, I shifted focuses to backend services and infrastructure. That lead me to continuous deployment, production operations, and now into SRE.
Currently, I am the Director of Site Reliability Engineering at Skillshare. I lead my engineers in enabling our product teams to build, ship, and deploy their own services; and where we run the infrastructure needed to do so.
I’ve always been passionate about learning and teaching. I’ve been blogging and speaking about software development since around 2010. You can find a blurb from me in the Minitest README or on the back cover of the second edition of The DevOps Handbook.
This leads me into my aims with the podcast and why I started it.
Let me demonstrate with a story. This is probably nine or ten years ago at this point.
A team mate of mine was extremely frustrated and unhappy with the work. I approached him about what was bothering him.
He felt like he couldn’t work as fast as other people, the work itself was too complex and challenging, and no matter what he did he kept shipping bugs to production. He was stuck in a negative reinforcing feedback loop.
I offered to block a few hours to pair on what he was working on. I had a hunch what the problem was: he wasn’t doing TDD. So, I set out to demonstrate how to do TDD in a small isolated context. Our pairing session completed some Red-Green-Refactor loops. I’d write a test, then pass the keyboard to him to write the code. Then reverse and repeat.
He seemed different a few days later. He told me everything changed for him after the pairing session. He finally grokked what I and the other engineers were talking about with TDD. He was working faster and with more confidence. The deployment pipelines for our services allowed him to quickly ship and check changes in production. He found the one thing he needed to change: take control. Practicing TDD gave him a structure to achieve the high-quality workmanship he wanted with control, precision, and confidence.
He kept learning and practicing his TDD skills. He never went back. It was an inflection point for him.
I started this podcast to help others find their own inflection points that propel them towards greater heights.
I’ve experienced the power of those inflection points in my self-development and coached others to find their own. There is a way of working, that when done well, that is pure flow, that happens for individuals and even better for teams.
I can tell you, from deep personal experience, than once you experience this as an individual and especially as a team, then you will never want to go back. It’s that powerful.
That workflow is continuous deployment. Now, I can just through that term out there, but there is so much that goes into it. I’ve spent the last four years studying the origin of software delivery excellence.
There’s a wonderful quote by Dr. Deming. It goes something like: practice means nothing without theory.
My riff on it is: excellent theory precedes right practice.
That theory is four parts:
1. Understanding of TDD
2. Understanding of Continuous Delivery
3. Understanding of Software Architecture
4. Understanding of Production Operations
These four skills create the foundation for developing the technical prerequisites for continuous deployment.
Enter Small Batches. Each episode pulls from the deep body of knowledge behind these ideas. My aim is provide you the theory needed to practice excellence.
The name comes from lean manufacturing and ideas around single piece flow. Simply put, the best way to work is a continuous flow of small batches. Use the continuous flow to iterate, learn, and improve. Thinking getting 1% better each time for years. It’s sustainable and delivers massive results.
I keep episodes around 5-10 minutes. That’s a quality control mechanism for me that keeps episodes focused. And for you too, you don’t need to spend an hour a day listing to someone ramble on.
I’m confident that each episode gives you just enough to grok the core concepts, then point you towards next steps. You’re a motivated person. You’ll find ways to put the theory into practice.
I do have occasional guest interviews. That yields mix of prewritten episodes focused on theory and conversations where the guest and I work through challenges and concerns in real time.
Episodes drop every other week on Monday.
If you want more Small Batches, then join my email list. I’ll send you daily software delivery education sourced from the best books.
I’m stoked to be part of your self-development and personal mastery.
Outro
All right that’s all for this batch. Head over to https://SmallBatches.fm/89 for links to recommended self-study on production operations and ways to support the show.
I hope to have you back again for next episode. So until then, happy shipping!