Software Engineer · Architect · Educator

Dr Ahmad H. Estabrag

Engineering Production-Ready AI Systems

I’m a software engineer, architect and former university lecturer with more than 30 years of experience designing, building and teaching software systems.

I now apply that engineering perspective to LLM systems, RAG, agentic systems and computer vision—exploring how AI applications can move beyond impressive demos to become well-designed, reliable software systems.

Portrait of Dr Ahmad H. Estabrag
PhD Software Engineering
Former University Lecturer
Software Architect · 30+ Years Experience
Free Live Session

RAG Beyond the Demo

An Engineering Perspective for Software Developers

Building a RAG demo is relatively straightforward. Building a RAG system that is reliable, maintainable and ready for real-world use is a very different engineering problem.

In this free 90-minute live session, we’ll look beyond the basic retrieve-and-generate pipeline and examine RAG from a software engineering perspective: where simple implementations begin to break down, what architectural decisions matter, and how to think about RAG as a production software system.

Thursday, 27 August 2026 · 6:30–8:00 pm BST · Online
About

Software Engineering Meets AI Engineering

I am a software engineer, architect and educator with a PhD in Software Engineering and more than 30 years of experience spanning software development, enterprise architecture, university teaching, research and consulting.

Throughout my career, I have worked across object-oriented software development, distributed systems, enterprise integration, SOA, BPM, software architecture, design patterns, analytics and emerging technologies.

While the technologies have evolved, my engineering philosophy has remained consistent: build systems that are scalable, maintainable, reliable and designed to evolve.

Today, I apply that architecture-first approach to AI engineering, with a particular focus on LLM systems—including RAG and agentic systems—and computer vision, and on the engineering challenges involved in moving AI from prototype to production.

30+ Years Experience
PhD Software Engineering
Former University Lecturer
Software Architect
Current Focus

What I'm Working On

RAG Engineering

RAG Systems for Software Engineers

A growing collection of articles, architecture diagrams, notebooks, experiments and reference implementations exploring Retrieval-Augmented Generation as a software engineering discipline.

Production AI

Production-Ready AI

Exploring the engineering challenges involved in moving from AI prototypes to reliable systems—including architecture, evaluation, observability, security, scalability, maintainability and operational concerns.

Education

AI Engineering Education

Developing practical learning resources, live sessions and self-paced technical education for software engineers who want to build modern AI systems on strong software engineering foundations.

Expertise

Where Architecture Meets AI

Enterprise · Distributed Systems · APIs

Software Architecture

Architecture and design of complex software systems with an emphasis on scalability, maintainability, integration and architectural evolution.

LLM Systems · RAG · Agentic Systems · Computer Vision

AI Engineering

Designing AI applications as engineered software systems, with attention to architecture, retrieval, evaluation, reliability, scalability and maintainability.

EAI · SOA · BPM · Analytics

Enterprise Systems

Experience designing enterprise integration solutions, orchestration and workflow systems, business rule engines, analytics platforms and distributed applications.

Teaching · Mentoring · Research

Technical Education

Former university lecturer with experience teaching software engineering and neural networks, supervising MSc research, and developing professional technical education.

Career

Three Decades of Software Engineering

1990s

Software Development

C/C++ · Object-Oriented Systems · Software Quality

2000s

Enterprise Software

Middleware · Distributed Systems · Integration

2000s–2010s

Research & Education

Software Design · Patterns · Neural Networks · MSc Supervision

2010s

Enterprise Architecture

SOA · BPM · Analytics · Integration · Blockchain

Today

AI Engineering

LLM Systems · RAG · Agentic Systems · Computer Vision · Production AI

The technologies have changed considerably. The fundamental engineering questions—architecture, quality, reliability, maintainability, scalability and evolution—have not.
Writing

Technical Writing

RAG Engineering

What Software Engineers Get Wrong About RAG

Why production RAG is as much a software architecture problem as an AI problem.

Embeddings

Embeddings: A Software Engineer's Perspective

Understanding embeddings as an architectural capability rather than simply high-dimensional vectors.

Computer Vision

From Model to System: Engineering a Computer Vision Pipeline

How a computer vision model becomes a usable software system through preprocessing, inference, post-processing, evaluation, integration and deployment.

Coming Soon

More Engineering Notes Coming Soon

Retrieval, vector databases, evaluation, architecture, agentic systems, computer vision and production AI engineering.

View All Articles →
Teaching

Technical Education

Teaching has been an important part of my career. I spent eight years as a university lecturer and researcher in Software Engineering, teaching undergraduate and postgraduate students, supervising MSc dissertations, and conducting and publishing research in software design and software development management.

My teaching also included neural networks, giving me an early involvement with AI technologies long before today’s generative AI era.

Today, I bring that academic teaching experience together with practical software architecture and AI engineering to develop technical education for professional software engineers.

Live

Live Sessions & Masterclasses

Interactive, developer-focused sessions exploring the engineering challenges behind modern AI systems.

On Demand

Self-Paced Courses

Structured on-demand courses for software engineers who want to study AI engineering topics in greater depth and at their own pace.

Explore Technical Education →
Open Engineering Work

RAG Systems for Software Engineers

A practical engineering repository exploring how retrieval-augmented generation systems can be designed, evaluated and evolved as production software.

It brings together articles, Jupyter notebooks, architecture diagrams, code examples, exercises and reference implementations covering the engineering decisions behind reliable RAG systems.

Concepts Notebooks Architecture Examples Exercises
View Repository on GitHub →
# rag_pipeline.py

class RetrievalArchitecture:
    def __init__(self, index, policy):
        self.index = index
        self.policy = policy

    def retrieve(self, query):
        # ranked, evaluated,
        # and observable
        return self.index.query(query)
AI systems are software systems.
Engineering Philosophy

AI applications may introduce new models, capabilities and uncertainties, but they still have to operate as software systems.

That means architecture matters. Interfaces matter. Data quality, evaluation, reliability, observability, maintainability, security and cost all matter.

How do we turn that capability into a system we can understand, evaluate, maintain and trust in production?

That perspective shapes the projects I build, the topics I write about and the way I teach AI engineering.

Introduction

A Little About My Work

A short introduction to my background, what I’m working on today, and why I believe software engineering principles are essential to building reliable AI systems.

Watch the introduction · 2–3 minutes
Introduction Video
Coming soon
Contact

Let’s Connect

Interested in AI engineering, technical education or collaboration?

Whether you’d like to discuss an AI engineering project, attend a live session, explore training opportunities, or simply exchange ideas about building production-ready AI systems, I’d be happy to hear from you.