Articles & Insights
Thoughts on software engineering, design systems, and building scalable applications. A collection of learnings from the trenches of modern web development.

AI Can Build Software, But It Can't Replace Software Engineering
AI has made software development faster than ever, but building a working application is only one part of software engineering.
Read Article
How to Run Oracle Database XE on Docker and Connect with PL/SQL Developer on Windows
A complete step-by-step guide to running Oracle Database XE in Docker and connecting it with PL/SQL Developer on Windows 11.
Read Article
Clean Code Chapter 4: Comments Are Not a Substitute for Clean Code
My key learnings from Chapter 4 of Clean Code by Robert C. Martin. This chapter changed how I think about comments and taught me why writing self-explanatory code is often better than explaining code with comments.
Read Article
Clean Code Chapter 1: The Lesson That Changed How I Think About Writing Software
After reading Chapter 1 of Clean Code by Robert C. Martin, I realized that writing code isn't just about making it work. It's about making it readable, maintainable, and easy for future developers—including yourself—to understand.
Read Article
Clean Code Chapter 2: Why Naming Is One of the Hardest Parts of Programming
My key learnings from Chapter 2 of Clean Code by Robert C. Martin. This chapter taught me that good names can make code self-explanatory, while poor names can make even simple code difficult to understand.
Read Article
Clean Code Chapter 3: Functions Should Do One Thing, and Do It Well
My key learnings from Chapter 3 of Clean Code by Robert C. Martin. This chapter taught me that small, focused functions are easier to read, test, maintain, and understand than large functions that try to do everything.
Read Article
The Aggregate Root Pattern: Your Business Rules Deserve a Gatekeeper
Most developers scatter business rules across controllers, services, and repositories. The Aggregate Root pattern fixes that by creating a single, trusted entry point for all changes.
Read Article
CQRS: It's Not About Complexity. It's About Clarity
CQRS gets a bad reputation for overengineering. But at its core, it's a simple idea — reads and writes are fundamentally different, so treat them differently.
Read Article
The Modular Monolith: The Architecture Most Teams Should Start With
Everyone talks about monoliths vs microservices. But there's a third option that gives you the best of both — and most developers overlook it entirely.
Read Article
Redis Caching: The Architectural Change That Beats a Hundred Code Optimizations
A junior engineer's first real encounter with Redis caching — and why sometimes the biggest performance win isn't smarter code, it's less work.
Read ArticleStay in the Loop
Get notified when I publish new articles. No spam, unsubscribe at any time.