How Algolia Reduces Latency For 21B Searches Per Month

20,626
Algolia
Developer-friendly hosted search service. API clients for all major frameworks and languages. REST, JSON & detailed documentation.

By Josh Dzielak, Developer Advocate at Algolia.


Algolia Paris meeting room


Algolia helps developers build search. At the core of Algolia is a built-from-scratch search engine exposed via a JSON API. In February 2017, we processed 21 billion queries and 27 billion indexing operations for 8,000+ live integrations. Some more numbers:

  • Query volume: 1B/day peak, 750M/day average (13K/s during peak hours)
  • Indexing operations: 10B/day peak, 1B/day average (spikes can be over 1M/s)
  • Number of API servers: 800+
  • Total memory in production: 64TB
  • Total I/O per day: 3.9PB
  • Total SSD storage capacity: 566TB

We’ve written about our stack before and are big fans of StackShare and the community here. In this post we‘ll look at how our stack is designed from the ground up to reduce latency and the tools we use to monitor latency in production.

I’m Josh and I’m a Developer Advocate at Algolia, formerly the VP Engineering at Keen IO. Being a developer advocate is pretty cool. I get to code, write and speak. I also get to converse daily with developers using Algolia.

Frequently, I get asked what Algolia’s API tech stack looks like. Many people are surprised when I tell them:

  1. The Algolia search engine is written in C++ and runs inside of nginx. All searches start and finish inside of our nginx module.

  2. API clients connect directly to the nginx host where the search happens. There are no load balancers or network hops.

  3. Algolia runs on hand-picked bare metal. We use high-frequency CPUs like the 3.9Ghz Intel Xeon E5–1650v4 and load machines with 256GB of RAM.

  4. Algolia uses a hybrid-tenancy model. Some clusters are shared between customers and some are dedicated, so we can use hardware efficiently while providing full isolation to customers who need it.

  5. Algolia doesn’t use AWS or any cloud-based hosting for the API. We have our own servers spanning 47 datacenters in 15 global regions.


Algolia architecture diagram


Why this infrastructure?

The primary design goal for our stack is to aggressively reduce latency. For the kinds of searches that Algolia powers—suited to demanding consumers who are used to Google, Amazon and Facebook—latency is a UX killer. Search-as-you-type experiences, which have become the norm since Google announced instant search in 2011, have demanding requirements. Any more than 100ms from end-to-end can be perceived as sluggish, glitchy and distracting. But at 50ms or less the experience feels magical. We prefer magic.

Monitoring

Our monitoring stack helps us keep an eye on latency across all of our clusters. We use Wavefront to collect metrics from every machine. We like Wavefront because it’s simple to integrate (we have it plugged in to StatsD and collectd), provides good dashboards, and has integrated alerting.

We use PagerDuty to fire alerts for abnormalities like CPU depletion, resource exhaustion and long-running indexing jobs. For non-urgent alerts, like single process crashes, we dump and collect the core for further investigation. If the same non-urgent alert repeats more than a set number of times, we do trigger a PagerDuty alert. We keep only the last 5 core dumps to avoid filling up the disk.

When a query takes more than 1 second we send an alert into Slack. From there, someone on our Core Engineering Squad will investigate. On a typical day, we might see as few as 1 or even 0 of these, so Slack has been a good fit.

Probes

We have probes in 45 locations around the world to measure the latency and the availability of our production clusters. We host the probes with 12 different providers, not necessarily the same as where our API servers are. The results from these probes are publicly visible at status.algolia.com. We use a custom internal API to aggregate the large amount of data that probes fetch from each cluster and turn it into a single value per region.


Algolia probes


Downed Machines

Downed machines are detected within 30 seconds by a custom Ruby application. Once a machine is detected to be down, we push a DNS change to take it out of the cluster. The upper bound of propagation for that change is 2 minutes (DNS TTL). During this time, API clients implement their internal retry strategy to connect to healthy machines in the cluster, so there is no customer impact.

Debugging Slow Queries

When a query takes abnormally long - more than 1 second - we dump everything about it to a file. We keep everything we need to rerun it including the application ID, index name and all query parameters. High-level profiling information is also stored - with it, we can figure out where time is spent in the heaviest 10% of query processing. A syscall called getrusage analyzes resource utilization of the calling process and its children.

For the kernel, we record the number of major page faults (ru_majflt), number of block inputs, number of context switches, elapsed wall clock time (using gettimeofday, so that we don’t skip counting time on a blocking I/O like a major page fault since we’re using memory mapped files) and a variety of other statistics that help us determine the root cause.

With data in hand, the investigation proceeds in this order:

  1. The hardware
  2. The software
  3. Operating system and production environment

Hardware

The easiest problem to detect is a hardware issue. We see burned SSDs, broken memory modules and overheated CPUs. We automate the reporting of the most common failures like SSDs by alerting on S.M.A.R.T. data. For infrequent errors, we might need to run a suite of specific tools to narrow down the root cause, like mbw for uncovering memory bandwidth issues. And of course, there is always syslog which logs most hardware failures.

Individual machine failures will not have a customer impact because each cluster has 3 machines. Where it’s possible in a given geographical region, each machine is located in a different datacenter and attached to a different network provider. This provides further insulation from network or datacenter loss.

Software

We have some close-to-zero cost profiling information obtained from the getrusage syscall. Sometimes that’s enough to diagnose an issue with the engine code. If not, we need to look to profiling. We can’t run a profiler in production for performance reasons, but we can do this after the fact.

An external binary is attached to a profiler, containing exactly the same code as the module running inside of nginx. The profiler uses information obtained by google-perftools, a very accurate stack-sampling profiler, to simulate the exact conditions of the production machine.

OS / Environment

If we can rule out hardware and software failure, the problem might have been with the operating environment at that point in time. That means analyzing system-wide data in the hope of discovering an anomaly.

Once we discovered that defragmentation of huge pages in the kernel could block our process for several hundred milliseconds. This defragmentation isn’t necessary because we keep large memory pools like nginx. Now we make sure it doesn’t happen, to the benefit of more consistent latency for all of our customers.

Deployment

Every Algolia application runs on a cluster of 3 machines for redundancy and increased throughput. Each indexing operation is replicated across the machines using a durable queue.

Clusters can be mirrored to other global regions across Algolia’s Distributed Search Network (DSN). Global coverage is critical for delivering low latency to users coming from different continents. You can think of DSN like a CDN without caching - every query is running against a live, up-to-date copy of the index.

Early Detection

When we release a new version of the code that powers the API, we do it in an incremental, cluster-aware way so we can rollback immediately if something goes wrong.

Automated by a set of custom deployment scripts, the order of the rolling deploy looks like this:

  • Testing machines
  • Staging machines
  • ⅓ of production machines
  • Another ⅓ of production machines
  • The final ⅓ of production machines

First, we test the new code with unit tests and functional tests on a host that with an exact production configuration. During the API deployment process we use a custom set of scripts to run the tests, but in other areas of our stack we’re using Travis CI.

One thing we guard against is a network issue that produces a split-brain partition during a rolling deployment. Our deployment strategy considers every new version as unstable until it has consensus from every server, and it will continue to retry the deploy until the network partition heals.

Before deployment begins, another process has encrypted our binaries and uploaded them to an S3 bucket. The S3 bucket sits behind CloudFlare to make downloading the binaries fast from anywhere.

We use a custom shell script to do deployments. The script launches the new binaries and then checks to make sure that the new process is running. If it’s not, the script assumes that something has gone wrong and automatically rolls back to the previous version. Even if the previous version also can’t come up, we still won’t have a customer impact while we troubleshoot because the other machines in the cluster can still service requests.

Scaling

For a search engine, there are two basic dimensions of scaling:

  • Search capacity - how many searches can be performed?
  • Storage capacity - how many records can the index hold?

To increase your search capacity with Algolia, you can replicate your data to additional clusters using the point-and-click DSN feature. Once a new DSN cluster is provisioned and brought up-to-date with data, it will automatically begin to process queries.

Scaling storage capacity is a bit more complicated.

Multiple Clusters

Today, Algolia customers who cannot fit on one cluster need to provision a separate cluster and create logic at the application layer to balance between them. This is often needed by SaaS companies who have customers growing at different rates, and sometimes one customer can be 10x or 100x compared to the others, so you need to move that customer to somewhere they can fit.

Soon we’ll be releasing a feature that takes this complexity behind the API. Algolia will automatically balance data a customer’s available clusters based on a few key pieces of information. The way it works is similar to sharding but without the limitation of shards being pinned to a specific node. Shards can be moved between clusters dynamically. This avoids a very serious problem encountered by many search engines - if the original shard key guess was wrong, the entire cluster will have to be rebuilt down the road.

Collaboration

Our humans and our bots congregate on Slack. Last year we had some growing pains, but now we have a prefix-based naming convention that works pretty well. Our channels are named #team-engineering, #help-engineering, #notif-github, etc.. The #team- channels are for members of a team, #help- channels are for getting help from a team, and #notif- channels are for collecting automatic notifications.


Algolia Zoom Room


It would be hard to count the number of Zoom meetings we have on a given day. Our two main offices are in Paris and San Francisco, making 7am-10am PST the busiest time of day for video calls. We now have dedicated "Zoom Rooms" with iPads, high-resolution cameras and big TVs that make the experience really smooth. With new offices in New York and Atlanta, Zoom will become an even more important part of our collaboration stack which also includes Github, Trello and Asana.

Team

When you're an API, performance and scalability are customer-facing features. The work that our engineers do directly affects the 15,000+ developers that rely on our API. Being developers ourselves, we’re very passionate about open source and staying active with our community.


Algolia values


We’re hiring! Come help us make building search a rewarding experience. Algolia teammates come from a diverse range of backgrounds and 15 different countries. Our values are Care, Humility, Trust, Candor and Grit. Employees are encouraged to travel to different offices - Paris, San Francisco, or now Atlanta - at least once a year, to build strong personal connections inside of the company.

See our open positions on StackShare.

Questions about our stack? We love to talk tech. Comment below or ask us on our Discourse forum.

Thanks to Julien Lemoine, Adam Surak, Rémy-Christophe Schermesser, Jason Harris and Raphael Terrier for their much-appreciated help on this post.

Algolia
Developer-friendly hosted search service. API clients for all major frameworks and languages. REST, JSON & detailed documentation.
Tools mentioned in article
Open jobs at Algolia
AMER: Engineering Manager – Dashboard...
New York, New York
<p><span style="font-weight: 400;">Algolia is set to enable every company to create world-class Search and Discovery experiences with an API-first approach. Performance and Scalability is at the heart of our mission: we power 1.5 trillion searches a year, for 10K+ customers all over the world. We see Developer Experience as a key element of our offering: we maintain high-quality SDKs for a dozen languages and platforms. We value Grit, Trust, Candor, Care and Humility. If you're a problem solver, able to think outside the box and eager to nurture others and learn from them, then this is your challenge!</span></p> <p><span style="font-weight: 400;">In the Dashboard Platform team, we're on a mission to empower all developers at Algolia to ship frontend features to our customer-facing Dashboard, with an emphasis on offering a great and consistent customer experience, at scale. In practice, that means:</span></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">contributing to Satellite, our best-in-class Design System</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">working on features of the Algolia Dashboard itself, such as navigation, search &amp; overall micro-frontend architecture</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">building new backend services powering our frontend infrastructure platform, to enable quick &amp; autonomous deployment for all teams</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">building tooling, features &amp; guidelines that contribute to a great Developer Experience</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">collaborating with all developers to support the adoption &amp; usage of our tools</span></li> </ul> <p><span style="font-weight: 400;">We have ambitious goals ahead of us and in that context we are looking for an Engineering Manager to help grow the team.</span></p> <h2><span style="font-weight: 400;">Your role will consist of</span></h2> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Help the team plan, execute and ship releases respecting timelines and high-quality development, working closely with the product and leadership teams</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Coach and mentor engineers to excel at their work and grow</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Hire and onboard engineers to build a diverse and excellent team</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Lead by example, going hands-on when necessary</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Be a culture advocate within the company living by our core values</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Make sure the team is as productive as possible, removing roadblocks or processes along the way</span></li> </ul> <h2><span style="font-weight: 400;">You might be a fit if you have</span></h2> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Deep interest in people and mentoring</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">2+ years in a managing/leading role</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">A passion for frontend &amp; developer experience</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Exceptional written and verbal communication skills</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Autonomous without the need for daily direction from your manager</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Preference for candidates with experience at our current stage and beyond (500+ employees, over 10,000 customers, $50-200M ARR range, high growth, lots of change and building internal infrastructure). We are growing fast and we have a lot to improve on. We need seniors who've been there, done that.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Experience with a globally distributed team ( working across multiple time zones.</span></li> </ul> <h2><span style="font-weight: 400;">Typical day as a manager at Algolia</span></h2> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">As an engineering manager, you are able to adapt to every situation with the objective of having your team always productive. It’s up to you and your creativity to make the most out of your time and other’s time in an inconsistent environment.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">A typical day could consist of meeting with different stakeholders, being the communication bridge between them and your team members, saving them precious creative time.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">You will regularly meet with your reports, ensuring they always have a safe space to share concerns and keep them motivated. Everyone has different ways of communicating and needs to be mentored, you will adapt your agenda and personalize the meetings for each one of them individually.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">As a leader and expert on managing development teams, you will make sure different rituals are respected and you will contribute actively to them.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">As an experienced engineer, you will spend some time being an individual contributor while being an example for your most junior colleagues.</span></li> </ul> <div class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"> <p>#LI-Hybrid #LI-Remote</p> </div><div class="content-conclusion"><p>&nbsp;</p> <p>REMOTE STRATEGY:</p> <p><span style="font-weight: 400;">Algolia’s workplace strategy, </span><strong>Hybrid Remote</strong><span style="font-weight: 400;">, is designed to harness the power of the opportunities that remote work offers both employees and the company, while also providing an engaging in-office experience for the times when an employee is in an office. Our workplace approach reflects the belief that an employee’s impact, contribution, and output are more important than their physical location.</span></p> <p><span style="font-weight: 400;">The majority of employees will be able to choose if, and when, they come into an office on a regular basis. There will be times when our people are asked to come into an office for “moments that matter:” activities like critical planning meetings and team social gatherings.&nbsp; Beyond those events, 80% of our workforce may choose the location from where they work in the country in which they were hired.</span></p> <p><span style="font-weight: 400;">We have physical offices in San Francisco, NYC, Atlanta, Paris, London, Austin, and Bucharest. https://www.algolia.com/about/</span></p> <p>ABOUT US:</p> <p><span style="font-weight: 400;">Algolia prides itself on being a pioneer and market leader offering an AI-powered, API-First Search &amp; Discovery platform that empowers 12,000+ businesses to compose customer experiences at internet scale that predict what their users want with blazing fast search and web browse experience. Algolia powers more than 30 billion search requests a week – four times more than Microsoft Bing, Yahoo, Baidu, Yandex and DuckDuckGo combined.</span></p> <p><span style="font-weight: 400;">Algolia is part of a cadre of innovative new companies that are driving the next generation of software development, creating APIs that make developers’ lives easier; solutions that are better than building from scratch and better than having to tweak monolithic SaaS solutions.</span></p> <p><span style="font-weight: 400;">In 2021, the company closed $150 million in series D funding and quadrupled its post-money valuation of $2.25 billion. Being well capitalized enables Algolia to continue to invest in its market leading platform, to better serve its thousands of customers–including Under Armor, Petsmart, Stripe, Gymshark, and Walgreens, to name just a few.&nbsp;</span></p> <p>The team is headquartered in San Francisco with offices in Paris, London, New York, Austin, Atlanta, and <span style="font-weight: 400;">Bucharest</span>. To learn more, visit <a href="http://www.algolia.com." target="_blank">www.algolia.com.</a></p> <p>WHO WE'RE LOOKING FOR:</p> <p>We’re looking for talented, passionate people to build the world’s best search &amp; discovery technology. As an ownership-driven company, we seek team members who thrive within an environment based on autonomy and diversity. We're committed to building an inclusive and diverse workplace. We care about each other and the world around us, and embrace talented people regardless of their race, age, ancestry, religion, sex, gender identity, sexual orientation, marital status, color, veteran status, disability and socioeconomic background.</p> <p>READY TO APPLY?<br><br>If you share our values and our enthusiasm for building the world’s best search &amp; discovery technology, we’d love to review your application!</p></div>
AMER: Engineering Manager – Dashboard...
Atlanta, Georgia
<p><span style="font-weight: 400;">Algolia is a fast growing company that helps users deliver an intuitive search-as-you-type experience on their websites and mobile apps. We provide a search API used by thousands of customers in more than 100 countries. Today, Algolia powers 1.5 Trillion searches a year – that’s 4 times more than Bing, Yahoo, DuckDuckGo, Baidu and Yandex combined!</span></p> <p><span style="font-weight: 400;">The Billing &amp; Usage team aims to help Algolia grow as an agile business. To achieve that, we are building a powerful &amp; flexible platform empowering internal feature teams to release, track &amp; monetize new products while ensuring that customers understand their usage and control their billing.&nbsp;</span></p> <p><span style="font-weight: 400;">We have ambitious goals ahead of us, and in that context we are looking for a Senior Engineering Manager to build out a new US-based team and help us scale our Billing &amp; Usage Platforms, which are critical to our business. You will work on features ranging from data processing pipelines to flexible pricing APIs. We expect you to bring significant experience acquired from a similar role in a former job. Not only will you lead projects in complete autonomy, you will also be accountable for planning ahead, and thinking in terms of what’s best globally for the company rather than locally for your projects. This also means you are expected to ramp up on multiple projects, and orchestrate changes across projects and teams whenever necessary. As a Sr. Engineering Manager, you are also expected to be a technical leader, sharing your knowledge, helping engineers grow.</span></p> <p class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><strong>YOUR ROLE WILL CONSIST OF:</strong></p> <div class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"> <ul class="css-19zk6qp"> <li>Help the team plan, execute and ship releases respecting timelines and high-quality<br>development, working closely with the product and leadership teams</li> <li>Coach and mentor engineers to excel at their work and grow</li> <li>Hire and onboard engineers to build a diverse and excellent team</li> <li>Lead by example, coding alongside your team when necessary</li> <li>Be a culture advocate within the company living by our core values</li> <li>Continuously work on our Engineering Brand, producing content, attending events, leading some talks and being creative</li> <li>Implement process as needed like weekly syncs, team &amp; handbooks</li> </ul> </div> <p class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><strong><span class="fw-bold">YOU MIGHT BE A FIT IF YOU HAVE:</span></strong></p> <div class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"> <ul class="css-19zk6qp"> <li>Deep interest in people and mentoring</li> <li>At least 10 years of software development experience</li> <li>Successful team management or lead experience</li> <li>A passion for shipping quality code</li> <li>Excellent oral and written communication in English</li> <li>Experience with over-sea reporting lines (e.g. US West Coast) and working in<br>multiple time zones.</li> <li>Self sufficient without the need for daily direction from your manager</li> <li>Preference for candidates with experience at our current stage and beyond (over 10,000 customers, $50-200M ARR range, high growth, lots of change and building internal infrastructure).</li> </ul> </div> <p class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><strong><span class="fw-bold">TYPICAL DAY AS A MANAGER AT ALGOLIA:</span></strong></p> <ul> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><span class="fw-bold">As an engineering manager, you are able to adapt to every situation with the objective of having your team always productive. There is no typical day when being an engineering manager, it’s up to you and your creativity to make the most out of your time and other’s time in an inconsistent environment.</span></li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><span class="fw-bold">A typical day could consist of meeting with different stakeholders, being the communication bridge between them and your team members, saving them precious creative time.</span></li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><span class="fw-bold">You will regularly meet with your reports, ensuring they always have a safe space to share concerns and highlights with you. Everyone has different ways of communicating and needs to be mentored, you will adapt your agenda and personalize the meetings for each one of them individually.</span></li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><span class="fw-bold">As a leader and expert on managing development teams, you will make sure different rituals are respected and you will contribute actively to them.</span></li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><span class="fw-bold">As an experienced engineer, you will spend some time being an individual contributor while being an example for your most junior colleagues. You are not afraid to own the most complex tasks when the need comes.</span></li> </ul> <p class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><strong><span class="fw-bold">REQUIRED SKILLS:</span></strong></p> <div class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"> <ul class="css-19zk6qp"> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700">Expertise on complex Ruby on Rails applications.</li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700">Expertise in frontend/javascript development (React is prefered).</li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700">Expertise in web technologies in general.</li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700">Good knowledge of infrastructures behind web applications (Knowledge of K8S &amp;amp; AWS appreciated).</li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700">Good knowledge of development best practices (automated tests, TDD, “extreme programming”, “Clean Code” by Martin Fowler...).</li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700">Good knowledge of the typical development environment (bash, git...)</li> <li class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700">Good knowledge of Agile methodologies.</li> </ul> </div> <p class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><span class="fw-bold">WE’RE LOOKING FOR SOMEONE WHO CAN LIVE OUR VALUES:</span></p> <div class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"> <ul class="css-19zk6qp"> <li>GRIT&nbsp;- Problem-solving and perseverance capability in an ever-changing and growing environment.</li> <li>TRUST&nbsp;- Willingness to trust our co-workers and to take ownership.</li> <li>CANDOR&nbsp;- Ability to receive and give constructive feedback.</li> <li>CARE&nbsp;- Genuine care about other team members, our clients and the decisions we make in the company.</li> <li>HUMILITY&nbsp;- Aptitude for learning from others, putting ego aside.</li> </ul> <p>#LI-Hybrid #LI-Remote</p> </div><div class="content-conclusion"><p>&nbsp;</p> <p>REMOTE STRATEGY:</p> <p><span style="font-weight: 400;">Algolia’s workplace strategy, </span><strong>Hybrid Remote</strong><span style="font-weight: 400;">, is designed to harness the power of the opportunities that remote work offers both employees and the company, while also providing an engaging in-office experience for the times when an employee is in an office. Our workplace approach reflects the belief that an employee’s impact, contribution, and output are more important than their physical location.</span></p> <p><span style="font-weight: 400;">The majority of employees will be able to choose if, and when, they come into an office on a regular basis. There will be times when our people are asked to come into an office for “moments that matter:” activities like critical planning meetings and team social gatherings.&nbsp; Beyond those events, 80% of our workforce may choose the location from where they work in the country in which they were hired.</span></p> <p><span style="font-weight: 400;">We have physical offices in San Francisco, NYC, Atlanta, Paris, London, Austin, and Bucharest. https://www.algolia.com/about/</span></p> <p>ABOUT US:</p> <p><span style="font-weight: 400;">Algolia prides itself on being a pioneer and market leader offering an AI-powered, API-First Search &amp; Discovery platform that empowers 12,000+ businesses to compose customer experiences at internet scale that predict what their users want with blazing fast search and web browse experience. Algolia powers more than 30 billion search requests a week – four times more than Microsoft Bing, Yahoo, Baidu, Yandex and DuckDuckGo combined.</span></p> <p><span style="font-weight: 400;">Algolia is part of a cadre of innovative new companies that are driving the next generation of software development, creating APIs that make developers’ lives easier; solutions that are better than building from scratch and better than having to tweak monolithic SaaS solutions.</span></p> <p><span style="font-weight: 400;">In 2021, the company closed $150 million in series D funding and quadrupled its post-money valuation of $2.25 billion. Being well capitalized enables Algolia to continue to invest in its market leading platform, to better serve its thousands of customers–including Under Armor, Petsmart, Stripe, Gymshark, and Walgreens, to name just a few.&nbsp;</span></p> <p>The team is headquartered in San Francisco with offices in Paris, London, New York, Austin, Atlanta, and <span style="font-weight: 400;">Bucharest</span>. To learn more, visit <a href="http://www.algolia.com." target="_blank">www.algolia.com.</a></p> <p>WHO WE'RE LOOKING FOR:</p> <p>We’re looking for talented, passionate people to build the world’s best search &amp; discovery technology. As an ownership-driven company, we seek team members who thrive within an environment based on autonomy and diversity. We're committed to building an inclusive and diverse workplace. We care about each other and the world around us, and embrace talented people regardless of their race, age, ancestry, religion, sex, gender identity, sexual orientation, marital status, color, veteran status, disability and socioeconomic background.</p> <p>READY TO APPLY?<br><br>If you share our values and our enthusiasm for building the world’s best search &amp; discovery technology, we’d love to review your application!</p></div>
AMER: Frontend Engineer, Visibility Team
United States
<div class="section page-centered"> <h3><strong>About Algolia</strong></h3> <p><span style="font-weight: 400;">Algolia is a fast growing company that helps users deliver intuitive search and discovery experiences on their websites and mobile apps. We provide APIs used by thousands of customers in more than 100 countries. Today, Algolia powers 1.5 Trillion searches a year – that’s 4 times more than Bing, Yahoo, DuckDuckGo, Baidu and Yandex combined!</span></p> <div class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"> <p><strong>Description:&nbsp;</strong></p> <p><span style="font-weight: 400;">Algolia is looking for a software engineer to join the Visibility Squad and contribute to the front-end development and integrations of the Algolia website and other projects, such as our blog or our Search Grader. This is a unique opportunity for someone who wants to help us become more visible, develop its identity and go the extra mile when it comes to design. In addition to being on the cutting edge of a product and industry that is growing at a rapid rate, you’ll be working closely with Lucas, Lorris, Sven and Ronan and our brand design team to elevate the look and feel of Algolia’s websites — creating a mobile &amp; web experience that people love.</span></p> <p><span style="font-weight: 400;">We’re looking for someone who doesn’t just maintain, but raises the bar for how we think about design and front-end technologies. That’s why as a candidate you should value &amp; practice transparency, take ownership, have the humility to acknowledge your weaknesses and continuously strive to grow both professionally and personally.</span></p> <p><span style="font-weight: 400;">The team is composed of engineers with different backgrounds and experience both in the industry and academia. The diversity works in our favor and you should increase it by bringing your experience, your knowledge and your point of view. Thinking differently is a plus, not a minus! We’re transparent with each other and to other teams both about our success and our failures. Our technical stack is mainly composed of the following tools: React, TypeScript, Next.js, Utility-first CSS, Netlify/Vercel.</span></p> <p>&nbsp;</p> <p><strong>Responsibilities:</strong></p> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">Work closely with the design team to create beautiful and relatable web experiences</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Integrate responsive, performant and maintainable designs across all Algolia websites with accessibility in mind (design system, etc)</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">Own the full design of upcoming websites and projects</span></li> </ul> </div> <h3><strong>We’re looking for someone who can live our values:</strong></h3> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">GRIT - Problem-solving and perseverance capability in an ever-changing and growing environment.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">TRUST - Willingness to trust our co-workers and to take ownership.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">CANDOR - Ability to receive and give constructive feedback.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">CARE - Genuine care about other team members, our clients and the decisions we make in the company.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">HUMILITY - Aptitude for learning from others, putting ego aside.</span></li> </ul> <p>&nbsp;</p> <p><span style="font-weight: 400;">#LI-Hybrid #LI-Remote</span></p> </div><div class="content-conclusion"><p>&nbsp;</p> <p>REMOTE STRATEGY:</p> <p><span style="font-weight: 400;">Algolia’s workplace strategy, </span><strong>Hybrid Remote</strong><span style="font-weight: 400;">, is designed to harness the power of the opportunities that remote work offers both employees and the company, while also providing an engaging in-office experience for the times when an employee is in an office. Our workplace approach reflects the belief that an employee’s impact, contribution, and output are more important than their physical location.</span></p> <p><span style="font-weight: 400;">The majority of employees will be able to choose if, and when, they come into an office on a regular basis. There will be times when our people are asked to come into an office for “moments that matter:” activities like critical planning meetings and team social gatherings.&nbsp; Beyond those events, 80% of our workforce may choose the location from where they work in the country in which they were hired.</span></p> <p><span style="font-weight: 400;">We have physical offices in San Francisco, NYC, Atlanta, Paris, London, Austin, and Bucharest. https://www.algolia.com/about/</span></p> <p>ABOUT US:</p> <p><span style="font-weight: 400;">Algolia prides itself on being a pioneer and market leader offering an AI-powered, API-First Search &amp; Discovery platform that empowers 12,000+ businesses to compose customer experiences at internet scale that predict what their users want with blazing fast search and web browse experience. Algolia powers more than 30 billion search requests a week – four times more than Microsoft Bing, Yahoo, Baidu, Yandex and DuckDuckGo combined.</span></p> <p><span style="font-weight: 400;">Algolia is part of a cadre of innovative new companies that are driving the next generation of software development, creating APIs that make developers’ lives easier; solutions that are better than building from scratch and better than having to tweak monolithic SaaS solutions.</span></p> <p><span style="font-weight: 400;">In 2021, the company closed $150 million in series D funding and quadrupled its post-money valuation of $2.25 billion. Being well capitalized enables Algolia to continue to invest in its market leading platform, to better serve its thousands of customers–including Under Armor, Petsmart, Stripe, Gymshark, and Walgreens, to name just a few.&nbsp;</span></p> <p>The team is headquartered in San Francisco with offices in Paris, London, New York, Austin, Atlanta, and <span style="font-weight: 400;">Bucharest</span>. To learn more, visit <a href="http://www.algolia.com." target="_blank">www.algolia.com.</a></p> <p>WHO WE'RE LOOKING FOR:</p> <p>We’re looking for talented, passionate people to build the world’s best search &amp; discovery technology. As an ownership-driven company, we seek team members who thrive within an environment based on autonomy and diversity. We're committed to building an inclusive and diverse workplace. We care about each other and the world around us, and embrace talented people regardless of their race, age, ancestry, religion, sex, gender identity, sexual orientation, marital status, color, veteran status, disability and socioeconomic background.</p> <p>READY TO APPLY?<br><br>If you share our values and our enthusiasm for building the world’s best search &amp; discovery technology, we’d love to review your application!</p></div>
AMER: Principal Frontend Engineer, FX
New York, New York
<p>Algolia was built to help users deliver an intuitive search-as-you-type experience on their websites and mobile apps. We provide an API-first platform used by thousands of customers in more than 100 countries to power state-of-the-art Search and Discovery experiences on their website, mobile apps, no matter what tech stack they’re using.</p> <p>The Frontend Experiences (FX) team is responsible for inspiring and empowering Algolia users to build the best Algolia powered UI experiences for their needs. We imagine, create and decompose elaborated UI experiences into small blocks ready to be mixed and matched in our users’ apps. We maintain a set of UI libraries such as&nbsp;<em>Autocomplete</em>, which you may have come across while searching the Tailwind or React docs. We also maintain the InstantSearch library platform which unlock complex Search &amp; Discovery use cases.</p> <p>We don’t use a single framework, we use them all. Our libraries work on top of Angular, Vue.js, React but also plain JavaScript (“Vanilla JS”). We write specs for every feature we release. Our code is in TypeScript, fully open source and tested.</p> <p>We're looking for a <strong>Principal</strong><strong>&nbsp;Frontend Engineer </strong>to join the Frontend Experiences (FX) team at Algolia. As a member, you will have a direct impact on the look and feel of Algolia powered UIs. You’ll help customers re-imagine the future of how people search and discover information. You will play a pivotal role in architecting and implementing open-source libraries, which are the face of Algolia’s Developer Experience.</p> <p class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><span class="fw-bold">YOUR ROLE WILL CONSIST OF:</span></p> <div class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"> <ul> <li>Architect, design and develop new versions of InstantSearch libraries, as well as our Autocomplete library and Javascript API Client.</li> <li>Implement new features, solve issues and analyse user's feedback on our popular open-source projects</li> <li>Coordinate with our product, design and marketing teams on the release of new projects and websites</li> <li>Take ownership, research, explore and deliver novel experiences</li> <li>Teach us what we don't know and how you want to improve the search and discovery experiences</li> <li>Participate (new features, bug fixes) to other popular open-source projects related to our project needs</li> <li>Be a technical mentor and help the team grow</li> <li>Help define engineering best practices and processes</li> </ul> </div> <p class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"><span class="fw-bold">YOU MIGHT BE A FIT IF YOU HAVE:</span></p> <div class="uil-fw-normal uil-ff-hind uil-fsz-16 lg:uil-fsz-18 uil-lh-bigger uil-color-grey-700"> <ul> <li>Good knowledge of JavaScript, TypeScript, the Frontend web ecosystem: DOM, frameworks, library crafting, bundlers</li> <li>You have created at least one reusable module (private or public)</li> <li>You have an eye for great user experiences (UX)</li> <li>You like to help, teach and mentor your colleagues, in and outside the team.</li> <li>Preference for candidates with experience at our current stage and beyond (over 10,000 customers, $50-200M ARR range, high growth, lots of change and building internal infrastructure).</li> </ul> </div> <h3><strong>We’re looking for someone who can live our values:</strong></h3> <ul> <li style="font-weight: 400;"><span style="font-weight: 400;">GRIT - Problem-solving and perseverance capability in an ever-changing and growing environment.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">TRUST - Willingness to trust our co-workers and to take ownership.</span></li> <li style="font-weight: 400;"><span style="font-weight: 400;">CANDOR - Ability to receive and give constructive feedback.</span></li> <li>CARE&nbsp;- Genuine care about other team members, our clients and the decisions we make in the company.</li> <li>HUMILITY&nbsp;- Aptitude for learning from others, putting ego aside.</li> </ul> <p>&nbsp;</p> <p><span style="font-weight: 400;">#LI-Hybrid #LI-Remote</span></p><div class="content-conclusion"><p>&nbsp;</p> <p>REMOTE STRATEGY:</p> <p><span style="font-weight: 400;">Algolia’s workplace strategy, </span><strong>Hybrid Remote</strong><span style="font-weight: 400;">, is designed to harness the power of the opportunities that remote work offers both employees and the company, while also providing an engaging in-office experience for the times when an employee is in an office. Our workplace approach reflects the belief that an employee’s impact, contribution, and output are more important than their physical location.</span></p> <p><span style="font-weight: 400;">The majority of employees will be able to choose if, and when, they come into an office on a regular basis. There will be times when our people are asked to come into an office for “moments that matter:” activities like critical planning meetings and team social gatherings.&nbsp; Beyond those events, 80% of our workforce may choose the location from where they work in the country in which they were hired.</span></p> <p><span style="font-weight: 400;">We have physical offices in San Francisco, NYC, Atlanta, Paris, London, Austin, and Bucharest. https://www.algolia.com/about/</span></p> <p>ABOUT US:</p> <p><span style="font-weight: 400;">Algolia prides itself on being a pioneer and market leader offering an AI-powered, API-First Search &amp; Discovery platform that empowers 12,000+ businesses to compose customer experiences at internet scale that predict what their users want with blazing fast search and web browse experience. Algolia powers more than 30 billion search requests a week – four times more than Microsoft Bing, Yahoo, Baidu, Yandex and DuckDuckGo combined.</span></p> <p><span style="font-weight: 400;">Algolia is part of a cadre of innovative new companies that are driving the next generation of software development, creating APIs that make developers’ lives easier; solutions that are better than building from scratch and better than having to tweak monolithic SaaS solutions.</span></p> <p><span style="font-weight: 400;">In 2021, the company closed $150 million in series D funding and quadrupled its post-money valuation of $2.25 billion. Being well capitalized enables Algolia to continue to invest in its market leading platform, to better serve its thousands of customers–including Under Armor, Petsmart, Stripe, Gymshark, and Walgreens, to name just a few.&nbsp;</span></p> <p>The team is headquartered in San Francisco with offices in Paris, London, New York, Austin, Atlanta, and <span style="font-weight: 400;">Bucharest</span>. To learn more, visit <a href="http://www.algolia.com." target="_blank">www.algolia.com.</a></p> <p>WHO WE'RE LOOKING FOR:</p> <p>We’re looking for talented, passionate people to build the world’s best search &amp; discovery technology. As an ownership-driven company, we seek team members who thrive within an environment based on autonomy and diversity. We're committed to building an inclusive and diverse workplace. We care about each other and the world around us, and embrace talented people regardless of their race, age, ancestry, religion, sex, gender identity, sexual orientation, marital status, color, veteran status, disability and socioeconomic background.</p> <p>READY TO APPLY?<br><br>If you share our values and our enthusiasm for building the world’s best search &amp; discovery technology, we’d love to review your application!</p></div>
Verified by
Co-Founder & CEO
Software Engineer
Lead Software Engineer Front
Customer Solutions Engineer
Information Technology
Software Engineer
Frontend Developer
VP of Engineering
Marketing Specialist
Frontend Engineer
Software engineer
Front-end developer
Content & Education
Engineering Lead
Software Engineer
Director of Engineering
Software engineer
You may also like