Senior Software Engineer (Backend) — Job Description
Position summary
Lead design and implementation of scalable, reliable backend systems and services; mentor engineers, drive architecture and technical decisions, and ensure delivery of high-quality server-side software.
Key responsibilities
- System design &* architecture:* Architect backend services, microservices, APIs, data models, and integration patterns to meet scalability, availability, and maintainability goals.
- Implementation: Write clean, performant, and well-tested server-side code (services, batch jobs, data processing) in the team's primary language (e.g., Java, Go, Python, Kotlin, C#, Node.js).
- API design: Design and document robust RESTful or GraphQL APIs; ensure backward compatibility and versioning strategies.
- Scalability &* performance:* Identify bottlenecks, optimize latency and throughput, and design systems for horizontal scaling and fault tolerance.
- Reliability &* observability:* Implement logging, metrics, tracing, and alerting; participate in SRE practices and maintain SLAs.
- Data management: Design data schemas, optimize queries, and collaborate with DBAs/data engineers on transactions, indexing, and sharding strategies.
- Security &* compliance:* Apply secure coding practices, authentication/authorization (OAuth/JWT), input validation, and data protection measures.
- CI/CD &* tooling:* Integrate automated testing and deployment pipelines; champion build, release, and rollback practices.
- Mentorship &* leadership:* Mentor and coach mid/junior engineers, conduct code reviews, and drive technical growth in the team.
- Cross-functional collaboration: Work closely with product managers, designers, QA, and DevOps/SRE to deliver features end-to-end.
- Incident response &* postmortems:* Lead troubleshooting during incidents, drive root-cause analysis, and implement long-term fixes.
- Technical strategy &* process:* Influence technical roadmap, evaluate new technologies, and improve engineering processes and standards.
Required qualifications
- Bachelor’s degree in Computer Science or equivalent experience.
- 5+ years backend software engineering experience (or equivalent seniority).
- Strong proficiency in at least one backend language and ecosystem (e.g., Java/Spring, Go, Python/Django/Flask, Node.js/Express, C#/.NET).
- Deep understanding of distributed systems, system design patterns, concurrency, and scalability.
- Experience with relational and NoSQL databases, caching, message queues, and asynchronous processing.
- Familiarity with cloud platforms (AWS, GCP, Azure) and containerization (Docker, Kubernetes).
- Strong testing discipline: unit, integration, and end-to-end testing.
- Excellent debugging, performance tuning, and problem-solving skills.
- Effective communication and mentorship abilities.
Preferred qualifications
- Experience designing high-throughput, low-latency systems or large-scale production services.
- Prior work with event-driven architectures, stream processing (Kafka, Kinesis), and data pipelines.
- Experience with observability tooling (Prometheus, Grafana, Jaeger, ELK) and SRE collaboration.
- Familiarity with Infrastructure as Code (Terraform) and automated deployment strategies.
- Advanced degree or relevant certifications.
Pay: $11,670.34 – $14,174.54 per month
Work Location: In person