Strong programming in at least one backend language (Java/Kotlin, Go, C#, Python, or Node.js) with clean, maintainable code practices
API design and versioning (REST/gRPC), including error handling and clear contracts between services
Distributed systems basics: service-to-service communication, timeouts/retries, and handling partial failures
Data stores: relational databases (SQL), plus experience with NoSQL and caching where appropriate
Async processing with messaging/streaming (e.g., Kafka/RabbitMQ/SQS) and event-driven design
Cloud fundamentals (AWS/Azure/GCP): networking basics, identity/access, and managed services
Containers and orchestration (Docker, Kubernetes) and building/deploying services safely
Observability: logging, metrics, traces, dashboards, alerting, and diagnosing production issues
Security basics: authentication/authorization, secure coding, dependency vulnerability management
Communication, prioritization, and cross-team collaboration (especially during incidents and launches)