Senior Software Engineer

Meili

Région

N/A

About the company

Meilisearch’s mission is to create a best-in-class search experience for every website and application. We are building a blazingly fast and ultra-relevant search engine made in Rust that allows our partners to have a powerful search engine without initial configuration. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box.

We are fully open source: we strongly believe the best way to realize our vision is to leverage the open source community's power. We already have many integrations and SDKs to allow any developer to try Meilisearch in their environment quickly. We have a vibrant connection with our community of early adopters and builders. We are in contact every day and eagerly listen to feedback from our contributors.

We completed a $5 million round of funding September 2021, and are backed by 4 leading international investors: CRV,Mango Capital,LocalGlobe, Seedcamp, and Kima Ventures. We have already partnered with industry heavyweights like Louis Vuitton and Platform.sh.

We are a team of passionate people and our project is growing fast (+10K GitHub stars in 12 months). In order to provide the most performant and easy-to-use search engine, we are looking for a Senior Software Engineer for our Core team.

About the core team

At Meili, the Core Team is responsible for the development of a core search engine, one of the biggest public Rust projects, that combines performance, relevance and ease of use.

The team is open source focused: it addresses topics such as the development of search algorithms, and more production oriented aspects like the creation of an API. The core developers also contribute regularly to other open source projects, like roaring-rs, fst, whatlang-rs, lindera, helix, and the Rust language.

The team is composed of our co-founder and CTO, Clément, a team lead, Clémentine, and 2 Rust software engineers (Thomas and Maxime). They work closely with our open source product manager, Guillaume. To know more about the rest of Meili people, check out this page.

The code base of the core team is fully written in Rust and is currently composed of

  • Meilisearch: an HTTP API handling the indexes and the task store of Meilisearch using actix-web. Meilisearch is currently the biggest project base on actix.
  • Milli: handles the indexation and the search of the engine based on LMDB.
  • Tokenizer: handles the tokenization and the support of different languages.
  • Other repositories like Grenad, Heed...

About the role As an engineer in the core team, your role will include:

👉 Implementing solutions and features to deliver impacts for the Meilisearch users. Depending on the needs, you will be working on any part of the code base (Meilisearch, Milli, Tokenizer...). 👉 Working with the team to solve technical challenges. Regarding our current needs, these solutions will mostly involve deep knowledge of the low-level resources of the machine. 👉 Ensuring we keep the whole codebase maintainable despite the increased number of features during implementation. 👉 Taking part in PR reviews and technical discussions. 👉 Taking part in creating processes and supporting the team in their iterations around improving search engine performance. 👉 Participating in API design and everything related to developer experience. You will work closely with the product team and others by reviewing and implementing specifications to deliver a user-friendly search engine while guaranteeing good performance and relevancy. 👉 Helping to support developers use Meilisearch by answering questions from the community on Slack and GitHub.

Here is a non-exhaustive list of current technical challenges you may be involved in helping to solve: 🦀 Indexation speed optimization, 🦀 Ensuring the search engine always responds fast while guaranteeing the relevance of search results, 🦀 Asynchronous process management, 🦀 Handling multiple languages, 🦀 Working on state-of-the-art libraries or optimizing them to reach this state i.e. Roaring Bitmaps, LMDB... 🦀 In the future: build a distributed system, work with serverless, build sharded system...

Our ideal profile We are looking for a software engineer with at least a 6-8 yearsexperience in C/CPP/Rust or equivalent, strongly interested in low-level engineering. You aim to deliver impact by solving technical challenges according to company needs.

Working for an open-source company is something you are actively looking for, and (even if you don’t have extensive experience working for an open source company or on open source projects), you believe in the open-source mindset and are motivated by the open-source way of working.

Soft skills Your fit with our team is as important to us as your technical background, if not more so. We are looking for someone with these important soft skills:

  • You are recognized as a good teacher, and actively look to share your knowledge, regardless of activity, status or technical level,
  • You have excellent communication skills & you are transparent about your work (orally and on GitHub)
  • You are organized and detail-oriented,
  • You ensure you are moving in the right direction by measuring your impact (with benchmarks for example) in an efficient way,
  • You are able to work efficiently in remote.

Hard skills Must-have:

  • 6+ years in C/CPP/Rust or equivalent,
  • Fluent in English, orally & in writing,
  • Experience in a structured and well-established team: you are used to communicating about your work, sharing knowledge and able to work rigorously on projects,
  • Strongly interested in the Rust language: you have already implemented a project in Rust (in your company or for a personal project)

Nice to have:

  • 2+ years experience in Rust, ideally async Rust
  • Experience in low-level engineering regarding disk usage, memory usage and CPU management
  • Experience in algorithmic
  • Experience working with search engines
  • Experience in open-source projects
  • Experience in API design
  • You are comfortable reading research papers
  • Definitely a bonus: knowledge in SIMD-oriented optimization or distributed systems

Meilisearch is an equal opportunity employer. We strive to develop an inclusive work environment that reflects the diversity of our open-source community.

Salary and compensation

No salary data published by company so we estimated salary based on similar jobs related to API, Senior and Engineer jobs that are similar:

$70,000 — $120,000/year

Location

Remote

Meili

Société

Meili