I didn’t quit writing boilerplate code because of some grand realization.
I stopped because I noticed something uncomfortable:
I was spending real focus on work that required none.
The Pattern I Couldn’t Ignore
Every boilerplate task looked the same:
- Copy an old file
- Rename things
- Miss one rename
- Fix it later
It felt like engineering.
It wasn’t.
It was transcription with bugs.
The Switch
Instead of copying files, I started describing what I wanted:
“Create a FastAPI endpoint with validation, error handling, and a service layer call. Follow this existing pattern.”
I got a full draft in seconds.
Not perfect. But structured.
And more importantly — complete.
Before vs After
Before (manual boilerplate):
@app.post("/users")
def create_user(user: UserCreate):
if not user.email:
raise ValueError("Email required")
db_user = User(**user.dict())
db.add(db_user)
db.commit()
return db_user
After (AI-generated + reviewed):
@app.post("/users", response_model=UserResponse)
def create_user(user: UserCreate):
if not user.email:
raise HTTPException(status_code=400, detail="Email required")
db_user = User(**user.dict())
db.add(db_user)
db.commit()
db.refresh(db_user)
return db_user
The difference isn’t intelligence.
It’s completeness.
Why This Works
Boilerplate has:
- Known patterns
- Low decision-making
- High repetition
That’s exactly where automation wins.
“If you’ve written it more than twice, you probably shouldn’t be writing it again.”
The Unexpected Benefit
I review AI code better than I review my own.
Because I don’t trust it.
And that makes me careful.
Where It Still Fails
AI doesn’t know your codebase.
It will:
- Use the wrong patterns
- Ignore existing conventions
- Over-engineer simple things
So you still decide.
It just types faster.
What I Actually Stopped Doing
I didn’t stop coding.
I stopped writing predictable code.
Like this:
class Config(BaseModel):
retries: int = 3
timeout: float = 5.0
@validator("timeout")
def validate_timeout(cls, v):
if v <= 0:
raise ValueError("Timeout must be positive")
return v
I can generate this in seconds.
But designing when and why it exists?
That’s still mine.
The Line That Matters
There are two types of work:
- Judgment → stays human
- Transcription → gets automated
Boilerplate is transcription.
Always was.
Final Thought
The shift is simple:
“If I can clearly describe it, I shouldn’t be manually writing it.”
That one rule removed hours of low-value work from my week.
Not by making me faster.
By making me stop doing things that never needed me in the first place.
Comments
Loading comments…