- 7+ years of software engineering experience with a focus on distributed systems
- Deep experience designing, building, and operating large-scale distributed systems that are fault tolerant, highly available, and highly concurrent
- Strong systems thinking, with sound architectural judgment around event-driven, stateful, real-time decisioning systems
- Skill at building complex systems: identifying core primitives, making sound architectural choices under uncertainty, and adapting designs as requirements evolve
- Experience building and operating backend services in a modern cloud environment (we use Google Cloud Platform), including proficiency with container orchestration (we use Kubernetes)
- Hands-on experience with microservice and service-oriented architectures, including the inter-service communication patterns that compose them — synchronous, event-sourced, orchestrated, and asynchronous (we use gRPC and Kafka)
- Strong foundation in Python
- Experience with Elixir – which we use for building concurrent, fault-tolerant services — is a strong plus. Experience with Erlang, Scala/Akka, Go, or Clojure also transfers well
- Practical experience evaluating and designing for distributed systems fundamentals: consensus, partitioning, replication, back-pressure, idempotency, and failure handling
- Exemplary software engineering practices (system design, code review, testing, CI/CD)
- Strong focus on operational excellence, including observability, incident response, and healthy on-call practices
- Strong technical leadership skills, with the ability to drive architectural decisions, lead design reviews, and mentor other engineers
- Exceptional problem-solving skills, including the ability to efficiently identify, analyze, and resolve complex issues in production systems
- Clear communicator who can translate technical tradeoffs into practical decisions with product and engineering stakeholders
- (Nice to have) Experience with workflow orchestration systems (e.g. Prefect, Airflow, Dagster, Temporal)
- (Nice to have) Experience building, operating, or integrating with ML-driven decisioning or scoring systems
The base pay range for this position is $147,300 - $192,000 CAD/year, which can include additional bonus depending on the position ultimately offered, in addition to a full range of medical, financial, and/or other benefits. The base pay offered may vary depending on job-related knowledge, skills, and experience.
Studies have shown that women, communities of color, and historically underrepresented people are less likely to apply to jobs unless they meet every single qualification. We are committed to building a diverse and inclusive culture where all Inkers can thrive. If you’re excited about the role but don’t meet all of the abovementioned qualifications, we encourage you to apply. Our differences bring a breadth of knowledge and perspectives that makes us collectively stronger.