Skip to content

Software Engineer - Serverless Distributed Data Systems

  • Markham, Ontario

Job description

Our team has an immediate 12-month contract opening for a Software Engineer.


  • Work with a team of architects and engineers to design and develop framework/engine for the next-generation serverless data analytics and cloud.
  • Deeply analyze and optimize software system performance.
  • Learn and adopt new technologies (parallel, distributed systems, large-scale data analytics system, etc.), research, survey, and present industry trends to the team.
  • Generate innovative ideas and new patent applications.

Job requirements

What you’ll bring to the team:

  • Strong CS fundamentals, proficient in C++ or C, including proficiency with data structures, algorithms, and distributed systems.
  • Proficient in systems programming skills including multi-threading, multi-processing, concurrency, etc.
  • Background in distributed system internals or building core components (query optimization, query execution, storage engines, transaction processing, etc.) for large-scale data processing systems (e.g. Flink, Spark, Presto, etc.) is an asset.
  • Experience with Big Data storage technologies (HDFS, Columnar Databases, etc.) or Scalable Key-Value stores (RocksDB/LevelDB, Redis, etc.) or Advanced Analytics systems (Time-Series, Streaming Processing, etc.) is an asset.
  • Experience in networking, data network architectures, software architecture, or distributed systems is an asset.
  • Strong problem solving and ability to learn quickly in a dynamic environment.
  • BS in Computer Science/Electrical Engineering/Telecommunications; MS or PhD is an asset.