We are looking for a Senior Backend Engineer to join our engineering team at a product-led company. In this role, you will design, develop, and scale robust backend systems that power our products and deliver exceptional user experiences.
You will work on complex technical challenges involving large-scale distributed systems, microservices architecture, cloud infrastructure, and high-performance applications. We are looking for an experienced engineer who combines strong technical expertise with sound architectural judgment, a product mindset, and excellent communication skills.
Key Responsibilities
- System Design & Architecture: Design and build scalable, reliable, and high-performance backend systems capable of supporting large-scale applications and growing user demands.
- Distributed Systems & Microservices: Architect, develop, and maintain distributed systems and microservices, ensuring scalability, resilience, fault tolerance, and maintainability.
- Backend Development: Write clean, efficient, secure, and maintainable code using Go, Node.js, Ruby, or Python.
- Cloud Infrastructure: Build, deploy, and operate backend services on cloud platforms, leveraging cloud-native technologies and best practices.
- Performance & Reliability: Identify performance bottlenecks, optimize system throughput and latency, and improve the reliability and availability of production services.
- Technical Leadership: Drive technical design discussions, contribute to architectural decisions, and establish engineering best practices and coding standards.
- Cross-functional Collaboration: Work closely with product managers, frontend engineers, designers, and other stakeholders to translate business requirements into effective technical solutions.
- Code Quality: Participate in code reviews, promote automated testing, and ensure high standards of code quality, security, and operational excellence.
- Continuous Improvement: Evaluate emerging technologies, identify opportunities for technical improvements, and contribute to the evolution of our engineering architecture.
Requirements
- 7+ years of professional software engineering experience, with a strong focus on backend development.
- Proven experience designing and building large-scale distributed systems and microservices architectures in production environments.
- Strong proficiency in at least one of the following programming languages: Go, Node.js, Ruby, or Python.
- Solid understanding of distributed systems concepts, including concurrency, fault tolerance, service communication, consistency, and scalability.
- Hands-on experience with cloud platforms such as AWS, Google Cloud Platform (GCP), or Microsoft Azure.
- Strong knowledge of API design, RESTful services, asynchronous processing, messaging systems, and event-driven architectures.
- Experience with relational and/or NoSQL databases, including data modeling, query optimization, and performance tuning.
- Familiarity with containerization and orchestration technologies such as Docker and Kubernetes.
- Experience building and maintaining production systems, including monitoring, logging, troubleshooting, and incident resolution.
- Strong problem-solving skills, sound technical judgment, and the ability to make pragmatic engineering trade-offs.
- Excellent communication and collaboration skills, with the ability to articulate complex technical concepts clearly to both technical and non-technical stakeholders.