Y Combinator Startup Podcast - How To Start A Dev Tools Company with Nicolas Dessaigne | Startup School

Episode Date: November 26, 2024

YC's Nicolas Dessaigne was the co-founder and CEO of @algolia, a Search API used by millions of developers to build great search experiences into their apps and websites. Today it powers over 1.75 tri...llion searches annually for 17,000+ customers worldwide. In this episode of Startup School, @dessaigne shares his advice for founders building a dev tools company from the ground up— covering everything from team and idea to GTM and sales.

Transcript
Discussion (0)
Starting point is 00:00:08 Hello, my name is Nicola Doseigne and I'm a group partner here at YC. Before that, I was the co-founder and CEO of Algolia. Algolia is a search API used by millions of developers to build a great search experience in their apps and websites. And it's relevant today because today we are going to speak about DevTools and how to start a DevTools company. So here's what we're going to cover. First, we'll discuss about the founding team and how to start. how to find your idea, then how to start the company from the prototype to the MVP. And finally, we'll dive into the go-to-market including sales and marketing for DevTools.
Starting point is 00:00:52 But first, what is a DevTool? So a DevTool is software that is used by developers to help them build products. And that includes a lot of aspects from coding, testing, debugging, documenting, deploying, Running, it's all of the gamut of aspects of their job. And it's a broad category then. You can think about IDE's like VSCode, API, like Stripe, Twilio, or Algolia, my company. Library and frameworks like React, NodeGS, or Longchain,
Starting point is 00:01:26 or even infrastructure or cloud services like AWS or Verso. And many other tools, Docker, Terraform, Datadog, GitHub. You get it. It's very diverse. And at YC, we've supported many of these DevTools, hundreds of them. And we already have two public companies, GitLab, the open source GitHub, and PagerDuty, that started as a simple alerting system and now is used by half the 14500 companies. And many users, you probably know about Stripe, Docker, Heroku, Supabase, Segment, Postog,
Starting point is 00:02:01 Apollo, Airbyte, and also Algolia, of course. And we've learned a lot from them. So let's dive in and start at the founding stage. Well, first you need a founding team. And the key aspect of DevTool is that you are going to build a technical product for developers. Obviously, you need to be a developers yourself. Most of our co-funding team for DevTools are all developer teams. And the great thing about DevTool is that developers are actually using DevTools
Starting point is 00:02:35 every day. So when you are building a DevTool, you are basically helping yourself in your action of building a product. So let's take a step back and chat quickly about what are good and bad DevTool ideas. And as a professor, let me start by telling you that with the advent of LLMs and AI in general, it's actually very difficult to know for sure today what's a good or bad idea. The bad ideas, the Tarpit ideas of yesterday could actually be possible to make successful now thanks to LLLN. Some ideas are actually more difficult than others. Developers every day are going to work on things they are actually not going to like, like documentation, QA, testing, and these become obvious ideas for them to fix for others.
Starting point is 00:03:19 The problem here is that they are not the only one to think about it, and that creates a lot of noise, and that's why there are so many of these on the market. Do you really want to build yet the next QA tool for other developers? Hmm. I don't know. Another way to look at it is the difference between build time and runtime ideas. So DoQQ testing, all of these ideas are build time ideas. Things, tools you are going to use when you are building the software. It happens that these ideas are mostly nice to have.
Starting point is 00:03:53 You could build your product without them. What's more interesting are runtime ideas. Why? Because at runtime it becomes really critical, it's must-have product. If you bet on an API, for example, you cannot run your own product if it's down. That's why it's more critical and it's a way better idea for DevTools. The other advantage of these runtime ideas is usage. Because the more your customers are going to grow, usually the more they are going to use your product. So your incentives are aligned.
Starting point is 00:04:29 Think about Stripe, for example. If their customers sell more product, they make a more product, they make a product. more product, they make more money, everyone is happy. Much better idea. Another quick category that they can touch upon is libraries and frameworks. These can be created, it's usually open source, but they can also be very challenging to monetize. Think about pandas, for example. Very difficult to make money out of that. The one way you can monetize these ideas is by offering your hosting service. Think about NextGES and Verso, for example. Okay, that's point I wanted to touch on this idea, which is the LLM and AI trend.
Starting point is 00:05:09 Actually with this change in the world there are many new Dev tools being created and it's awesome, it's so exciting to work on a Dev tool that's going to help these companies building in LLMs. But it's also a time where the market is very nascent. So an obvious great idea is LLM observability. Well it's obvious right, anyone building with LLM they want to know how they are doing they want to be able to evaluate them. Guess what? Many of the companies think the same thing.
Starting point is 00:05:38 And that's why you have dozens, if not hundreds, of such companies out there. It doesn't mean that it's a bad idea, but I think that if you are starting in that space, you need to have a clear idea of how you are going to differentiate yourself. Or are you going to win against all of these competitors? Okay, which leads me to a few mistakes people often do. The first one is waiting for the perfect idea. You are going to wait for a very long time. Let me go back to this LLM observability ideas.
Starting point is 00:06:09 I would actually inquire you if that's the idea you have. Just start. That's okay. Even if you don't differentiate yourself right away, that's okay. You learn as you go and eventually you'll be able to pull it off or you'll change your idea. Which leads me to my second mistake. Sticking with the wrong idea for too long. You may not realize, but 50% half the companies in OIC,
Starting point is 00:06:32 eventually pivot from their first idea. It's huge. And it's also true for DevTools. Finally, last mistake. Thinking you need a business founder in the team. I know that what I started when I created Algolia. We ended up creating Algolia with two tech co-founders, but it crossed our mind.
Starting point is 00:06:49 Hey, we don't know how to sell. We need to hire or to find some other co-founder who knows about sale. No, it's actually ways that you think to learn how to sell your product. Actually, we check the numbers. 74% of YC DevTool companies had only tech co-founders. And that's compared to 45% for all of the other companies.
Starting point is 00:07:14 Okay, so now that you have a team and an idea, where do you start? Well, there is only two things you have to do. Build and talk with users. There is no specific order. You can actually start by talking with users because they are going to help you figure out if your initial idea is good. initially is good. Or you can start by building a prototype so you can get easier feedback from users. Let's speak about that prototype. The most important thing here is not to over engineer it.
Starting point is 00:07:43 You should do that quick and dirty. And I know that it can be very difficult for some developers out there, especially for experience engineers who pride themselves on robustness and scalability of their code. the truth is that the most important thing at that stage is to iterate as fast as you can. Whole of thumb, I would assume that you'll throw away 90% of all the code you write. So your goal at that stage is just to identify the 10% of what you're building that's actually valuable as fast as possible. And then later on, you can refactor these 10% only and avoid wasting a lot of time. As you iterate, of course, you'll want to speak with users and get feedback. It's completely okay to show them a prototype. Please don't wait to
Starting point is 00:08:33 have a perfect product. Just show them a prototype and start gathering feedback as early as you can. And that will eventually lead you to an MVP, a minimal viable product. And this word the V is important, viable. You need to provide value to your customers. It's much better to be 10x better on a very tiny thing for someone who can cares about it. Working for a niche is completely okay. Once you have real customers who love your product, it will be very easy to expand from there. Let me give you the example of Algolia. Well today, Algolia is a very broad, large, like full-featured search engine, right? But when we started, to be honest, it was just a glorified auto-complete, very minimal. But that product was
Starting point is 00:09:22 so much better than whatever else was available at that time that some people cared enough about it. And when we started demonstrating it, we didn't have much to show. Actually, I still remember our first customer that first meeting when I did demo using a command line to indexed content. We didn't have any API client yet. We didn't have any admin UI yet, just a command line and then a very simple webpage to show the search. That was enough to close a $2,000 a month's contract. Okay, you have built something you can show users. So the next step is to talk with users. I know that many developers, many tech co-founders are actually introvert and they don't like speaking with users or with customers like they don't like
Starting point is 00:10:07 sales. Well, you may not realize, but as you are building a DevTool, you have a huge advantage. You know your audience. You are your audience. You are a developer yourself. You speak the language of your customers. You are uniquely qualified to understand them. So you'll see it actually will be way easier than you think. Please don't wait for the product to be ready. You want to learn ASAP right away if you are solving a real problem that people will be ready to pay for. But how do you find these users? Two things. Outreach and Lojiz. Let's speak about Outreach quickly. Death Tool co-founders often plan to have a bottom-up adoption model where individual developers are going to come inbound, try the product and convert. Or maybe become their champions,
Starting point is 00:10:56 at bigger companies. Well, I have some bad news for you. Nobody knows you yet. So to get there, first you need to get people to know about you and there is no other way to do that than out reaching and finding them yourself. But you need to be smart about it. Start with your network, your previous colleagues or classmates and then you expand from there. Friends of Friends, you can leverage LinkedIn you can find like specific holes over there but please please personalize your messages like don't copy what you can see out there sent by marketers actually your developers I'm sure you hate these messages so don't do the same just ask yourself would you be excited to open your message
Starting point is 00:11:43 then ask your co-founder ask other developer friends would they be excited to open your message and then read your email and then possibly act on it well Well, you simply iterate until they do. Now let's speak about launching. You can launch many times, and that's what you should do here to get more attention. The best place to launch for DevTools, I would argue, is Hacker News. Hacker News is a community of intellectually curious people. Many of them are developers.
Starting point is 00:12:16 And there is that section in HECONS called Show H-HN. It's the perfect place to launch and gather feedback on what you are building. Again, like when you were writing like kind of this outreach messages, please don't do marketing, don't try to sell your product. Just explain plainly and simply what's new and interesting in what you are building. That will be very engaging for the community and they'll share comments to you. Engage with these comments. Don't let them unanswered.
Starting point is 00:12:48 Try to engage with people asking questions. them are going to be haters and be rude. Well, you should engage with them too, but your goal is not to convince them, it's just to convince any other readers who are going to read how you reply to these haters. Just be classy here. One of the great example here is segment. They simply did an experiment by launching their next idea on Hacker News and it blew up. They got hundreds of votes and so many comments that they knew they were onto something and And that became their idea. Another example is Ollama.
Starting point is 00:13:23 Olamas helps companies run LLMs on their own machines. Well, it started as a comment on a comment on another post on Hacker News. And just from that, they got a few people interested. And then shortly after they launched their product, it completely took off on Hacker News. They got like, again, hundreds of HUBVotes, and they knew they were to do something. And they didn't stop there.
Starting point is 00:13:47 They launched again. And again, every few months, each time they had like new things to share, and that continued to fuel their growth, creating a lot of excitement in the community. Hacker news, best place to launch. A last thing I wanted to touch upon here in that section is you should do things that don't scale. So again, you're here to learn as fast as possible from your users, what they like or not about your product.
Starting point is 00:14:14 A great example of a team that did things that don't scale is to Stripe. Early on, the Stripe team were going to their customers, small startups, and they helped them implement their own product, sitting side by side in front of the computer, coding with them. That was not only a great way to make sure that users were going to be satisfied, were going to be actually excited about what they were building, but it was also a great way to gather invaluable feedback very early from their users. So it's completely okay to do things that don't scale if they lead to faster learnings. Okay. And here are a few mistakes to avoid. So remember, the goal is to go fast and iterate fast. So please don't choose a text tag because it's cool because you want to learn it.
Starting point is 00:15:03 No, you should took it because of your expertise with it so that you can iterate as fast as possible. Other mistakes we touch, not talking with users. Please get that feedback as fast as fast as possible. as you can, which also means avoiding overbuilding before getting that feedback. Maybe a small thing here. Be careful about that feedback. Be careful about not misunderstanding some of the developer feedback. For example, they may share, they may tell you,
Starting point is 00:15:32 or you should build your product. You don't care. You just want to know if they would use your product a lot and why. Or they could tell you, hey, you know what, I could build this in a week. I don't need it. Well, guess what? You just build it yourself in a week. in a week. You should not mind about that. Just move on and continue improving the product.
Starting point is 00:15:51 Last mistake some teams do is hiring too early. Very early on you don't even know if your product is providing value. Please don't hire anyone until you have convinced yourself you're working on the right idea. Let's now talk about go to market. And the first question you should ask yourself about go to market is your business model. More explicitly, should you be open source? Open source has become one of the main go-to-market for DevTools and it definitely works as a business model as many companies have proven like Databricks Elastic, CacheCorp, GitLab all awesome great companies. I would argue that you must be open source if you are working on things like a library or framework.
Starting point is 00:16:36 That's what's today expecting for the market developers wouldn't implement on top of a new framework that is not open source. You should also be open source if you are are dealing with data, especially sensitive data. A new database would need to be open source or an API connecting with sensitive data in a CRM or maybe an HR needs to be open source. You could be open source but probably don't have to be open source if you are working on other things like an API or maybe an application like a butt cracker. Maybe in that case it's not as important.
Starting point is 00:17:09 But still could be your differentiation. Open source has quite a lot of benefits. Your customers are developers. Well, as you know already, developers prefer working with open source tools. It's also going to help you create more awareness through the community. It can be also your differentiation,
Starting point is 00:17:28 like you could be the open source version of X, thinking about post hoc and amplitude, or Supa Bay and Firebase, or AirBite and Fytram. Great approach. Speaking of Airbyte, you could also receive contribution from the community. In the case of Airbyte, they got a lot of connectors contributed from the community. But I would be careful on that one. Most cases, you shouldn't count on them,
Starting point is 00:17:51 because the quality of the contribution may not be up to your standards, and then you have to deal with the contributors, and that could be actually more difficult than you think. But in most cases, I would say that you should not count on them. Good contributions are actually pretty rare. And last benefit, but not the least, is the trust. And it's actually very important for a large enterprises in the enterpriserium. Take the example of Medplum for example who is building a open source EHR. The fact that they are open source, I would argue, probably help them shorten their sales cycle with enterprises by a euro more. There is one thing you need to think about however when you are creating an open source
Starting point is 00:18:35 project. Maybe not at the start, but pretty soon. It's monetization. If you cannot monetize your product, you don't have a company at some point even if it's later in the life of the company you need to earn money there are many variants out there but it's good to look at the common approaches some of the common ones are hosting having a cloud offer so your customers may use your open source free self-hosted but they could also pay for you to host it so that they don't have to maintain it sometimes cloud version also have like some additional features like team management another one is being open core in that case usually have a special offer typically an enterprise offer that
Starting point is 00:19:20 have advanced features that are not in the open source version or maybe they are on a different license common features are typically the ones that are going to be necessary for enterprises like sso or logs disaster recovery sloas these kind of features and finally some open source companies charge for support and services but i would actually discourage you to follow this that monetization paths because your incentive becomes to build the most complex product possible so you can charge for support and services, which is a bad incentive. And if your product does need too much support, then people are going to turn and not renew their support contract. And what if you are not open source? Well, for these DevTools,
Starting point is 00:20:03 they are usually following one of two approaches. Either they are usage-based, like API's Algolia, Trio, Stripe, and so they charge based on the usage, their customers do, possibly they have a volume discount or enterprise-specific options that are on the side. And the second approach is having some specific plans, typically like a good, better, best approach. Good is going to be the self-serve option that's going to solve the problem of developers for a very low price. For the better options, usually are going to be interacting with engineering managers who are going to care about collaboration that's going to enable teams. still can be self-serve and the best option is higher up you are talking to the cTO it's all about security audit logs disaster recovery SLA and in that case it's
Starting point is 00:20:55 usually a sales lead approach let's speak about sales so as a quick reminder from what I was saying earlier don't fear outreach even if most deaf tools are going to end up being bottom up and rely on inbound really heavily no one knows you that first and so you need to start with outreach. That period of founder outreach is how you start. As you get more well known, that's when you get inbound, usually you are going to have at that point more self-serve leads. And then eventually you will end up hiring a sales team to sell to bigger icons enterprise. So should you hire a sales team? Well, I would argue that you should wait as long as you can. Start by selling yourself. Don't delegate
Starting point is 00:21:42 away. The truth is that you are the only person in the company today capable of selling your own product. If you as the founder cannot sell your product, nobody else can. As a rule of thumb, I would wait to get to about one million error before hiring your first salesperson. And even then, try to hire people who are technical, who at least understand developers, because developers hate speaking with salespeople. Actually remember our first salespeople at Algolia. They decided to change their title on LinkedIn, and instead of like being sales or I can't execs,
Starting point is 00:22:22 they call themselves product specialist. And the nice thing here is that they actually had to own that stages. They had to understand the product in Timely. So it was kind of like a great incentive for them to be better at product and a great way for them to open doors with developers who don't want to speak. with sales. Another example post hoc. Did you know the team the CTO is also their sales leader? Not a business leader. Their sales leader is also the CTO. He sees sales as an injuring
Starting point is 00:22:53 problem which is an awesome approach for a DevTool. If you want to learn more about sales, you should also watch Pete's talk about enterprise sales, another startup school video. So is it different to sell a DevTool from selling any other product? Yes it is. You should have built a sales deck developers like don't want to waste their time reading through a sales deck you should show not tell just to demonstrations I think that's the best sales approach you can do for DevTool at Algoia we didn't have a sales deck before we got to 10 million ARR so even our sales like proper account execs we're just showing demonstrations when they were selling and that was working so much
Starting point is 00:23:40 better for everyone. You should lean completely in the tech aspect of your product. For example, at Algolia, we sell a lot to e-commerce players. And what we realized is that when the buyer is not technical and wants a turnkey solution, we always, not always, but most of the time, we actually lose the deal. But when the buyer is technical, or if tech has a lot of influence in the decision, we win way more often. So we realized by leaving, leaning into that aspect of our product we are an API we are not like a turnkey solution well we ended up like finding our ICP and having better success selling okay and the last thing that is also true within DevTool is that most of them are bottom-up
Starting point is 00:24:25 what that means is that a lot of people are going to self-serve even within enterprises so instead of going top down just pitching your product directly sales should also check if if some of the enterprise employees are already using the product and they should then focus on helping management understand what the product is already doing for them and how much more it could help them if they were to pay for more like new seats or features or additional usage. Okay so the last topic I wanted to touch in this video is developer marketing. Your goal is to create a lot of awareness for your product because you want in that. The first thing you should do is find your community.
Starting point is 00:25:14 So it could be hacker news or some subreddit or some discords out there that is related to what you're working on. But be careful. Your goal is not to sell your product just yet here. Just be helpful. Just establish yourself as the expert. And of course people are going to start knowing you and trust your brand, your company. That will help you down the line. People will think about you. people will think about you when they have that problem. Launch often. That's very important we discussed about the example of Olamma before, but that should also be done for the life of your company. Some companies even do
Starting point is 00:25:52 launch weeks and have been very successful for that. It works great for open source, for example. Superbase is doing that once a quarter, bundling all their news in one week a quarter to make as much noise as they can. Other things you can do. Make your documentation a first-class citizen. Documentation is often an after-style for developers. They prefer coding than actually documenting their code. I would argue that documentation should never be an after-sout. It should be part of the product. Documentation is marketing. That's how people are going to interact with your
Starting point is 00:26:28 product. That's actually the first place. People are going after your home page and maybe a pricing page. Stripe and other DevTools have really raised expectations there. Developers have become very demanding. That's something you should invest in. At Algolia, we decided that the feature was not ever done until the doc was done and documentation should be written by developers. You know Algolia, even when we grew the team and at some point we created that documentation team, their whole was not to write the documentation for the developers. They were here to help developers write better documentations. For example, they built a tool
Starting point is 00:27:09 where it would automatically insert API keys for people who would be logged in so that when they copy past the code it would work right away out of the box which made the documentation ever more useful for our customers speaking of things that developers should do I would include support there you should make support a huge part of your marketing your users are developers right developers hate speaking to this level one support people who don't know anything about the product they are supporting. Engineers should do support and that's going to lead to two great things. One, your users are developers and when they interact with developers who speak their language are going to be way
Starting point is 00:27:53 more satisfied. Actually I have examples where someone would reach out to support and then the developers, like the person doing the support was able to actually fix the bug and deploy in production in like 20 minutes. And so that's kind of like blew the customer. away. They were so impressed, so excited about the product. And two, it's going to help your own developers much better understand your customers' needs, because they are going to face the pain as they are supporting them, and that's a great way for them to be the better product. Taking the example of Algodia again, we actually waited until hundreds of employees before we built a dedicated support team. And then we actually asked our best
Starting point is 00:28:37 engineering manager to build that team. Support was never a second-class citizen for us. So developers are doing documentation, developers are doing support, all of that is your marketing. Should you even hire a marketing team or when should you do that? Well, similarly to sales, I think founder should lead marketing for a long time, maybe forever, actually. To be honest, even at later stage, I don't know a single DevTool company that is happy with their CMO when they have a traditional marketing background. Why?
Starting point is 00:29:11 Because traditional marketers, they don't really understand the persona. They don't really understand developers. Only other developers do. And developers really hate being marketed at. Please don't insult their intelligence. You know that because you are developers, right? Well, early on, at Algoria,
Starting point is 00:29:29 we were actually asking every single engineer in the team to do what we called a marketing hack every single month, A hack could be writing a simple blog post, or could be speaking at a meetup, or could be building a new search. All our best marketing at Algoia was done by developers. I would encourage you as you build your marketing team to make sure that you have a lot of developers in your marketing team because they are the ones who know how to speak to your customers. You may ask, what about dev advocates?
Starting point is 00:30:03 Well, I love the idea because that means having developers in your marketing team. team. But it's also a very ill-defined role with often a lot of very fuzzy expectations. So it's difficult to measure, it's difficult to build accountability for. So my recommendation here would be to wait and first leverage your existing engineering team and ask them to do some form of marketing or dev advocacy. And probably at Ceresia or later it starts to make sense to hire dedicated dev advocates. Even then, think about hiring from within or from your community. For example, if your open source could be contributors or active or helpful Discord members.
Starting point is 00:30:47 These are the best dev advocates candidates to join you. So let's wrap up and recap what you said here. Start now. Please don't wait for the perfect idea because as you are going to build your product, even if it's not the perfect idea, you'll do the reps. You'll learn and that will lead you to the best idea. If you don't start, you'll never get anywhere. Build quickly.
Starting point is 00:31:11 Please, please don't over-engineer. You need to have that very fast iteration pace where you can learn from your users as you are building. Crappy, quick and dirty is completely okay early stage, and then you'll refactor what actually matters. Spend time with your users. Like, there is no way you're going to learn if you don't speak with your users. Learn from them.
Starting point is 00:31:33 Do things that don't scale. Go to their office. Spend time with them. with them. Launch early. You've seen many of our videos where we say there's no shame in launching early. People won't remember you if it doesn't work out, but you could get invaluable feedback that will lead you to work on the right product or build the right thing that people need. As you are building a Dev tool, you should consider open source as your go to market. Observe the market, observe other players, how they have
Starting point is 00:32:01 built their product and figure out if open source is the right thing for you. But don't dismiss think about it hard before making a choice. Don't forget, you are the best sales person for your product. No one else is going to know your product or your audience as well as you do. Learning to sell is way easier than learning how to speak with the developer. And finally, you are also the best marketing person for your product. You know the language of developers. You know how to speak with them.
Starting point is 00:32:32 You know where they're spending their time, the community. You know how to access. this audience. Okay, that's wrapped up for me today. Thanks for watching the video. And if you are building a dev tool, don't forget you can apply to YC anytime.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.