Vibe Coding: From Hell to Heaven in One Insight
As an SRE, I can spin up production infrastructure in my sleep. Terraform? Give me 2 hours and you'll have a complete ECS cluster and services with monitoring, networking, and CI/CD pipelines. But application code? That was not my domain.
Until AI changed everything.
I want to share two real-world projects where I learned to leverage AI—one spectacular failure, and one surprising success.
Project 1: The Slack App That Humbled Me (Hell → Heaven)
Week 1: The "Vibe Coding" Disaster
I decided to build a Slack application. The infrastructure? Done in 2 hours. The application code? That's where hell began.
My approach was simple: describe what I wanted to AI, copy-paste the code, deploy, and ship.
It didn't work.
Error after error. I'd paste the error back to AI, get new code, redeploy. Rinse and repeat. After one week of this back-and-forth, I couldn't move forward even one step.
I was stuck in what I now call "vibe coding hell"—blindly following AI without understanding the fundamentals.
Week 2: The Breakthrough
I stopped. Took a breath. Went to Slack's official SDK documentation and actually read it.
I learned:
- What features Slack offers
- How the SDK modules work
- The proper workflow for Slack apps
Then I went back to AI—but this time, I gave it clear architectural instructions based on my understanding. The app was done in 3 days (including learning time and one complete rewrite when I misunderstood terminology).
After that? Any new feature took minutes to implement.
The Lesson
You can't outsource understanding to AI.
Software design and architectural decisions still come from humans. AI is a powerful assistant, but you need domain knowledge to guide it effectively.
The key insight: AI amplifies your capabilities when you provide the right direction.
This made me wonder: What happens when you combine domain expertise with AI assistance?
My second project showed me the answer.
Project 2: Building a Production-ready LLM Platform in 3 Days (Pure Heaven)
I had an idea: build a complete inference platform to host LLM models and fine-tuned variants.
My knowledge level: I learned the term "inference" the night before I started.
Timeline: 3 days to production-ready.
What I Built
- Infrastructure (1 hour via Terraform): Complete cloud stack
- Frontend Web UI: Full-featured interface
- 2 Backend Inference Services: Hosting different LLM models
- Automated Training Pipeline: End-to-end data processing
- Performance Optimization: 28-30 seconds → 3-4 seconds per query (pure software tuning, no hardware upgrades)
The Breakthrough
With my SRE background (system architecture, performance optimization, infrastructure patterns), I could guide AI effectively. I understood the options AI presented and could make informed decisions about:
- Architecture patterns
- Performance trade-offs
- Infrastructure design
- System integration
AI drove 80% of the implementation, but I drove 100% of the architectural decisions.
This is the power of combining domain expertise with AI assistance—you become a force multiplier.
What I'm Starting to Realize
After these experiences, I'm starting to see patterns (though I'm still figuring this out):
From Coder to Conductor
I'm not writing as much code manually anymore. Instead, I'm spending time on:
- Architecture and design decisions
- Giving AI clear direction
- Validating and refining what it generates
- Ensuring quality, performance, and that pieces fit together
It's like an orchestral conductor—I don't play every instrument, but I ensure everything works together harmoniously.
It reminds me of when we went from manually configuring servers to writing Infrastructure as Code. The skill shifted, but we didn't become less valuable. That's what's happening again.
Domain Knowledge Became My Superpower
Here's the ironic part: My Slack app failed because I tried to skip learning the fundamentals.
The LLM platform succeeded because my SRE background gave me the mental models to guide AI effectively.
AI doesn't replace what you know—it multiplies it.
Coming Next: I'm planning to build a full stack of application in Rust—a language I've never learned. This will test whether the principles I've learned apply across domains. Stay tuned.
Follow me for more cloud architecture insights, SRE war stories, and practical lessons on thriving in the AI era.
Previous article: AWS SRE's First Day with GCP: 7 Surprising Differences
Top comments (0)