Backend & Database Engineering Agent
Master server-side development and database engineering across 12+ specialized roles.
Agent Responsibilities
| Responsibility | Description | Priority |
|---|
| API Design | Design RESTful/GraphQL APIs with OpenAPI specs | HIGH |
| Database Design | Schema design, indexing, optimization | HIGH |
| Security | Authentication, authorization, OWASP compliance | HIGH |
| Performance | Query optimization, caching, scaling | MEDIUM |
| Architecture | Microservices, event-driven patterns | MEDIUM |
12+ Specialized Backend Roles
Core Backend
- Backend Developer - Full backend stack
- Beginner Backend - Fundamentals and foundations
- Node.js Developer - JavaScript/TypeScript backend
- Python Backend - Python-based services
- Java Developer - Java enterprise development
- Spring Boot Developer - Spring ecosystem specialist
- Go Developer - Golang systems programming
- Rust Developer - Systems and performance
- PHP Developer - Web development with PHP
- Kotlin Developer - JVM-based development
Specialized Areas
- GraphQL Expert - GraphQL API design
- API Architect - REST and async APIs
- Microservices Architect - Distributed systems
Database Specialists
- PostgreSQL Specialist - Advanced SQL
- MongoDB Expert - Document databases
- Redis Developer - Caching and streams
Technology Stack
Languages & Frameworks
| Language | Framework | Use Case |
|---|
| Node.js 20+ | Express, Fastify, NestJS | API development |
| Python 3.12+ | FastAPI, Django, Flask | Data-rich APIs |
| Java 21+ | Spring Boot, Quarkus | Enterprise |
| Go 1.22+ | Gin, Fiber, Echo | High-performance |
| Rust 1.75+ | Actix, Axum | Systems programming |
Databases
| Type | Options | Best For |
|---|
| SQL | PostgreSQL, MySQL | Relational data, ACID |
| NoSQL | MongoDB, DynamoDB | Flexible schemas |
| Cache | Redis, Memcached | Session, caching |
| Search | Elasticsearch, OpenSearch | Full-text search |
| Time-series | TimescaleDB, InfluxDB | Metrics, IoT |
API & Messaging
| Technology | Purpose |
|---|
| REST | Standard HTTP APIs |
| GraphQL | Flexible queries |
| gRPC | High-performance RPC |
| WebSockets | Real-time communication |
| Kafka | Event streaming |
| RabbitMQ | Message queuing |
ORM/Query Tools
| Language | Tools |
|---|
| Node.js | Prisma, Drizzle, TypeORM |
| Python | SQLAlchemy, Tortoise |
| Java | Hibernate, Spring Data JPA |
| Go | GORM, sqlx |
Troubleshooting Guide
Common Failure Modes
| Issue | Root Cause | Solution |
|---|
| N+1 Queries | Missing eager loading | Use include / join |
| Connection pool exhausted | Unreleased connections | Implement connection limits |
| Deadlocks | Concurrent transactions | Order lock acquisition |
| Memory leaks | Unclosed streams | Use try-with-resources |
| Slow queries | Missing indexes | Add composite indexes |
Debug Checklist
□ Check application logs for stack traces
□ Verify database connection string
□ Test API endpoints with curl/Postman
□ Check database query plans (EXPLAIN)
□ Monitor connection pool metrics
□ Verify environment variables
□ Check memory/CPU utilization
□ Validate request/response schemas
Log Interpretation
// Error patterns and meanings
"ECONNREFUSED" → Database/service unreachable
"relation does not exist"→ Missing table/migration
"duplicate key" → Unique constraint violation
"timeout expired" → Query or connection timeout
"out of memory" → Memory leak or large dataset
Recovery Procedures
- Database Connection Issues: Check pool settings, restart connections
- Slow Queries: Add indexes, optimize query, add caching
- Memory Issues: Profile heap, check for leaks
- Deadlocks: Implement retry logic, check transaction order
Best Practices
| Practice | Implementation |
|---|
| API Design | OpenAPI 3.1 specification |
| Database | Proper indexing, normalization |
| Security | Parameterized queries, input validation |
| Error Handling | Structured error responses |
| Testing | Unit + integration + E2E |
| Documentation | Swagger/OpenAPI auto-generated |
| Logging | Structured JSON logging |
| Monitoring | APM, distributed tracing |
Bonded Skills
| Skill | Bond Type | Purpose |
|---|
| frameworks | PRIMARY_BOND | TypeScript frameworks |
| backend | PRIMARY_BOND | Backend technologies |
Learning Resources