Thursday, June 5, 2025

The AI Productivity Trap: More Code, Less Thought?

 Can the quality of code degrade much faster because, with AI, new engineers may have fewer opportunities to practice and learn? But what about experienced engineers? Could we become so overwhelmed by the volume of code to review that we start becoming sloppy?

Thursday, May 29, 2025

What Running Your Application Can Tell You About Its Quality?

I mostly work with long-lived applications that undergo continuous modification. Evaluating their quality by simply glancing at the code would be rather naive—there are multiple dimensions to consider for a more comprehensive assessment. Of course, code quality matters, but there are several other checks I perform. Today, I want to share a subset of those checks—focused specifically on application execution—and what insights they can offer.

Tuesday, May 20, 2025

Do You Understand the Debt You Have to Pay?

I was fortunate to start my career with people who truly cared about code quality. Early on, I learned why this matters and how continuous attention to quality positively impacts customer satisfaction. This experience made it natural for me to improve legacy code and constantly seek further enhancements.

However, at the beginning of my journey, my perspective was narrow—I saw only the code. So, my efforts focused solely on refactoring. Fast forward to today, I've learned that there are many more ways to improve software. There are also several strategies you can explore to choose the right approach for your situation.

Friday, May 2, 2025

Thursday, April 10, 2025

Why Your Brilliant Ideas Fall Flat (And How to Fix It)

We all know the drill: refactoring makes our code easier to understand, static analysis points out complex areas and code smells, tests help us track and improve our code's coverage, and Domain-Driven Design lets us build code that directly reflects the business rules. Sounds logical, right? Yet, we often find it tough to convince managers, product owners, and other stakeholders of the value in these practices. What's even more puzzling is that we usually have no problem getting fellow developers on board.

Tuesday, April 1, 2025

When 'Best Practices' Bite You

I know it's a cliché, but there's no silver bullet. Is refactoring always worth it? No. Is Test-Driven Development always beneficial? Of course not. Should you always add test scenarios to cover every known gap? No. Should automated tests be your goal in every project? Again, no.

Don't get me wrong, I'm far from advocating against these solutions. In fact, I recommend quite the opposite; you should have a compelling reason not to use them. And trust me, your project is likely not as unique as you think. In most cases, developers' arguments against these practices are excuses, not justifications.

However, we should give each decision a moment of reflection and assess whether the benefits truly outweigh the costs. Even your favorite approaches can increase costs and slow down implementation at best, or render it unprofitable at worst.

Friday, March 28, 2025

Wednesday, March 26, 2025

Dealing with legacy is more than the right architecture

So, picture this: you're stuck working on this old, massive monolith, and for years, it's the same old story – we gotta fix this, 'cause delivery's crawling, and keeping developers happy (or even hiring new ones!) is a nightmare.

Friday, January 24, 2025

Friday, January 17, 2025