Skip to content

Navid's Blog

Ideas, Experiments, and Lessons Learned

Menu
Menu

The Error Handling Patterns That Saved Our Production System

Posted on March 21, 2026 by Navid

Let me be honest — I used to think error handling was boring. Just wrap things in try-catch and move on, right? Wrong. That mindset cost us hours of debugging at 2 AM. After dealing with enough production fires, I started collecting patterns that actually work. These aren’t theoretical best practices — they’re the things…

Read more

The Error Handling Patterns That Saved Our Production System

Posted on March 21, 2026 by Navid

Let me be honest — I used to think error handling was boring. Just wrap things in try-catch and move on, right? Wrong. That mindset cost us hours of debugging at 2 AM. After dealing with enough production fires, I started collecting patterns that actually work. These aren’t theoretical best practices — they’re the things…

Read more

I Swore Off Microservices — Then Built One Anyway

Posted on March 20, 2026 by Navid

My microservices origin story I used to roll my eyes every time someone mentioned microservices. “Just use a monolith,” I’d say. “You’re overcomplicating things.” And for years, I was right. Most startups don’t need microservices. They need working features. But then my side project grew. What started as a simple REST API became something bigger….

Read more

Why I Stopped Using Try-Catch Everywhere in My Backend Code

Posted on March 19, 2026 by Navid

For years, I wrapped everything in try-catch blocks. Every function, every API call, every database query. I thought that’s what defensive programming looked like. I was wrong. The Problem with Catching Everything When you catch exceptions at every level, you lose context. You mask real errors. You make debugging a nightmare because you never know…

Read more

Why I Stopped Using Try-Catch Everywhere in My Backend Code

Posted on March 19, 2026 by Navid

For years, I wrapped everything in try-catch blocks. Every function, every API call, every database query. I thought that’s what defensive programming looked like. I was wrong. The Problem with Catching Everything When you catch exceptions at every level, you lose context. You mask real errors. You make debugging a nightmare because you never know…

Read more

The Simple Fix for Context Switching That Actually Works

Posted on March 18, 2026 by Navid

I’ll be honest — I used to think context switching wasn’t a big deal. “Just switch tasks,” I’d tell myself. How hard can it be? Then I looked at my calendar and realized I’d jumped between 7 different projects in a single day. And accomplished basically nothing. What Context Switching Actually Costs Here’s the thing…

Read more

I Spent 3 Hours Debugging — It Was a Typo

Posted on March 16, 2026 by Navid

Three hours. That’s how long I stared at my screen, questioning my career choices, doubting everything I knew about programming. And the culprit? A single character typo. The Setup I was building a simple API endpoint. Should’ve taken 20 minutes. But something wasn’t working. The response kept returning null instead of the expected data. I…

Read more

I Stopped Using Authentication Libraries — Here’s What I Learned

Posted on March 15, 2026 by Navid

Why I Ditched the Library For years, I used Auth0, Firebase Auth, and Passport.js without thinking twice. They handled the hard stuff — token management, security patches, OAuth flows. Why reinvent the wheel? Then I joined a startup with a tight budget and a weird requirement: we needed custom auth logic that didn’t fit any…

Read more

I Stopped Using Authentication Libraries — Here’s What I Learned

Posted on March 15, 2026 by Navid

Why I Ditched the Library For years, I used Auth0, Firebase Auth, and Passport.js without thinking twice. They handled the hard stuff — token management, security patches, OAuth flows. Why reinvent the wheel? Then I joined a startup with a tight budget and a weird requirement: we needed custom auth logic that didn’t fit any…

Read more

Why I Stopped Writing Unit Tests for Everything

Posted on March 14, 2026 by Navid

For years, I was that developer. The one who insisted on 90% code coverage. Who would spend hours writing tests for every function, every edge case, every tiny module. I thought more tests meant better code. I was wrong. The Test Everything Mentality It started when I joined my first proper dev team. The senior…

Read more

Posts pagination

  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • Next

Categories

  • AI Experiments
  • Coding
  • Debugging Stories
  • Hot Takes
  • Ideas
  • Lessons Learned
  • Project Management
  • Uncategorized
  • Vibe Coding

Recent Posts

  • How I Handled My First Production Outage (And What I Learned)
  • I Finally Fixed Our Slow Database Queries — Here’s What Actually Worked
  • I Finally Fixed Our Slow Database Queries — Here’s What Actually Worked
  • Why I Stopped Using Microservices for Small Projects
  • I Gave AI Full Access to Our Production Database. Here’s What Happened