CQRS Pattern Explained: Separating Reads from Writes

CQRS—Command Query Responsibility Segregation—sounds intimidating, but the core idea is simple. Separate your read operations from your write operations. Here’s why you’d want to do that and how to get started. The Problem In traditional CRUD applications, the same model handles both reads and writes. This works fine until: Your read queries need different data […]

Read more →

React Fundamentals: Components, Props, and State

I finally bit the bullet and learned React properly. After years of jQuery and some Angular, React’s component model took some getting used to. Here’s what clicked for me and might help other backend developers making the transition. Components: The Building Blocks Everything in React is a component. Think of them like C# classes that […]

Read more →

SPFx Development Environment Setup: The Complete Guide

Setting up an SPFx development environment can be tricky. Here’s my step-by-step guide to avoid common pitfalls. Prerequisites Node.js 10.x (not 12.x yet – compatibility issues) Visual Studio Code Office 365 developer tenant Installation VS Code Extensions SPFx Snippets ESLint Prettier Azure Account (for deployments) Create First Project Common Issues Node version mismatch: Use nvm […]

Read more →

Introduction to Event-Driven Architecture

I’ve spent the last year migrating systems from request-response to event-driven patterns. The shift in thinking is significant, but the benefits are real. Here’s my introduction to event-driven architecture (EDA) and why you should care. What is Event-Driven Architecture? Instead of services directly calling each other (request-response), they communicate through events. When something happens, a […]

Read more →

TypeScript Basics for C# Developers

If you’re a C# developer dipping your toes into frontend development, TypeScript will feel surprisingly familiar. It’s JavaScript with types, and Microsoft designed it with C# developers in mind. Here’s what you need to know. Why TypeScript? JavaScript is… flexible. Too flexible sometimes. TypeScript adds compile-time type checking, which catches bugs before they hit production. […]

Read more →