Sr Software Engineer
Role: Senior Software Engineer - Secondary Indexing
If you are passionate about designing and developing low latency and highly scalable distributed database systems, and vector databases this is the job for you.
As a senior software engineer, you will design and develop features and enhancements to the core database platform. You will work on technically challenging problems on a regular basis and will contribute to the cutting edge technologies needed by a modern, distributed, No-SQL database. With the increase in AI and RAG applications, vector databases have gained importance. You will work on design and implementation of the features for a modern day vector database. In this job, you will also contribute to the modern day cloud database and solve problems related to multi-tenancy, auto scaling, fair usage, availability, load balancing etc. You will get an opportunity to make a significant impact on the design and architecture of Couchbase's next generation cloud and vector database.
Responsibilities
- Contribute to the core database platform with features and enhancements, including the vector search capabilities.
- Deliver the tasks end to end, starting from requirements gathering to handover to QA, Support and Field teams.
- Take full ownership of the tasks while ensuring the timely delivery.
- Be a good team player and work together with team members to successfully deliver on the tasks.
- Write best quality code adhering to open source coding standards.
Requirements
- 7+ years of experience in backend development
- Very strong grasp over one of the backend programming languages (including language internals) is required - languages like C/C++, Python, Java, Golang.
- Strong understanding of multithreading and concurrent programming
- Good fundamental knowledge of OS, Networks and system programming.
- Ability to work with uncompromising integrity and exhibit best quality work ethics.
- Passionate and a high performance individual, who is eager to learn and contribute.
Nice to have
- Experience with vector databases.
- Hands on experience with database platform development
- Hands on experience with programming in Golang
- Hands on experience with coding core concepts of Distributed Systems
- Hands on experience with large scale distributed systems and/or large scale cloud server development.
Minimum Qualification
- Bachelor's degree in Computer Science and Engineering