About the role
Responsibilities:
- Own the design, development, and maintenance of critical backend systems, APIs, and data models.
- Drive architectural decisions across services, databases, queues, and event-driven integrations.
- Improve scalability, performance, security, code quality, testing, and production reliability.
- Identify technical bottlenecks and implement improvements.
- Mentor engineers and contribute to code reviews, technical discussions, and knowledge sharing.
- Work closely with engineering leadership to evaluate trade-offs and evolve system architecture.
- Build, debug, review, and deploy production code.
Requirements:
- 6+ years of software engineering experience with ownership of complex backend systems.
- Strong proficiency in Python, Node.js, or Go.
- Strong understanding of distributed systems and backend architecture.
- Knowledge of database design, caching, queues, retries, idempotency, and failure handling.
- Experience with MongoDB, PostgreSQL, DynamoDB, Redis, and message queues.
- Strong system-design judgment and understanding of reliability, complexity, cost, and delivery trade-offs.
- High standards for code quality, testing, observability, and operational excellence.
- Experience mentoring engineers and improving team practices.
- An ownership mindset focused on outcomes rather than just assigned tasks.
Nice to have:
- Experience with real-time systems, WebRTC, LiveKit, telephony, SIP, or streaming infrastructure.
- Experience building SaaS systems, observability and alerting systems, billing systems, or distributed workflows.
- Experience with production AI/LLM-based systems, agent orchestration, tool calling, evaluation pipelines, or prompt engineering.
- Knowledge of container orchestration, serverless architectures, messaging systems, and infrastructure-as-code.
- Experience with high-volume event processing, analytics pipelines, or search infrastructure.