# Backend Development

## Overview

Backend Development is a specialization focused on building robust, maintainable backend services, APIs, and domain-driven systems. It covers the full spectrum of server-side engineering: from designing clean domain models and hexagonal architectures to implementing test-driven workflows that deliver sub-second feedback.

This specialization emphasizes practices that produce well-structured, evolvable systems — where tests drive design, infrastructure is deferred, and domain logic stays isolated from external concerns.

## Key Focus Areas

- **Domain-Driven Design** — Organizing code around bounded contexts, entities, and value objects that speak the language of the business
- **Hexagonal Architecture** — Keeping domain logic independent from I/O concerns via ports and adapters
- **Outside-In TDD** — Driving feature development from acceptance tests inward, letting design emerge from working code
- **Fast Feedback** — Sub-second test suites using in-memory fakes, enabling confident refactoring at any time

## Available Skills

| Skill | Description |
|-------|-------------|
| [growing-outside-in-systems](skills/growing-outside-in-systems/) | Outside-In TDD with Hexagonal Architecture — drives feature development from acceptance tests inward, with emergent design and in-memory fakes |

## When to Use This Specialization

Apply backend-development skills when:
- Building new APIs, microservices, or backend features
- Structuring domain models and bounded contexts
- Setting up test infrastructure for a backend service
- Refactoring toward cleaner architecture with confidence
