A reader asked me about this last week, and I realized I had a lot to say.
If you search online for advice about Infrastructure as Code, you will find thousands of articles with contradicting recommendations. After testing many of these approaches in real production environments, I can tell you which principles actually hold up under pressure.
Measuring Progress and Adjusting
If there's one thing I want you to take away from this discussion of Infrastructure as Code, it's this: done consistently over time beats done perfectly once. The compound effect of small daily actions is staggering. People dramatically overestimate what they can accomplish in a week and dramatically underestimate what they can accomplish in a year.
Keep showing up. Keep learning. Keep adjusting. The results you want are on the other side of the reps you haven't done yet.
Here's the twist that nobody sees coming.
Making It Sustainable
Let's get practical for a minute. Here's exactly what I'd do if I were starting from scratch with Infrastructure as Code:
Week 1-2: Focus purely on understanding the fundamentals. Don't try to do anything fancy. Just get the basics down.
Week 3-4: Start applying what you've learned in small, low-stakes situations. Pay attention to what works and what doesn't.
Month 2-3: Begin pushing your boundaries. Try more challenging applications. Expect to fail sometimes — that's part of the process.
Month 3+: Review your progress, identify weak spots, and drill down on them. This is where consistent practice turns into genuine competence.
What to Do When You Hit a Plateau
When it comes to Infrastructure as Code, most people start by focusing on the obvious stuff. But the real breakthroughs come from understanding the subtleties that separate casual attempts from serious results. build optimization is a perfect example — it looks straightforward on the surface, but there's genuine depth once you dig in.
The key insight is that Infrastructure as Code isn't about doing one thing perfectly. It's about doing several things consistently well. I've seen too many people chase the 'optimal' approach when a 'good enough' approach done regularly would get them three times the results.
Getting Started the Right Way
The biggest misconception about Infrastructure as Code is that you need some kind of natural talent or special advantage to be good at it. That's simply not true. What you need is curiosity, patience, and the willingness to be bad at something before you become good at it.
I was terrible at webhook design when I first started. Genuinely awful. But I kept showing up, kept learning, kept adjusting my approach. Two years later, people started asking ME for advice. Not because I'm particularly gifted, but because I stuck with it when most people quit.
This is the part most people skip over.
Dealing With Diminishing Returns
One pattern I've noticed with Infrastructure as Code is that the people who make the most progress tend to be systems thinkers, not goal setters. Goals tell you where you want to go. Systems tell you how you'll get there. The person who builds a sustainable daily system around code splitting will consistently outperform the person chasing a specific outcome.
Here's why: goals create a binary success/failure dynamic. Either you hit the target or you didn't. Systems create ongoing progress regardless of any single outcome. A bad day within a good system is still a day that moves you forward.
The Long-Term Perspective
One thing that surprised me about Infrastructure as Code was how much the basics matter even at advanced levels. I used to think that once you mastered the fundamentals, you could move on to more 'sophisticated' approaches. But the best practitioners I know come back to basics constantly. They just execute them with more precision and understanding.
There's a saying in many disciplines: 'Advanced is just basics done really well.' I've found this to be absolutely true with Infrastructure as Code. Before you chase the next trend or technique, make sure your foundation is solid.
Simplifying Without Losing Effectiveness
Environment design is an underrated factor in Infrastructure as Code. Your physical environment, your social circle, and your daily systems all shape your behavior in ways that operate below conscious awareness. If you're relying entirely on motivation and willpower, you're fighting an uphill battle.
Small environmental changes can produce outsized results. Remove friction from the behaviors you want to do more of, and add friction to the ones you want to do less of. When it comes to error boundaries, making the right choice the easy choice is more powerful than trying to make yourself choose correctly through sheer determination.
Final Thoughts
The best time to start was yesterday. The second best time is right now. Go make it happen.