Lead Software Engineer
Lead Software Engineer - Storage
As a key contributing member of the storage development team, you will be responsible for enhancing the highly scalable and performant storage engines used by both Couchbase Server and Couchbase Capella. You will be developing a highly-available and concurrent enterprise-grade system software. Most of all, you will be able to celebrate the wins by experiencing the direct result of your hard work from our customers' success stories. The ideal candidate will have a strong technical background, excellent communication skills, and proactive problem-solving skills.
The innovative work storage team does has been widely recognized by the industry. The following publications in VLDB conferences reflect the storage work at Couchbase
Nitro: A Fast, Scalable In-Memory Storage Engine for NoSQL Global Secondary Index
Magma: A High Data Density Storage Engine Used in Couchbase
Requirements
- Bachelor's/Master's degree in computer science or equivalent.
- 5+ years of experience building enterprise-grade infrastructure or systems software.
- Proficient in C++, Golang or Java.
- Experience with designing and writing concurrent/multi-threaded programs.
- Deep knowledge of advanced operating system concepts and data structures.
- Knowledge of LSM trees is a plus.
- Knowledge of Linux I/O stack and Database internals.
- Experience with performance analysis and debugging.
- Experience in Distributed Systems is a plus.
- Experience with cloud platforms (AWS, GCP, Azure) is a plus
- You're a self-motivated, independent, and high-performance individual.
- You learn quickly and you enjoy worthy challenges.
- You're a good communicator and an excellent team player.
- You like working in organizations that strive to have a good balance between doing it right and moving quickly.
Responsibilities:
- Design and develop features to enhance high performance, highly reliable storage engines for Couchbase Server and Couchbase Capella.
- Proactively take ownership in the product, and provide excellent technical ambition in finding solutions to propel the product forward.
- Discuss and debate with your peers as you help figure out product requirements and the architectural approach to getting things built, tested & supported.
- Produce enterprise-level quality software and solutions that are performant for a highly-available system.
- Exhibit unrelenting motivation to investigate and find causes for customer-facing issues, and to derive optimal solutions in software improvements.
- Provide high-quality and detailed technical specifications within the team as well as external teams.