Articles tagged with Technical Debt

Technical debt writing on maintenance cost, software decay, short-term shortcuts, and the long tail of past engineering decisions.

8 min read

When Code Is Cheap, Does Quality Still Matter?

The other day we were having a casual conversation on quality and looking at a few code examples. If you want serious engineering, you want your code to use a few principles lik...

8 min read

The Mirror Is Part of the Machine

The most fun telemetry problems I've seen usually start with an incident where we could not see enough, so we added the missing field after the postmortem. Then that justincase...

8 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...

13 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...

10 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...

17 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...

10 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...

6 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...

7 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...

4 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...

10 min read

Addressing Technical Debt

A field needs to be added, a rule needs to change, or a customer bug needs a quick fix, and on paper the work looks small enough to finish in a day. Then someone points out that...

12 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...

7 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...

11 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...

8 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...

7 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...

7 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...

5 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...

5 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...