tolgacelik.net
Writing

Notes from distributed systems in production.

Essays and field reports from building and operating high-traffic, polyglot platforms — Kubernetes, AWS, incident response, iGaming scale.

Feature Flags: How They Actually Work in Production
yazilim gelistirmeproduction

Feature Flags: How They Actually Work in Production

Feature flags sound simple — "on/off switch." Done badly, they fill your codebase with zombie code over a year. Six years of production experience on what they're for and what they aren't.

3 min read
Code Review Culture: The Practice That Makes or Breaks a Team
yazilim gelistirmekariyer

Code Review Culture: The Practice That Makes or Breaks a Team

Done well, code review raises a team's standard over time. Done badly, it kills motivation. Thirteen years of lessons on what actually matters in review.

4 min read
Why Software Estimation Is Hard — And How to Be Less Wrong
yazilim gelistirmekariyer

Why Software Estimation Is Hard — And How to Be Less Wrong

Software estimates are wrong constantly. The cause isn't your skill — it's the nature of the problem. The cone of uncertainty and the practical estimation discipline I use in production.

4 min read
How AI Is Reshaping Software Development — For the Better
yapay zekayazilim gelistirme

How AI Is Reshaping Software Development — For the Better

Cursor and Claude Code have roughly 5×'d my output over the past year. Here's what actually changed in production work, which skills got commoditized, and which got more valuable — a senior developer's field report.

3 min read
Working With Legacy Code: Don't Fall Into the Rewrite Trap
yazilim gelistirmekariyer

Working With Legacy Code: Don't Fall Into the Rewrite Trap

Every senior engineer faces legacy code repeatedly. "Let's rewrite" is tempting and dangerous. Strangler fig, test-before-refactor, evolving in small steps — lessons from years of practice.

4 min read
Being a Developer Isn't Just Writing Code
kariyeryazilim gelistirme

Being a Developer Isn't Just Writing Code

Your real value isn't in the code you write — it's in understanding what the code is for. Why understanding the business is the threshold for senior-level work, and how to build that muscle.

3 min read
The Evolution of the Software Developer: 2012 to 2026
kariyeryazilim gelistirme

The Evolution of the Software Developer: 2012 to 2026

In fourteen years the developer role has shifted nearly four times. From specialist to full-stack, from full-stack to product engineer, now into an AI-augmented role. What changed at each stage, and what stayed the same.

3 min read
Working With AI While Writing Code: What Actually Matters
yapay zekayazilim gelistirme

Working With AI While Writing Code: What Actually Matters

I've been using Cursor and Claude Code in production for a year. As important as the speed gains are the rules I keep — hallucination, context hygiene, security, and production stability.

3 min read
Your Code Works Locally. Now What?
yazilim gelistirmeproduction

Your Code Works Locally. Now What?

"Works on my machine" isn't a meme — it's a culture problem. What's the distance between when you think a feature is done and when it's actually done? A senior's end-to-end shipping checklist.

3 min read
What Does It Mean to Be a Senior Engineer?
kariyeryazilim gelistirme

What Does It Mean to Be a Senior Engineer?

The senior title isn't assigned by years. What should change from junior to senior, which habits arrive, which behaviors are left behind? Concrete criteria from real production work.

4 min read
Technical Debt: When Do You Clean Up in Production?
yazilim gelistirmeproduction

Technical Debt: When Do You Clean Up in Production?

Technical debt is inevitable. Which debt do you live with, which do you pay with a sprint, when do you do a large refactor? A framework built from real production decisions.

4 min read