Job description
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.
Job requirements
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 an asset.
- Excellent documentation, organization and communication skills.
- Self-motivated learner; strong desire to learn on the job.
- Must be a team player.
- BS in Computer Science/Electrical Engineering/Telecommunications; MS or PhD is an asset.
AD1
or
All done!
Your application has been successfully submitted!