#Technical Debt

Posts on debt, maintenance cost, and the long tail of short-term choices.

March 16, 20268 min read

Capacity Is the Roadmap

When I was young, I worked in carpentry during the summers. Summer was busy. New buildings had to go up. Stables needed repairs. Barns needed extensions. Sheds had to be built o...

October 16, 202513 min read

Most of What We Call Progress

Most of what we call progress in software is just motion. New tools, new frameworks, same problems. Maybe fancier logos. Our industry always has this collective thrill that a ne...

October 3, 202510 min read

Stop Wasting Brainpower

How many times have you found yourself saying: “I worked all day, but I didn’t get anything done.” I know, we have all been there. We feel bad about it, too. On the surface, it...

October 1, 202517 min read

Why Over-Engineering Happens

If you’ve worked in software long enough, you’ve probably seen it: a CRUD app serving a handful of users, deployed on a Kubernetes cluster with half the CNCF landscape stitched...

January 13, 202410 min read

Engineering Health Essentials

Engineering health is a term that deserves far more attention than it receives. Sustainable software development is not only about the features we ship or the speed at which we...

November 10, 20236 min read

Cracking Coding Bottlenecks

In software development, we obsess over component benchmarks and algorithmic complexity, chasing milliseconds latency and BigO wins. But, time and after time, I’ve found that th...

October 9, 20237 min read

Why Legacy Systems Are Worth Your Time

I know. When you hear legacy, you think , , weird edge cases, and “what the hell just broke now.” Every moment feels frustrating. You don’t know what the next change will trigge...

October 2, 20234 min read

Why Metrics Don’t Equal Quality

In 1902, Hanoi was drowning in rats. The government was getting nervous about plague. Hence, the city put a bounty per rat tail. Suddenly, the system had a scoreboard, something...

February 13, 20226 min read

Addressing Technical Debt

Tech debt occurs when we solve a software problem with our limited understanding of the business at the time. We start building a solution to get feedback as early as possible....

February 7, 202212 min read

Building a Technical Vision

A technical vision is the compass of an engineering organization. It sets the longterm direction. I believe it should define the "why" and "where" behind the technical choices t...

August 3, 20197 min read

On Writing Wrapper Libraries

A wrapper library is a thin layer of abstraction around an existing library, dependency, or functionality. A wrapper library offers a better and cleaner interface or rather hide...

July 1, 201911 min read

What's wrong with Agile Frameworks

Some time ago, I attended a course and became . It wasn’t a huge deal. I was already doing the job. But as time went on and I gained more experience, my view of agile frameworks...

June 6, 20188 min read

Hype in Software Development

We live in a time when every month brings a new framework, library, or architectural pattern that promises to change everything. Increasingly often, we come across a new technol...

January 7, 20187 min read

Why I like JavaScript

Every programming language has its oddities and challenges. When it comes to JavaScript, it has Every programming language has its oddities and challenges. When it comes to Java...

May 5, 20177 min read

Refactoring Untested Code

Most teams realize they are dealing with a legacy repo only when a tiny change turns into an operation. A oneline fix suddenly needs three people, two days of manual checks, and...

September 13, 20165 min read

You Cannot Fix What You Cannot See

I have been working on this data discovery tool for a while, and it keeps showing me how messy our systems really are. The idea behind it is simple. Crawl every database we have...

April 12, 20135 min read

Buggy Code on Production, Survived

Areca is the name of the billing engine I am working on for Turk Telekom. Funny enough, it is also the name of the flowers we bought to freshen the office. We wanted the office...