Our team has an immediate permanent opening for a Principal 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.
- Continuous enhancements on the distributed database system to fulfill customer requirements for self-tuning under differing workload conditions.
- 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 though a combination of automated unit tests, functional testing and system testing of the solution.
What you’ll bring to the team :
Proficient in C and C++ programming.10+ years’ experience with design and development of a distributed database, or storage system, or file system, or cache system.Experience in open source community is an asset.Excellent documentation, organization and communication skills.Publication history and patent success is an asset.Bachelor's in Computer Science / Electrical Engineering / Telecommunications; Master's or PhD is an asset.J-18808-Ljbffr