Skip to content

Software Engineer - Distributed Database

  • Markham, Ontario
tylsm

Job description

Our team has an immediate permanent opening for a Software Engineer.
Responsibilities:

  • Research and development of distributed, highly available transaction processing database management system focusing on algorithms for scale up and scale out.
  • Work with a team of architects and engineers to develop proof-of-concept systems and components across the data manager, buffer manager and transaction processing components.
  • Investigate and design new data structures and algorithms focusing on Lockless and NUMA-aware approaches on the latest and state of the art hardware technology.
  • Mentor junior colleagues on algorithm design, data structure and software engineering aspects. Focusing on high performance scalable code.
  • Work with QA and continuous integration teams to drive a quality overall solution through combination of automated unit tests, functional testing and system testing of the solution.

Job requirements

What you’ll bring to the team:

  • Bachelor, Master or PhD in Computer Science or related area.
  • Proficient in C and C++ programming.
  • Excellent documentation, organization and communication skills.
  • Self-motivated; strong desire to learn on the job.
  • Must be a team player.
  • Experience with design and development of a distributed database, storage system, file system, or cache system is an asset.
  • Experience in open source community is an asset.

or