Harshil Shah — Engineering Playbook¶
Practical engineering principles, delivery patterns, and architecture guidance shaped by 14 years of building software across regulated platforms, enterprise systems, and modern cloud applications.
Welcome¶
Hello, I'm Harshil Shah, a Senior Full Stack Engineer focused on building reliable, maintainable, and scalable software. My core experience spans .NET Core, C#, Python, React, Azure, and AWS, with a delivery background that combines engineering excellence, product thinking, and operational pragmatism.
This playbook is my personal reference for the standards I expect from production systems: clean design, thoughtful architecture, strong code review culture, and sustainable engineering habits. You can also follow my work on GitHub at github.com/harshil-sh.
Why this playbook exists¶
I created this site for three reasons:
- Capture durable engineering principles that stay useful across teams, domains, and technology stacks.
- Document repeatable patterns for system design, code quality, and technical decision-making.
- Share a working reference that reflects how I approach software as a senior engineer targeting Senior, Lead, and Staff engineering roles in the UK, Netherlands, Germany, and Ireland.
Contents¶
This playbook contains seven core sections, each designed to be useful on its own and stronger when read together.
| Section | Link | One-line description |
|---|---|---|
| SOLID Principles | Open section | Practical design principles for building maintainable, extensible software systems. |
| System Design | Open section | Architectural patterns and trade-offs for reliability, scalability, and clear boundaries. |
| Python Best Practices | Open section | Production-minded Python guidance for structure, testing, tooling, and delivery. |
| Code Review | Open section | Review standards, feedback patterns, and quality gates for safe, collaborative shipping. |
| ADRs | Open section | A lightweight framework for recording important technical decisions and their consequences. |
| Engineering Principles | Open section | The core beliefs and standards that shape how I write, review, and operate software. |
| About | Open section | Career background, achievements, technical strengths, and current direction. |
How to use this playbook¶
You can use this site in whichever way best matches your workflow:
- As a reference when designing a service, reviewing code, or defining engineering standards.
- As a coaching tool for helping teams align on maintainability, design quality, and delivery discipline.
- As an interview preparation resource for conversations around architecture, trade-offs, engineering leadership, and software craftsmanship.
- As a personal benchmark for the technical bar I aim to uphold in every project.
Suggested reading paths¶
- Start with Engineering Principles if you want the mindset behind the rest of the playbook.
- Continue to SOLID Principles and Code Review Guidelines for day-to-day engineering practice.
- Use System Design Patterns and Architecture Decision Records when making larger technical decisions.
- Refer to Python Best Practices when working in Python-heavy services, tooling, or automation.
- Visit About for the career context behind the perspectives captured here.
Living document notice¶
Living document
This playbook is continuously updated as I learn from new systems, delivery challenges, architecture reviews, and production incidents. The guidance here is intended to stay practical and current rather than static.
Technology stack¶
| Domain | Primary technologies | How I use them |
|---|---|---|
| Backend Engineering | .NET Core, C#, Python | APIs, distributed services, background jobs, automation, integration layers |
| Frontend Engineering | React, JavaScript, TypeScript | Internal platforms, responsive web applications, and product-facing interfaces |
| Cloud & DevOps | Azure, AWS, GitHub Actions | CI/CD, infrastructure workflows, deployment automation, and cloud-native delivery |
| Architecture | REST APIs, event-driven design, ADRs, observability patterns | Designing systems that scale safely and evolve predictably |
| Engineering Excellence | Testing strategy, code review, refactoring, documentation | Improving delivery quality and long-term maintainability |
Career highlights¶
- 14 years of engineering experience across full stack product and platform development.
- Senior Software Engineer at Ofgem UK, contributing to software delivery in a regulated environment.
- Asian Banker Award — Best Retail Banking Software for work on the HRMS platform for Axis Bank.
- Deep hands-on expertise across enterprise backend systems, modern frontend applications, and cloud delivery practices.
- Strong alignment with high-impact engineering roles spanning Senior, Lead, and Staff Engineer expectations.
A personal note on continuous learning¶
The most valuable engineers I have worked with combine curiosity with consistency. They keep learning, but they also keep shipping. This playbook reflects that mindset. It is not a fixed statement of perfection; it is a living body of lessons from real systems, real trade-offs, and a long-term commitment to getting better at the craft of engineering.
If you are building software that needs to be reliable, understandable, and adaptable, I hope this playbook gives you something useful to take into your next design review, sprint, or production release.