Meet Sylvain Utard, VP of Engineering at Algolia
Garry: This week, I'm here with Sylvain Utard, VP of Engineering of Algolia. Algolia is one of my favorite companies, because it is absolutely the best experience I've ever seen in terms of developer onboarding.
Sylvain: Algolia, we're doing search as a service. So at the core, it's a REST API. But what we do is really more than just providing an API. We are providing everyone with what they need, to build search inside their website or mobile application, of course.
Garry: Every developer centric startup that I have ever run across, I just tell them go look at algolia.com's documentation.
Algolia is a magic experience of realtime search
Garry: It's always a magic moment when someone sees it, for the first time.
Garry: And it's fully faceted so I can easily browse, and use the first thing you'll notice is how fast it actually is. This is actually real time search. So I can type iPhone I can even type the wrong thing. And out of box, all of these things just sort of work by default. And not only that, you can search by facet, and these facets actually continue to change as you enter other text.
Tech giants can employ hundreds of engineers for search— Algolia gives that power to all dev teams
Sylvain: And it's true that people expect fast search experience. When they are using Google, you start typing and already the result is out there. We wanted to make sure that everyone was able to implement this fast search experience on their website. The thing I keep saying is that we have a few apps that are really leading the way on what is a great search. But those are like Facebook, Amazon, Google, and those companies that are able to put like hundreds of developers behind search. We want to help any company out there to bridge that gap, and make sure that they are also able to build this search experience with a smaller team.
Garry's developer experience implementing search with and without Algolia: I can't live without it.
Garry: Oh, yeah. I mean, it's magical for me as a single developer. When I was working on the social network at Y Combinator, It was called cheekily enough Bookface. I felt like I could build basically world-class search, with just a few API calls. It was really magical for me. It was Rails and just drop in a few lines of code into my models and then magically on the front end, I could just call upon the full power of Algolia.
Like faceted search, and I can even do access control, which is actually one thing that is really hard to get right. I've always been really thankful for that.
At the startups that I worked at previously, I worked on full text search using Lucene, customizing it from scratch. There you have an insane problem, because out of the box, it doesn't work. You have to tweak 1000 settings. And then after you deploy it, you have a giant DevOps headache mainly around indexing and re indexing.
So when I tried you for the first time, it was magic.
How to design a homepage aimed at developers
Garry: So to start, I think it would be really cool to walk through the things that I think are amazing about Algolia's website and first time experience, especially the documentation.
Sylvain: At center of our homepage, we really wanted to make sure that everyone understood that search is just way more than the search bar. And it's really what will drive a ton of your business.
Garry: What's interesting is now the homepage has actually evolved from something that was entirely SaaS. But this is something that we see with SaaS Companies that now are very driven by enterprise sales.
Garry: Today, you see Request a Demo, but years ago, that homepage looked different.
Even if you sell by enterprise, showing value to developers immediately is still key
Sylvain: Yes. But the truth is, even if our customers today are definitely bigger than they used to be before, at the end of the day, they are stil, developers, and our audience is still really about developers. And we also want to make sure that as you scroll the website, and as you understand what Algolia is, you quickly get the grasp "Okay, how do we actually implement Search on my website on my app?"
Sylvain: And if you scroll just a little bit, you have something that's, very active and interactive around every runtime. We know that everyone has a different stack, everyone has or use a different language. We wanted to make sure that whatever your programming language whatever your stack, you have, this Algolia experience that was outstanding. For a long time search has been really backend topic. And so you were, dealing with your back end engineers, and you asking them to build search and, at the end of the day, search is probably the most front end feature ever. I've been working the search industry for the past 12 years, even if searches can be customized for every single app or website, at the end of the day, it's still search bar, search results, some refinements on the side. We definitely wanted to make sure that we package all this logic, So that everyone out there doesn't need to think about it anymore. The search problem is really both back end and front end.
The Developer Docs: Drive them to interactive tutorials right away
Sylvain: Yeah, and at the end of the day, you want to see as a developer what it takes to implement Algolia. And therefore we have been building this tutorial, that is interactive.
Step 1: Pick your dataset
Sylvain: First of all, first, we ask you to select you know your use case, because we definitely have a ton of customers that are Ecommerce but you can be a SaaS application, you can be a media application, you can be a travel application. At the end of the day, you need search. So let's say we are a SaaS company. We are, you know, dealing with those objects. They're probably stored in a database today, what we will ask our customers to do is let's start by sending us the data.
Step 2: Push data to Algolia using your favorite library
And again, let's say, I've been building this using Ruby, so my back end code will probably look like this.
Garry: And so this is really impressive, because the demo not only works for, a RESTful API. But you've actually done versions of it for a good number of the runtimes you support. We wanted to make sure that whatever the stack, you were able to figure out, okay, but in my stack in my language, what does it take? That will short circuit that decision making process, all the way to: "They support my language!" I need to use this.
Sylvain: I initialize my API client, I get, the data from somewhere, and I just push it to Algolia.
Step 3: Choose relevance and ranking
Sylvain: Once you run that, it's already searchable, and you can definitely play with the search from the with Algolia dashboard, but as you might have understood, we haven't been configuring the relevance yet. So Algolia, by default, will just search across all your attributes, which from time to time doesn't make a lot of sense. So of course, you want to go a step further and start, configuring how to search your data. And match in name is more important than matching our data. How do you figure out which object to shrink up first. And so if I'm searching for Garry, and there are two Garrys in the data set, I probably want to have the one that have the highest amount first, for instance, here. We wanted to make all--
Garry: This is so smart, by the way, this is actually matches the business case so well.
Sylvain: And it's very easy to understand. And this is really at the core of what we have been designing. First is we wanted to make sure that ranking and relevance was really easy to understand.
Garry: I really like that you can just easily click Run Code, and the results just come in right away. And you can see how the properties that you change in the configuration have a very direct result.
Sylvain: And before this object was coming first, because we didn't configure any relevance, and know this one is coming first because it actually has, this big amount of attributes.
Step 4: Backend configured, now let's build the UI
Sylvain: Now, you need to build UI.
Garry: This is the whole sandbox.
Done with the tutorial? Now a lesson in opinionated design
Garry: Boom, now it's time to sign up and use it. Create your account.
I love the simple command language that you have to have in any given flows is really straightforward. And this is even just a subtle design point that I think, most people should really pay attention to.
I learned this trick in design from one of my first design mentors, you can actually tell what the designer wants you to do, just off of contrast, and so this this test called the Squint Test. You can squint and whatever you can sort of make out the most it's usually is the highest contrast and largest thing. That's the thing that you should always be driving the user to.
It's an opinionated approach. But actually, every company and every product and service needs to use that. Without that users get lost. So now jumping back into the UI, being able to see the sample directly in the UI is just something so powerful as well.
I love that the docs that you've created have so many opportunities to see the power of the actual platform. And overall, when I work with a lot of startups that work with developers, that's almost the most important thing from their homepage and from their developer docs.
That in the first sort of minute or two of interacting with documentation. Can I see the power of it? I'm sort of testing out new kind of hammer, and after I see it and understand it. I want to feel powerful. That's the number one goal.
Sylvain: And this is why we really want to make our docs as interactive as possible. And so having do the live examples within the documentation, and again, you pick, the flavor that you prefer, the then, every single widget you can interact with, you can understand how they work, and you can actually jump on the actual documentation and better understand, this is the React component to the older props that you can use. And if you go for more live examples of more code examples.
How did Algolia create the developer experience? Docs are its own major product team.
Garry: I'm wondering (implementation detail), how much was your custom code? For someone looking at this, if they want to be able to do this— how much of this is homegrown, and how much of this is services that you've used or open source you've used?
Sylvain: Since day one, we wanted to make sure that we provide the best developer experience. And therefore we have been trying a bunch of different tools to build documentation. But none of these tools are reaching our expectation in terms of making it interactive. And so what we decided to do is having an actual engineering team behind this docs and having you know them, built a documentation website, like you would build an app. So it's really their own product. They have a roadmap and features. It's really considering the docs as another product.
Garry: That's a big investment. But for something that sells to developers, it sounds like it's table stakes these days. Sounds like you know, if you can't devote a team to it, then actually Middleman or Gatsby are pretty good options for the static content.
How Algolia supports 9 runtimes— spoiler: a ton of work! 15 of 100 engineers work on dev docs alone.
Sylvain: But then on top of that, there are the programming languages. And there what we have been building is really all languages. And this wasn't super easy.
Sylvain: At Algolia, we have 100 engineers, and 15 of them are working on those tools, on the docks, on the API clients on the instant search front end libraries. It's definitely a significant investment. But I think this is what was really required. For us to have the developer trust, and have them use our library and our API with ease.
Important thing to nail for dev-oriented products: Libraries must be idiomatic for that language
Garry: That was one thing that really stood out to me, having used at least a few of the different runtimes, you were able to hire people who wouldn't just make a Java version API for rails, you were able to find people who could make the idiomatic version. Just like, a true rubyist, or a true rails person,would write or use that.
Sylvain: And I will be honest, it wasn't the case at the very, very first day. And you know, I'm a Ruby guy, I have been building the Python version first. But if you're not the Python experts, in you're applying the same conventions and naming rules of Ruby in Python, you get it wrong. So indeed, what we have been doing over the past few years, is making sure that either we have the experts of this language of this tack, this framework to implement these libraries. Or we're actually partnering very closely with people that are able to help us figure out okay, what does it mean? In Java? Or in C Sharp.
The holy grail for any startup: Create something that is low bar (anyone can use) and high ceiling (so powerful there is never a reason to switch)
Garry: One of the things that's always a challenge for honestly, any startup is how do you get both low bar, which we've talked through— How do you get a low bar so that any developer, can hit the homepage, and understand what it is? And then feel powerful.
Sylvain: So one thing that I've been saying to the engineering team since day one is we want to target any kind of developer. So if you have outside of a bootcamp, or if you have been programming for the past 15 years, we need you to be able to implement Algolia. And so it's really about making it simple, without, you know, being a toy.
Garry: The examples that you show, actually call to mind, going to Stack Overflow and being able to see code samples, and being able to use them directly out of that. So being able to bring the bar all the way down to maybe not even the 20 million, but even there's sort of an even larger audience of people who are just learning.
Sylvain: And we're definitely speaking more and more about, builders rather than programmers because, honestly, even if you don't program at all, you can build a decent search interface by copy pasting all Doc's.
Garry: Yeah, it's amazing. Nearly no code.
Sylvain: What was tricky, however, is to make sure we find the right balance between copy pasting a snippet, and still making it customizable and extensible. And so this is where it start to be a little bit more tough for the engineers building these tools because, they need to keep in mind this whole spectrum of, Okay, I need it to be very easy to use,
Garry: Very low bar.
Sylvain: Have an advanced use case, or if you want it to be really fitting your design or whatever you have on your website on your app. You need to be able to do
Garry: Yeah. And that's sort of the matched pair to low bar, which is high ceiling, the Holy Grail for basically any product or services and incredibly low bar, and then a very, very high ceiling where customers can basically do whatever they need to do without ever having to go, rebuild it themselves.
How did Sylvain get into tech?
Garry: Dude, one of the things I really like to ask for people who are in very senior roles that really some of the best startups is, how did you get started in tech? Walk me through getting into computers and your path to here to be a VP of engineering.
Sylvain: And so I've been always, playing with web technologies, and having a few different websites, have been building games while I was still in school. But for my internship, my first internship I really wanted to go to a company with which was doing some hardcore tech. And so I was considering databases. I was considering the gaming industry, I was considering all of those sectors where you really need to focus on performance. And you know, turns out they joined a search company called Exalead— that was back in 2008. And at that time, I was part of a team building all the natural language processing pipeline. And I met a guy which is a current CTO and co-founder. A few years later, we
How Sylvain met the co-founders of Algolia
Garry: This is Julien
Sylvain: Yes, this was Julien. A few years later when Julien came back to me and was telling me that he was starting this company and they were building search as a service. I was like, Okay, this is definitely the opportunity of a life, I need to go down. So I knew already Julien, I knew already of CEO as well. Nicolas has always also be part of this company. And so in the past 12 years I've been doing search. It's an intense industry. No one today should really rebuild the search engine, is really like doesn't make sense. But these two guys were crazy enough to rebuild the technology that was totally different than what we have been using before, which was Lucene-based or Sphinx based.
Algolia was ambitious enough to replace Lucene and Sphinx, antiquated systems built for 1990's document search
Garry: Oh, yeah, I use both Lucene and Sphinx and, you know, so much downtime and so many configuration headaches.
Sylvain: Sure, you know, those technologies have been built back in the 80s and the 90s. So the focus was different and what relevancy was meaning was different. They were designed to search, PDFs and tags and academics. Today, we have been designing Algolia to search objects. It could be a user profile, can be a new commerce product. And those object have a structure. They have attributes, they have ranking information. All of that we want to bake in ranking formula to make search really...
Garry: That's the crazy thing that I was thinking about the other day is that Algolia is a little bit like a domain specific language only support how many languages? Nine languages?
Sylvain: Yes. So it's actually a DSL, it's a DSL that makes people super powerful. And it works with nine languages, not just that's not, you know, not just one.
Sylvain's advice for future Vice Presidents of Engineering
Garry: That also sounds like really great advice for people who are starting out in their careers. I get questions all the time from people who are, one year out of school or out of a boot camp, and they always wonder how do I get ahead in tech companies and that sounds like one very direct way which is become excellent at something that you're really really interested in, and opportunities will really come to you.
Sylvain: And be passionate about it. I think this has been, driving my whole career is I really like doing what I do. I started building the search engine. I'm the leading and engineering team. I'm not coding that much anymore. But just being able to lead the team that is behind this, is really fulfilling.
Algolia is hiring
Garry: So Algolia is hiring!
Sylvain: Of course, like all startups we are hiring. The engineering and product team are mostly based on Paris, in France, where we all started. But we have an office in San Francisco. We have a few other offices in London, Atlanta, New York, and more recently, Tokyo.
Garry: Are you guys partially remote or is it almost entirely remote dev team?
Sylvain: So we started by having almost no one remote, but you know, in the past few years, I think we all understood that you cannot do result. And therefore we have more and more remote opportunities. What is key however, is that we wouldn't split the project across too many time zones.
Garry: That makes sense. So try to keep it by timezone. You're hiring both remote and on-site roles. Check out algolia.com/jobs. Sylvain, thank you so much for spending time with me. This is really awesome.
Thanks for reading this transcript. To get more, watch and subscribe on Garry's YouTube channel—
Follow Sylvain Utard at https://twitter.com/sylvainutard
Algolia is hiring https://www.algolia.com/careers/