1---2name: backend-mindset3description: Build robust backend systems — APIs (REST, GraphQL, gRPC), authentication (OAuth 2.1, JWT), databases, performance optimization, security (OWASP Top 10), scalability patterns (microservices, caching, sharding), and testing. Use when designing APIs, implementing auth, optimizing queries, handling security vulnerabilities, building microservices, or developing production-ready backend systems.4---56# Backend Development Skill78## References910| File | Covers |11|------|--------|12| `references/api-design.md` | REST, GraphQL, gRPC — URL rules, status codes, protocol selection |13| `references/authentication.md` | OAuth 2.1, JWT, RBAC, MFA, session management |14| `references/security.md` | OWASP Top 10 (2025), rate limiting, headers, secrets |15| `references/performance.md` | Indexing, caching patterns, load balancing, async processing |16| `references/architecture.md` | Microservices patterns, event-driven, CQRS, scalability |17| `references/testing.md` | TDD, test pyramid, contract testing, migration tests |18| `references/code-quality.md` | SOLID, design patterns, refactoring signals |1920## Quick Decision Guide2122| Need | Choose |23|------|--------|24| Public / browser clients | REST or GraphQL |25| Internal high-throughput | gRPC |26| Flexible data fetching | GraphQL |27| Streaming | gRPC (bidirectional) or SSE |28| Single team, unclear domain | Monolith |29| Multiple autonomous teams | Microservices |30| Audit trail required | Event Sourcing |31| Read/write load imbalance | CQRS |32| Task >200ms off request path | Async queue |33| Session across instances | Redis (never in-process) |3435## Defaults3637- Every non-public endpoint requires explicit auth declaration — no implicit defaults38- Input validation at every system boundary (API handler, event consumer, file parser)39- Parameterized queries everywhere — never string-interpolate user input40- Rate limiting on auth endpoints, public API, and file upload (see security.md for thresholds)41- Integration tests hit real infrastructure (Testcontainers) — in-memory substitutes hide real bugs42- TDD: write the failing test before any implementation43- Services return result envelopes — never throw for expected failures (404, 400, 409)