A cron job is scheduled to run once at 3 AM.
Today, it executed twice.
No manual trigger.
No duplicate servers.
No retries.
The code looks fine.
What could have caused this?
5/5
There isn't a universal "best" deployment strategy.
The right choice depends on your system, traffic, infrastructure, and rollback requirements.
Reliable systems aren't just built with good code.
They're built with safe deployments.
Shipping code is easy.
Deploying it safely is where engineering begins.
Most production incidents aren't caused by writing bad code.
They're caused by releasing good code the wrong way.
Here are 4 deployment strategies every backend engineer should know 🧵👇
4/5
Feature Flags
Deploy the code.
Don't expose the feature.
Release it to:
• Internal users
• Beta testers
• Small user segments
If something breaks, disable the flag.
No redeployment required.
"We need microservices."
Not always.
Start with a modular monolith.
Extract services when they're truly needed.
Complexity is easy to add, hard to remove.
Great architecture solves today's problems without creating tomorrow's.
Modular monolith or microservices?
7/
Most startups don't fail because they can't scale.
They struggle because they haven't learned enough about what they're building yet.
Don't let the architecture get ahead of the product.
6/
My default recommendation:
Start with a modular monolith.
Let real business needs create the pressure to move toward microservices, not the other way around.