Software Engineer, Database
You'll work on improving database systems with a focus on correctness, quality, stability, resilience, performance, and functionality together with your team members.
About Weaviate
Weaviate is an AI startup with open source and creativity at its core. Our AI-native vector database uses machine learning to create meaningful insights from unstructured data in a completely new way. Named one of Forbes’ Top 50 AI startups, and with over a million monthly downloads, Weaviate is quickly growing in popularity with developers and enterprises alike.
Our team members work remotely across the globe with the flexibility to work from anywhere and at any time. Our people experience this as a massive benefit! Operating with a strong sense of ownership and collaboration, our teams prioritize results while empowering each individual to do their best work.
About this role
Persistence sits at the heart of Weaviate. First and foremost, Weaviate is a database. We are proud to run on custom solutions tailored to our exact needs. This allows us to achieve throughput and performance goals for specific queries that generate the most value for our users. Your goal is to improve those database systems with a focus on correctness, quality, stability, resilience, performance, and functionality together with your team members.
This is what you’ll be doing
- Drive Weaviate forward by building a word-class database layer with highly-performant custom storage solutions, such as bitmap-native LSM stores, high-performance inverted indexes, columnar stores, and a seamless integration with our vector storage and indexing systems.
- Add new features in a non-breaking fashion to make life easier for users upgrading Weaviate db or clients, or create UX-driven solutions to make upgrades easy and as painless as possible.
- Bug hunting: You identify scenarios to reproduce rare user issues and get to the root cause and finally fix them. You communicate and coordinate with other teams, such as Customer Success, Sales Engineering, and Community Engineering to help users affected by issues in the database layer.
- Cooperate with the Developer Relations and Developer Growth teams to create great documentation for new features, working examples explaining features.
What we are looking for
- Great theoretical understanding and practical experience with database algorithms, such as B+trees, LSM stores, inverted indexes, bitmap indexes, columnar indexing, text scoring (BM25).
- You have either worked on a database system (OLTP, OLAP, …) before or have a great theoretical understanding of such systems.
- Great understanding of concurrency and parallelism to build database systems that are not bound by synchronization, are easy to understand, and highly performant.
- You are thorough, patient and inquisitive, striving to understand the essence of challenging problems.
- Experience with Go or willingness to learn the intricacies of Golang. If you are unfamiliar with Go, it’s important to have experience with C/C++ or Rust or a comparable language.
- Placing strong emphasis on code quality and eagerness to improve existing code.
- You can use automated testing at all levels – including chaos engineering in production. You can identify edge cases, unhappy paths, and eliminate issues before users can find them.
- Not being afraid to refactor vast parts of the codebase to make it simpler, easier to understand, maintain and extend in the future. You value long-term maintainability and strive to make it easy to change even the most critical code paths.
- You are aligned with our company values.
What we offer
- 100% remote with flexible work hours.
- Competitive compensation, including paid time off.
- Budget available to spend on going to conferences, co-working space, home office equipment, etc.
- Work with very experienced and fun team members.
- An atmosphere that encourages learning and personal growth, and that gives you lots of freedom, flexibility, and responsibilities.
Are you interested?
Have a look at this page to learn what you can expect from our interview process. Be aware that conducting a background check is part of our onboarding.
If you are interested in Weaviate and this role, you can apply via the ‘apply now!’ button below. All of our communication will be done in response to your application. If you have any questions feel free to reach out to our recruiter via the application. In this way, we ensure that our people can focus on doing their best work.
- Department
- Database
- Remote status
- Fully Remote
- Employment type
- Full-time
About Weaviate
Weaviate is an AI startup with open source at its core. Our AI-native vector database uses machine learning to create meaningful insights from unstructured data in a completely new way. Named one of Forbes’ Top 50 AI startups, and with over a million monthly downloads, Weaviate is quickly growing in popularity with developers and enterprises alike.
Software Engineer, Database
You'll work on improving database systems with a focus on correctness, quality, stability, resilience, performance, and functionality together with your team members.
Loading application form
Already working at Weaviate?
Let’s recruit together and find your next colleague.