Posted 12 Mar 2022, 9:00 pm

internship Software Engineering at Meili

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 in September 2021, and are backed by 5 leading international investors: LocalGlobe, Seedcamp,Kima Ventures, Mango Capital, and CRV. 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). To assist the core team in developing a better product, we are looking for a Core Team Engineering Intern, for a duration of 3 months minimum.

About the role

At Meili, the Core Team is responsible for the development of a core search engine that combines performance, relevance and ease of use. They are open source focused, and address topics such as the development of search algorithms, as well as more production oriented aspects like the creation of an API.

The team is composed of our co-founder and CTO, Clément, a team lead, Clémentine, and 3 Rust software engineers (Thomas, Marin and Maxime). They work closely with our open source product manager, Guillaume.

We are looking for an intern to support the overall team activity, either by tackling identified research and development problematics, or by taking part in the definition and implementation of a feature (ideally from start to finish). Internship topics may change along the way, depending on your profile, motivations and what the team needs. During this internship, you will work mainly with Thomas and Marin.

⚠️ When applying to this internship, please send us anything that can showcase your programming skills (GitHub, GitLab, Bitbucket...). Without this, your application will not be considered.

Our ideal profile You are self-motivated, driven, autonomous. You’re attracted to open source and working with Rust. You have worked with Rust or another system programming before, or are very motivated to learn.

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:

👉 Proactive & independent: you know how to search for information and will pro actively look for solutions, 👉 Great communication skills: you ask for help when you are stuck and you regularly update your team members about what you’re doing (all the more important since teams at Meili are mostly remote), 👉 Curious and passionate about programming, 👉 Comfortable working remotely. While our offices are open to you in Paris, most of the core team is distributed.

Hard skills

Must-have 👉 Low-level and/or back-end programming experience (personal and/or school projects accepted!), 👉 Professional English (we don't need you to be bilingual, but writing skills are a must).

Nice to have 👉 Programming experience in Rust 👉 Contribution on open source programs

What you’ll be doing

The projects for the core team internship fall into two categories:

Research-oriented internship The research-oriented internship revolves around core projects that are not necessarily aimed at production but help us build a better product. The two main axes are:

👉 Performance: tools, profiling, and instrumentation. The goal of this internship is to help us come up with better solutions to systematically find and fix performance bottlenecks. The scope of the project spread from tool discovery, writing new tools (e.g eBPF), all the way to integrating them in the workflow, and optimizing part of the engine.

👉 Testing: it is common knowledge that good software is well tested and returns helpful error messages. The goal of this internship is NOT to write tests but to help us make it easier to write them. You would be working on building test tools and libraries.

Product-oriented internship Research is not your thing, and you’d rather get your hands dirty, we got your back! The product-oriented internship is all about building stuff that will go to production. The goal is to have you work on the whole product lifecycle, from creation to specification and finally to implementation. This internship mixes product management with software development. Here are some projects you could be working on:

👉 Improving Meilisearch filters: Meilisearch filters are a small query language in themselves. This project aims to add more functionality to them, by extending the language and implementing the filtering operation right inside the engine. 👉 Work on the Meilisearch Command Line Interface: our CLI could be more ergonomic and for example support configuration files, or daemonization. You’d help us come up with an interesting design and work on its implementation.

There are always new things coming up, so depending on when you start, there will be interesting things for you to do.

Open project You already have an idea about how to make Meilisearch better? Contact us and tell us about it! The list of projects above is not exclusive. If you identify a topic that you think would be useful for us and that you find interesting to work on, we can definitely discuss building it together.

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


The offering company is responsible for the content on this page / the job offer.
Source: Remote Ok