Y Combinator Startup Podcast - How To Start A Dev Tools Company with Nicolas Dessaigne | Startup School
Episode Date: November 26, 2024YC'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)
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.
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,
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,
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
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.
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.
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.
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.
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.
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.
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,
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.
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.
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.
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
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
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
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,
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
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.
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.
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.
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.
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.
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.
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,
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.
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.
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.
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,
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,
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
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
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,
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
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
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,
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
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
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
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.
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
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
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
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
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
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?
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,
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?
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.
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.
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.
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
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.
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.
