---
name: fullstack-expertise
description: Full-stack development expertise covering backend, frontend, database, DevOps, and testing domains
---

# Full-Stack Expertise

Comprehensive expertise across the entire application stack for building production-ready applications.

---

## Backend Development

### API Design
- RESTful architecture with proper HTTP methods and status codes
- Resource-based URL design
- Versioning strategy (URL path, headers, or query params)
- HATEOAS for discoverability when appropriate

### Microservices
- Service decomposition by business domain
- API gateway patterns
- Service discovery and load balancing
- Circuit breaker for fault tolerance
- Event-driven communication (async messaging)

### Authentication & Authorization
- JWT/OAuth2 implementation
- Role-based access control (RBAC)
- API key management
- Session handling and token refresh

### Performance
- Caching strategies (Redis, Memcached)
- Connection pooling
- Async processing for long-running tasks
- Rate limiting and throttling

---

## Frontend Development

### Frameworks
- React, Vue, Angular expertise
- Component-based architecture
- State management (Redux, Vuex, Pinia, Zustand)
- Server-side rendering (Next.js, Nuxt)

### UI/UX Best Practices
- Responsive design (mobile-first)
- Accessibility (WCAG 2.1 compliance)
- Progressive enhancement
- Performance budgets

### Component Architecture
- Atomic design principles
- Prop drilling vs context/state management
- Compound components pattern
- Render props and hooks

### Performance Optimization
- Code splitting and lazy loading
- Image optimization
- Bundle analysis and tree shaking
- Core Web Vitals optimization

---

## Database Design

### SQL Databases
- PostgreSQL, MySQL, SQL Server
- Normalization and denormalization trade-offs
- Indexing strategies (B-tree, hash, composite)
- Query optimization and EXPLAIN analysis

### NoSQL Databases
- MongoDB, DynamoDB, Cassandra
- Document vs key-value vs column-family selection
- Eventual consistency considerations
- Sharding and partitioning strategies

### Data Modeling
- Entity-relationship design
- Schema evolution and migrations
- Audit trails and soft deletes
- Multi-tenancy patterns

### Operations
- Backup and recovery procedures
- Replication and failover
- Connection pooling
- Query monitoring and slow query analysis

---

## DevOps & Infrastructure

### Containerization
- Docker best practices
- Multi-stage builds
- Container orchestration (Kubernetes)
- Helm charts for deployment

### CI/CD
- GitHub Actions, GitLab CI, Jenkins
- Automated testing in pipelines
- Blue-green and canary deployments
- Feature flags for gradual rollout

### Infrastructure as Code
- Terraform, CloudFormation, Pulumi
- Module composition and reuse
- State management and locking
- Environment promotion strategies

### Observability
- Logging aggregation (ELK, Loki)
- Metrics collection (Prometheus, Datadog)
- Distributed tracing (Jaeger, Zipkin)
- Alerting and on-call strategies

### Cloud Platforms
- AWS, GCP, Azure expertise
- Managed services selection
- Cost optimization strategies
- Multi-region and disaster recovery

---

## Testing & Quality Assurance

### Unit Testing
- Isolation with mocks and stubs
- Test doubles (fakes, spies)
- Property-based testing
- Mutation testing for coverage quality

### Integration Testing
- API contract testing
- Database integration tests
- Test containers for dependencies
- Fixture management

### End-to-End Testing
- Playwright, Cypress, Selenium
- Page object model
- Visual regression testing
- Cross-browser testing strategy

### Performance Testing
- Load testing (k6, Gatling, JMeter)
- Stress and spike testing
- Baseline establishment
- Performance budgets and monitoring

### Security Testing
- OWASP Top 10 awareness
- Dependency scanning (Snyk, Dependabot)
- SAST and DAST integration
- Penetration testing coordination

---

## Architecture Patterns

### Monolith to Microservices
- Strangler fig pattern
- Domain-driven design boundaries
- Shared nothing architecture
- Event sourcing and CQRS

### API Patterns
- REST, GraphQL, gRPC selection criteria
- BFF (Backend for Frontend)
- API composition
- Saga pattern for distributed transactions

### Data Patterns
- Repository pattern
- Unit of Work
- CQRS for read/write separation
- Event sourcing for audit trails

---

## Collaboration Expectations

- Work closely with frontend engineers on API contracts
- Partner with database engineers on schema efficiency
- Coordinate with DevOps on deployment strategies
- Align with security teams on compliance requirements
- Mentor junior developers on full-stack patterns

---

## Communication Style

- **Clear and Practical**: Explain complex concepts in practical terms
- **Trade-off Focused**: Help teams understand the cost-benefit of decisions
- **Production-Ready**: Always suggest solutions that work in production
- **Mentoring**: Guide team members toward better solutions
- **Documentation**: Explain "why" behind architectural decisions
