
Lead Backend Developer, Distributed Systems
Posted 2 days ago

Posted 2 days ago
This is a fully remote position, open to applicants in Canada.
• Establish the technical vision and oversee the architecture, design, and critical implementation choices for the orchestration platform.
• Develop a scalable, event-driven, fault-tolerant distributed system to support high-volume, real-time messaging decisions across various workflows and channels.
• Take ownership of essential system components from architecture and implementation through to deployment, monitoring, and incident response.
• Conduct design evaluations, address architectural trade-offs, and maintain high standards for system design, code quality, testing, and operational discipline.
• Work collaboratively with Product, Machine Learning, Data Platform, and related engineering teams to convert requirements into technical specifications.
• Guarantee platform reliability at scale by focusing on observability, metrics, incident response, and shared on-call duties.
• Guide and mentor engineers while exemplifying strong engineering practices.
• Report to the Engineering Manager of the Orchestration team.
• Over 7 years of experience in software engineering, specifically in distributed systems.
• Extensive background in designing, building, and operating large-scale distributed systems that are fault-tolerant, highly available, and capable of handling high concurrency.
• Strong systems thinking ability, with sound architectural judgment in event-driven, stateful, real-time decision-making systems.
• Proficient in constructing complex systems and making informed architectural decisions amidst uncertainty.
• Experience in building and managing backend services within a modern cloud environment, particularly Google Cloud Platform.
• Expertise in Kubernetes.
• Practical experience with microservices and service-oriented architectures.
• Familiarity with synchronous, event-sourced, orchestrated, and asynchronous inter-service communication methods.
• Knowledge of gRPC and Kafka.
• Strong foundation in Python programming.
• Hands-on experience with consensus, partitioning, replication, back-pressure, idempotency, and failure management.
• Exemplary software engineering practices, including system design, code reviews, testing, and CI/CD processes.
• A strong emphasis on observability, incident response, and maintaining healthy on-call practices.
• Demonstrated technical leadership skills, encompassing architectural decision-making, design evaluations, and mentorship.
• Exceptional problem-solving abilities for complex issues in production systems.
• Ability to clearly communicate technical trade-offs to product and engineering stakeholders.
• Experience with Elixir, Erlang, Scala/Akka, Go, or Clojure is an advantage.
• Familiarity with workflow orchestration systems like Prefect, Airflow, Dagster, or Temporal is a plus.
• Experience with machine learning-driven decision-making or scoring systems is an added advantage.
• Additional bonuses based on the position ultimately offered.
• Comprehensive medical, financial, and/or other benefits.
Domo Inovação
OhioHealth
Mitratech
Get handpicked remote jobs straight to your inbox weekly.