My Engineering Learning Journal
This is where I turn books, documentation, workplace questions and hobby projects into explanations and code I can revisit. Some subjects are established strengths; others are technologies I am actively exploring.
These articles show how I learn and reason at a point in time—not a claim to know everything.
Go straight to the guides you need
Select a card to view its articles
New three-part SQL Mentoring Series · ASP.NET Core Request-to-Response Journey: A Senior Developer’s Guide
All engineering insights
55 of 55 articles
SQL Mentoring Series — Part 1 of 3: Relational Foundations and Core Querying
Part 1 of my practical SQL mentoring series for junior developers: relational thinking, data modelling, normalization, integrity, schema evolution, SELECT, filtering, joins and set-based reasoning.
SQL Mentoring Series — Part 2 of 3: Advanced Querying, Analytics and Transactional SQL
Part 2 of my practical SQL mentoring series: expressions, aggregation, CTEs, window functions, data modification, transactions, concurrency, idempotency and reliable application data.
SQL Mentoring Series — Part 3 of 3: Performance Engineering and Modern Data Architecture
Part 3 of my practical SQL mentoring series: index architecture, query optimisation, execution plans, statistics, plan caching, Query Store, data quality, warehousing and modern data systems.
ASP.NET Core Request-to-Response Journey: A Senior Developer’s Guide
My practical mentoring guide for junior developers who want to understand the complete ASP.NET Core journey: startup, Kestrel, middleware, routing, security, model binding, application services, responses, observability, performance and testing.
Azure Bicep Infrastructure as Code: From Your First Resource to Safe Production Deployments
My book-backed study notes and practical exercises for understanding Azure Bicep, from first resources through modules, managed identity, what-if, CI/CD and production governance.
Azure for .NET Developers: From First Resource to Production Cloud
My structured Azure learning journal, connecting tenants, subscriptions and Bicep with App Service, Functions, containers, data, messaging, identity, monitoring and secure delivery.
Revisiting C# Data Structures and Algorithms: From First Principles to Practice
My in-depth revision notes and C# exercises for rebuilding intuition about runtime memory, Big O, collections, sorting, searching, trees, graphs and production performance.
Building Agent-Powered Applications: My Developer Notes
Faz Ahmed’s 5,000-word learning notebook on moving from language models and RAG to controlled AI agents—covering tools, memory, orchestration, planning, MCP, A2A, multi-agent patterns, evaluation, safety and a practical first build.
Learning Generative AI on AWS: My Developer Notes from Idea to Production
Faz Ahmed’s personal 5,000-word learning notebook on generative AI at AWS—from foundation models, prompting and RAG to agents, evaluation, production architecture, security, responsible AI and a practical first project.
Learning Machine Learning Engineering on AWS: My Developer Notes
Faz Ahmed’s 5,000-word developer notebook from learning machine learning on AWS—connecting Amazon Bedrock, SageMaker AI, RAG, agents, data engineering, training, deployment, evaluation, security and LLMOps into one understandable journey.
Clean C# in Production: Design Patterns and Defensive Code
My practical notes on combining clean C#, SOLID and design patterns with validation, resilient integrations, retries, concurrency, testing and production-minded reviews.
Learning Python as an Experienced C# Developer: Translation Notes and Exercises
My learning journal for translating familiar .NET ideas into Python’s execution model, typing, data structures, testing, FastAPI, pandas, automation and packaging.
Our First Step into Azure AI: Microsoft Foundry for .NET Developers
My first structured exploration of bringing AI into secure .NET and Azure systems with Microsoft Foundry, models, agents, RAG, controlled tools and evaluation.
NgRx Without Fear: Understanding Angular State and the Reducer Pattern
My effort to make Angular state management understandable by tracing actions, reducers, selectors, effects, immutability, RxJS and when a store is actually justified.
C# 14 and .NET 10: Sharper Tools for Modern Software
My working notes and examples for understanding which C# 14 and .NET 10 features may matter in real systems, from language additions to ASP.NET Core, EF Core and Aspire.
Revisiting Multithreading, Async and Parallel C#: Practical Notes and Experiments
My revision notes and experiments for choosing among threads, synchronisation, tasks, async I/O, concurrent collections, PLINQ and processing pipelines.
Practising Pragmatic TDD in C# and .NET: Notes from Red, Green and Refactor
My practical exploration of TDD as a design and risk-management discipline through red–green–refactor, dependency injection, test doubles and careful brownfield adoption.
Building with React, TypeScript and Node: My Full-Stack Learning Notes
My code-backed learning notes from building a TypeScript application with React, Node, Express, PostgreSQL and Prisma, including security, testing and delivery.
Studying High-Performance C# and .NET: Measurement Notes and Code Experiments
My source-backed study and experiments in measuring .NET performance across memory, garbage collection, collections, LINQ, I/O, databases, async code and concurrency.
Modern Angular Development: My Practical Notes as a .NET Developer
My practical Angular learning notes covering TypeScript, components, data flow, dependency injection, RxJS, signals, routing, forms, testing and performance.
Exploring Web Development with Blazor: Practical .NET Notes and Examples
My practical exploration of Blazor render modes, Aspire, components, forms, state, APIs, authentication, JavaScript interop, testing and deployment.
Revisiting Microservices Design Patterns in .NET: Trade-offs and Practice Notes
My revision notes on distributed .NET systems, including boundaries, DDD, REST, gRPC, messaging, sagas, data ownership, resilience and observability.
My C# Revision Journal for Modern .NET Development
Focused revision notes connecting core C# knowledge to modern .NET work: types, OOP, SOLID, delegates, LINQ, async, EF Core, ASP.NET Core and APIs.
Revisiting SQL for Data Analytics: A Senior Developer’s Practice Journal
My practice journal for analytical SQL: data grain, modelling, joins, aggregation, window functions, query performance, data quality and trustworthy analytics.
Designing a Complex UI with Components: My Approach to User Management
I use a realistic BuildEstate Pro user-management screen to explain how I turn a complex enterprise workflow into clear component boundaries, sensible state ownership and maintainable UI architecture.
React Masterclass for Senior Full-Stack Developers: Components, Hooks and Production Architecture
A comprehensive React guide for experienced full-stack developers covering application bootstrapping, JSX, components, props, state snapshots, Hooks, effects, forms, context, reducers, routing, server state, performance, React 19 and production feature architecture.
Clean Architecture for Senior .NET Developers: CQRS, EF Core and SQL Server
A comprehensive Clean Architecture masterclass for senior .NET developers covering dependency direction, domain modelling, value objects, domain events, CQRS, validation, repositories, EF Core, SQL Server, API boundaries, MediatR pipelines, transactions and pragmatic trade-offs.
SQL Server and Relational Databases Masterclass: From Fundamentals to Production Performance
A comprehensive senior developer's SQL Server revision guide covering relational modelling, keys, normalisation, joins, aggregation, constraints, indexes, execution plans, SARGability, stored procedures, transactions, concurrency, analytical modelling and production code review.
DevOps, Backlog and Team Planning: A Mentoring Guide for a New Team Member
A practical onboarding guide to DevOps culture and Azure DevOps Boards: backlogs, user stories, tasks, bugs, spikes, technical debt, priorities, sprints, definitions of ready and done, and keeping delivery work visible.
Building a Productive and Happy Software Team: A Real-World Senior Engineering View
A practical senior engineer's guide to team architecture: clarity, psychological safety, mentoring, constructive code review, healthy disagreement, estimation, focus, conflict resolution and shared delivery responsibility.
How to Code Review as a Senior Engineer: C#, SQL and SPA Applications
A production-focused guide to reviewing C# and ASP.NET Core, EF Core and SQL Server, and Angular or React SPA code with attention to correctness, maintainability, security, performance, observability and respectful mentoring.
EF Core Best Practices: A Senior Developer's Guide to DbContext, LINQ, Performance and Production Gotchas
A practical senior-level EF Core guide from Faz Ahmed covering DbContext, change tracking, LINQ-to-SQL translation, IQueryable, projection, Include, N+1 queries, transactions, concurrency, migrations and production performance tuning.
The World of SPA Applications: Faz Ahmed's Conversation with a Junior Developer
A practical senior-level conversation about Single Page Application architecture: Angular, React and Blazor, application shells, routing, state management, security, performance, testing, observability, deployment and long-term frontend engineering decisions.
How to Investigate a Slow Angular, ASP.NET Core and SQL Server Application
A senior engineer's practical guide to diagnosing slow production applications end to end: Angular rendering, NgRx, Web APIs, CQRS, EF Core or stored procedures, SQL Server execution plans, blocking, observability and safe performance fixes.
C# Async, Await, Race Conditions and Locks: A Senior Developer's Practical Guide
My practical revision guide to async and await, Tasks, thread-pool behaviour, race conditions, locks, SemaphoreSlim, Interlocked and safe ASP.NET Core concurrency.
How RAG, Vector Databases, Microsoft Foundry and ASP.NET Core Work Together
My practical exploration of RAG, embeddings, vectors, vector databases, Azure AI Search, Microsoft Foundry agents and secure ASP.NET Core integration.
.NET 10 vs .NET 11: Key Features, Real-World Use Cases and What Developers Need to Know
My working comparison notes for .NET 10 and .NET 11, covering search, containers, Native AOT, Runtime Async, C# evolution, ASP.NET Core and EF Core.
ASP.NET Core Configuration and Options Pattern: A Practical Production Guide
ASP.NET Core configuration involves much more than reading appsettings.json. In this practical guide, I explain configuration providers, strongly typed options, startup validation, environment overrides and secure secret management—along with the mistakes that commonly cause deployment and production failures.
Anatomy of an ASP.NET Core Web Application: How a Request Really Flows
What really happens when an HTTP request reaches an ASP.NET Core application? Drawing on my experience building and supporting enterprise .NET systems, this guide follows a request through Kestrel, middleware, routing, authentication, model binding, application services and data access—highlighting the misconceptions, ordering mistakes and architectural traps developers frequently encounter.
C# Async/Await and Task in ASP.NET Core: A Practical Guide
C# async and await can make ASP.NET Core applications more scalable, but only when developers understand what Task, threads, the thread pool and asynchronous I/O actually do. Drawing on my experience building and supporting enterprise .NET systems, this guide explains the mental model, common misconceptions, production mistakes and practical patterns every .NET developer should know.
Designing Enterprise Software Around Business Workflows
One of the biggest lessons I've learned is that successful enterprise software isn't built around databases or APIs — it's built around business workflows. This article explores how understanding business operations first leads to better architecture, cleaner code, and systems that evolve naturally as organisations grow.
Backend-First Full Stack Development
What does being a Full Stack Engineer actually mean? This article explains my approach to software engineering, why my strongest expertise lies in backend development, and how I confidently work across Angular, React, Blazor, and modern frontend applications without claiming to be a frontend specialist.
Building BuildEstate Pro: How an Enterprise Property Platform Was Designed and Delivered
A source-backed, beginner-friendly engineering case study showing how BuildEstate Pro moved from business vision and domain discovery to Clean Architecture, CQRS, state machines, ASP.NET Core, EF Core, Angular, NgRx, security, search, testing and a repeatable Definition of Done.
How AI Is Changing Software Engineering
Rather than replacing developers, AI is becoming another tool in the engineering toolbox. This article shares how I use Claude, Kiro, ChatGPT, GitHub Copilot, and Azure AI to accelerate architecture, documentation, implementation planning, debugging, and software delivery while maintaining sound engineering principles.
What 15+ Years in Enterprise Development Has Taught Me
An honest reflection on senior engineering: understanding business workflows, choosing technology for the need, solving problems patiently, supporting the team, and using AI without pretending it replaces judgement.
React and TypeScript Production Mastery: Complete Revision Notes
My practical, code-heavy revision handbook for React 19, TypeScript, Server Components, Actions, state, hooks, React Router 7, forms, Auth.js, Node.js, PostgreSQL, Drizzle ORM, testing, CI/CD, performance and production deployment.
JavaScript from the Inside Out: A Gentle Guide to Scope, Closures, this, Prototypes and Async
A slow, beginner-friendly and code-heavy guide to JavaScript's core mechanisms: values, types, variables, functions, scope, hoisting, closure, this, prototypes, classes, coercion, the event loop, Promises, iterators, modules, performance and framework connections.
TypeScript from the Inside Out: A Gentle Guide to Types, Narrowing and Generics
A beginner-friendly guide to compile-time reasoning, inference, unions, narrowing, generics, structural typing, type operators, modules and honest runtime boundaries.
How the Browser Actually Works: A Gentle Full-Stack Developer's Guide
Faz’s conversational browser notes: 62 learner questions answered through navigation, parsing, rendering, events, storage, browser security, service workers, memory and DevTools.
HTTP and Web APIs from First Principles
Faz’s conversational HTTP notes: learner questions answered through messages, methods, caching, authentication, CORS, retries, pagination, rate limits and resilient API design.
Web Security for Full-Stack Developers: A Gentle Defensive Guide
Faz’s conversational security notes: 85 junior-developer questions answered patiently through threat modelling, access control, browser attacks, identity, supply-chain integrity and incident response.
CSS and Accessible UI from the Inside Out
Faz’s conversational CSS and accessibility notes: 97 questions about cascade, resilient layout, semantics, keyboard focus, forms, ARIA, design systems and inclusive testing.
Testing JavaScript and TypeScript Applications with Confidence
Faz’s conversational testing notes: 48 learner questions about trustworthy unit, integration, component, API, database and end-to-end evidence, flakiness and CI.
Node.js from the Inside Out: A Gentle Production Guide
Faz’s conversational Node.js notes: 52 learner questions about the runtime, event loop, streams, backpressure, workers, service boundaries, shutdown and observability.
Frontend Architecture Patterns for Scalable Applications
Faz’s conversational frontend architecture notes: 62 learner questions about feature boundaries, state ownership, dependency direction, adapters, workflows and safe evolution.
Want to discuss the work, compare approaches, or turn one of these topics into a focused learning session?