About SeMI Technologies & Weaviate
SeMI Technologies is a global remote-first startup, with teams hailing from many different parts of the world, where it is not totally uncommon for someone to work remotely from fun places (like a camping site). While this gives you freedom and flexibility to work from anywhere and any time, we are looking for people who are comfortable working independently, who are proactive and take ownership, and people who communicate effectively.
Our flagship product is Weaviate a Vector Search engine & database, which uses machine learning to organize and search data in a completely new way.
At SeMI we believe that the next wave of software infrastructure is AI-first and that a strong open-source community is a basis for creating high-quality software.
About this role
The Weaviate Vector Search Engine is written entirely in Golang. It covers data persistence, vector indexing, inverted indexing, integration with ML modules, an extensible module system, and various query mechanisms. Weaviate integrates with SOTA ML/AI systems. Its module system makes it easy to plug in new models at index and search time. In addition, Weaviate is a distributed database using various consensus algorithms and patterns inspired by the most outstanding distributed systems out there. Some code paths in Weaviate are performance-critical. Others are not. For our customers and users, Weaviate is a core piece of infrastructure that must work very reliably and be easy to use and operate. As a result, the Core team puts a lot of emphasis on automated testing, stress-testing, and performance-testing Weaviate. Your goal is to enrich the functionality of Weaviate, help improve existing functionality, make Weaviate more reliable, and support the team when bugs are discovered.
What we are looking for
- You are an experienced Golang developer.
- You can write high-quality automated tests, preferably in a test-driven fashion (TDD).
- You have at least a basic understanding of how databases work on the inside and are willing to dive deeper into this subject.
- You have a good understanding of what makes software “production-grade.”
- You have a CI/CD mindset and are comfortable with related tools, such as Travis, Docker, Kubernetes, Helm, Prometheus, and others.
- You are a great communicator and team player.
- (optional) Experience with building GraphQL servers (in Go).
- (optional) Experience with Memory Management in Golang.
- (optional) Experience with working on either inverted-index-based systems or vector indices.
- (optional) Experience with other programming languages to help enrich the Weaviate Client ecosystem.
What we offer
- 100% remote with flexible work hours.
- Competitive compensation, including paid time off.
- Personal budget to spend on your preferences e.g. going to conferences, co-working space.
- You will work at the forefront of search, ML/AI, and cloud-native technologies - and all of it is open source.
- An atmosphere that encourages learning and personal growth, with very experienced and fun team members to learn from.