-
Continue reading →: Polling Is Not the Problem—Bad Polling Is
Polling often gets a bad reputation in modern system design. With WebSockets, Server-Sent Events, and message queues becoming mainstream, polling is sometimes labelled as old-school.The reality, however, is far more balanced. Polling remains one of the most reliable and practical communication patterns—when used correctly. As a software craftsman and architect,…
-
Continue reading →: Timeouts, Retries, and Circuit Breakers — Lessons From Building Real Systems
If you’ve spent enough time building and running distributed systems, you eventually learn this the hard way:Systems don’t fail politely. They slow down. They half-work. They drag everything else down with them. Over the years, while designing and operating production systems, three ideas have repeatedly proven to be non-negotiable: Timeouts…
-
Continue reading →: Understanding Domain Layer Purity in Clean Architecture
When building software that stands the test of time, one principle rises above the rest: keeping your business logic pure. Let’s dive deep into what Domain Layer Purity means and why it’s crucial for maintainable software. What is Domain Layer Purity? Domain Layer Purity refers to keeping the domain layer (also…
-
Continue reading →: SQL vs NoSQL Databases — Choosing the Right One for Your Application
Confused between SQL Server and NoSQL databases like Cosmos DB? Learn when to use each, their pros and cons, real-world examples, and how to build reporting from NoSQL efficiently. 🔍 Introduction Choosing between a relational (SQL) and non-relational (NoSQL) database is one of the most crucial decisions in system design.…
-
Continue reading →: Key Azure services to learn for senior cloud engineers
For senior cloud engineers, mastering key Azure services is critical for designing, deploying, and managing complex cloud environments. Here are the essential Azure services to learn: Compute and Containers Storage and Databases Networking Security and Identity Integration and Messaging Monitoring and Management Analytics and AI Mastering these services equips senior…
-
Continue reading →: Streamline Your Inbox with MailMetrics: Count Emails per Sender Automatically
Managing a cluttered inbox can be challenging, especially when hundreds of emails arrive daily from various senders. How do you keep track of who sends you the most emails? How can you prioritize your responses more effectively? Introducing MailMetrics, a simple Gmail script that helps you monitor and count emails…
-
Continue reading →: Unpopular Opinion About .NET Software Development on macOS and Linux Platforms
When discussing .NET, it’s often described as the “free, open-source, cross-platform framework for building modern apps and powerful cloud services.” This characterization highlights its versatility and broad appeal, but my personal experience suggests a more nuanced view, particularly regarding its cross-platform capabilities on macOS and Linux. A Closer Look at…
-
Continue reading →: Understanding Structured and Unstructured Logs for Engineers
Logging is essential for monitoring systems and diagnosing issues. Within logging, structured and unstructured logs are two primary types, each with distinct benefits and drawbacks. Let’s explore these differences, their applications, and the strengths and weaknesses of each type. Structured Logs: Structured logs organize data neatly in a predefined manner.…
-
Continue reading →: Navigating System Health via Logging, Tracing, Monitoring, Alerting & APM
Greetings, fellow tech aficionados! If you’re at the helm of software development, steering the ship through the digital wilderness, you understand the critical importance of grasping the nuances of logging, tracing, monitoring, alerting, and application performance management. Consider this your compass in the vast digital landscape. In simple, accessible language,…
-
Continue reading →: Mastering Front-End Leadership: A Guide for Success
Are you a lead engineer overseeing the front-end channel? Here’s a simple breakdown of key aspects to ensure your team’s success and project excellence: 1. Keep Up with Tech Trends: Stay in the loop with the latest front-end technologies, frameworks, and libraries. Understand which ones suit your projects best. 2.…
