Senior Software Engineer

MeiliSearch

Posted 3 days ago

Apply for this job

⚠️ Europe only. Your application will be automatically rejected otherwise

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

Why you'll enjoy working with us

  • Permanent full-time contract,
  • Stock options,
  • We are open to fully remote applications, as long as you are between GMT-4 and GMT+5 time zones,
  • 4 day work week & flexible working hours,
  • If you’re working from home, we will provide either a stipend for you to equip yourself, or an access to Fleex (Europe). We also reimburse up to 500 EUR / month for your co working expenses,
  • Access to a mental health platform ( moka.care) + 4 sessions with a coach/trained therapist,
  • 3 months paid parental leave,
  • 6 weeks paid time off,
  • Management training to freshly hired and newly appointed managers,
  • We all get together at least once a year for a company offsite.

Recruitment process

  • Please send us your resume and a quick note of why you might be a good fit for this job. Don't hesitate to have a look at our LinkedIn page, as well as our Meet the Team page (under construction).
  • HR/Manager interview: if your profile fits, you will meet Morgane from the HR team, and Clémentine, manager for the Core team → 1h video call. If it doesn't fit you will get an email from us.
  • Technical interview: you will meet Clément, tech lead for the Core team & Marin, one of the team’s software engineers → 1h video call
  • We will ask you to work on a technical test at home, on your own time, and will schedule a 30min/1h debrief with Clément & Marin,
  • Team fit interview: you will meet the rest of the Core team: Thomas & Maxime → 1h video call,
  • Founders interview: you will meet co-founders Quentin and Thomas, our CEO and COO → 1h video call.

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

Apply for this job

⚠️ Europe only. Your application will be automatically rejected otherwise

MeiliSearchmeilisearch.com

MeiliSearch is a powerful, fast, open-source, easy to use and deploy search engine. Both searching and indexing are highly customizable. Features such as typo-tolerance, filters, and synonyms are provided out-of-the-box.

Our Working week

Friday is a "free" day. There is no obligation to work

  • Mon
  • Tue
  • Wed
  • Thu
  • 🏖️
    Fri

Our Vacation Policy

6 weeks paid time off

  • 24 days
  • 52 Fridays
  • 76 days off per year

We work 100% remotely

We work fully remotely and are a team of 18 and mostly based in France.

Our Benefits

  • Flexible working hours
  • Generous parental leave
  • Equity / options
  • Equipment allowance

Report incorrect data

Let us know if the job has expired