Welcome, welcome Yay, yet another blog on the infinite internet. Who needs this? Me, the author. But I am not writing just to get my thoughts out of my he...
I am starting a new series about system design. I would like to study the systems I deal with every day, or I am interested in. My goal is to understand how these systems work, why they are designed the way day are, and what trade-offs their creators had to make. In this first post, I am discussing what makes system design a durable skill, and presenting a simple method to get started with design.…
I have tried to keep a digital work log since I became a software engineer. The benefits were obvious: I could look back at past decisions, preserve important lessons I had learned, and have everything I needed when writing self-reviews for performance evaluations. Every attempt failed after a few weeks because documenting my day took almost as much effort as doing the work. Now I think I have…
It has been more than a year now since I started using Claude Code, Github CoPliot and ChatGPT to write code for me. I challenged myself to delegate as much coding as possible to GenLLM in January 2025. As expected, I changed in my coding workflow significantly. But I realized that my review process has changed as well. My focus has shifted from checking if the code works according to the…
The tools are changing fast. The fundamentals that make a great engineer stay the same. In this post I cover the basics required to be excellent. I also share my tips on how to leverage AI tools in each area where it makes sense. What does it take to be a great software engineer in this era? Software engineering is solving problems using code that runs on computers. The computer can be your local…