Engineering

Backend Software Developer

We are seeking a talented and qualified Backend Developer with a strong proficiency in a backend language such as Python or Elixir. You will be responsible for developing our data processing, streaming and event management systems. You should be able to translate our company vision into highly available and performant web services.

You will work as part of our Engineering Team from our Toronto office in The Junction. Our team has a presence in both Boston and Toronto, so it will be necessary to collaborate with a remote team.

Responsibilities

  • Architecting core data processing applications using best practices
  • Implementation of security and data protection
  • Modelling data from complex and varied sources
  • Optimization of services for maximum speed and scalability
  • Building reusable code and libraries for future use
  • Interfacing with client-side developers to meet requirements
  • Continuously ensuring applications are well-tested and production ready
  • Ensuring excellent standards are maintained across team members

Requirements

  • Intellectual curiosity and a strong desire to learn
  • Problem solving skills, including the ability to disaggregate complex problems and incrementally implement solutions
  • 4+ years experience working with a backend language like Python or Elixir
  • Experience with relational databases like PostgreSQL
  • Strong understanding of microservice and message based architectures
  • Experience building REST and GraphQL based APIs
  • Experience with message brokers like RabbitMQ
  • Working knowledge of ETL strategies
  • Working knowledge integrating with web services
  • Experience developing complex data ingestion platforms
  • Experience with modern build pipelines and tools
  • Experience with monitoring tools like Graphite and Prometheus
  • Experience with a testing framework
  • Experience using Git
  • Proficiency with load testing tools like siege, ab or vegeta
  • Excellent written and verbal communication skills in English
  • Ability to understand business requirements and translate them into technical requirements
  • A passion to create highly performant services on the web

Great to Have

  • Undergraduate degree in Computer Science, Engineering, or a related field
  • Experience with Docker and containerization of services, Kubernetes
  • Experience with cloud services like GCP
  • Exposure to Big Data/NoSQL technologies (Spark, HDFS, MapReduce, HBase, Cassandra, MongoDB, etc.)
  • Experience with continuous integration tooling like TravisCI
  • Experience with application logging / tracing / performance monitoring