We're sunsetting PodQuest on 2025-07-28. Thank you for your support!
Export Podcast Subscriptions
cover of episode How To Start A Dev Tools Company with Nicolas Dessaigne | Startup School

How To Start A Dev Tools Company with Nicolas Dessaigne | Startup School

2024/11/26
logo of podcast Y Combinator Startup Podcast

Y Combinator Startup Podcast

AI Deep Dive AI Chapters Transcript
People
N
Nicole Dessaigne
Topics
Nicole Dessaigne分享了关于如何从零开始创建开发者工具公司的建议,涵盖了从团队和想法到市场营销和销售的方方面面。她强调了组建由开发者组成的团队的重要性,因为他们每天都在使用这些工具,能够更好地理解用户需求。在选择产品方向时,她建议关注那些对产品运行至关重要的工具("运行时间"想法),而不是那些只是辅助开发过程的工具("构建时间"想法)。她还强调了尽早与用户沟通、快速迭代的重要性,以及在产品达到一定成熟度之前避免过早招聘员工。在市场营销方面,她建议利用开源模式,并强调了文档和技术支持的重要性。她还建议创始人应该长期负责销售和营销工作,因为他们最了解产品和用户。

Deep Dive

Chapters
Introduction to what a dev tool is and its importance in the software development process, featuring examples of successful dev tools like GitHub and PagerDuty.
  • Dev tools encompass a wide range of software used by developers for coding, testing, deploying, and more.
  • Successful dev tools like GitHub and PagerDuty have become integral to the tech industry.
  • Y Combinator has supported many dev tools and has seen two public companies emerge from this space.

Shownotes Transcript

您好,我叫尼古拉斯·德塞涅,是Y Combinator的合伙人。在此之前,我是Algolia的创始人兼首席执行官。Algolia是一个搜索API,数百万开发者使用它来为他们的应用程序和网站构建出色的搜索体验。

今天我们来谈谈开发者工具以及如何创办一家开发者工具公司。以下是我们将要讨论的内容:首先,我们将讨论资金、团队以及如何找到你的创意。

然后是如何从原型到最小可行产品(MVP)启动公司,最后我们将深入探讨市场营销,包括销售、市场营销和开发者工具的业务拓展。但首先,什么是开发者工具?开发者工具是开发者用来帮助他们工作的软件,这包括编码、测试、调试、文档编写、部署和运行等许多方面。

所有这些都是这项工作的组成部分,属于一个广泛的类别。你可以想到的例子包括IDE,如VS Code;API,如Stripe或Algolia(我的公司);库和框架,如React、Node.js或Logstash;甚至是基础设施或云服务,如AWS或Google Cloud。开发者工具种类繁多,我们已经支持了数百种此类工具,其中已有两家成为上市公司。

GitHub(开源平台)和PagerDuty(最初是一个简单的警报系统,现在被14500多家公司和许多用户使用),你可能还听说过Stripe、Docker、Sentry、PostgreSQL、Apple AirPort等等,当然还有很多其他的,我们从他们身上学到了很多。那么让我们开始讨论,从融资阶段开始。首先,你需要资金和团队,而开发者工具的关键在于你将为开发者构建一个技术产品。

很明显,你必须自己也是一名开发者。大多数开发者工具的创始团队都是开发者团队。开发者工具的妙处在于,开发者每天都在使用开发者工具。

因此,当你构建你的开发者工具时,你实际上是在帮助你自己完成产品构建工作。让我们退一步,快速聊聊好创意和坏创意。作为一名专家,我先告诉你,随着机器学习和人工智能的出现,现在很难确定什么是好创意,什么是坏创意。

昨天的坏创意今天可能就能成功。现在,由于机器学习,一些创意变得越来越难实现。人们会去做他们实际上不喜欢的事情,比如编写文档、质量保证和测试。这些对他们来说就成了需要解决的痛点。问题是,他们并非唯一有此想法的人。

这就导致了很多重复,这就是为什么市场上会有这么多同类产品。你真的想构建下一个身份验证工具吗?我不知道。另一种看待这个问题的方法是区分构建时间创意和运行时间创意。

质量保证、测试,所有这些都是构建时间创意,也就是你在构建软件时使用的工具。问题是这些创意大多是锦上添花。你可以在没有它们的情况下构建你的产品。更有趣的是运行时间创意。

为什么?因为在运行时,它们变得至关重要。它们是大多数产品的核心。例如,如果你依赖一个API,你就无法运行你的产品。如果它宕机了,那就麻烦大了。这就是为什么运行时间创意比构建时间创意更好。

运行时间创意的用户优势在于使用率,因为你的客户使用得越多,他们通常就越依赖你的产品。想想Stripe,例如,如果客户销售更多产品,他们就能赚更多钱,大家都开心。这是一个更好的创意。

还有一个快速提到的类别是库和框架。这些通常是开源的,但它们也可能很难盈利。以Pandas为例,它非常受欢迎。如何从中赚钱呢?

一种方法是提供托管服务。想想Netlify和Vercel。

好的,我想谈到的最后一个创意是机器学习和人工智能的趋势。实际上,随着世界格局的变化,正在涌现许多新的开发者工具。

这对于开发能够帮助这些公司利用机器学习的公司来说非常令人兴奋,但这也意味着市场竞争非常激烈。一个好创意是可观察性。

任何使用机器学习的人,他们都想了解自己的进展。他们希望能够评估它。猜猜怎么着?许多公司都这么想。这就是为什么会有几十家,如果不是数百家这样的公司存在。这并不意味着这是一个坏主意。

但我认为,如果你要进入这个领域,你需要清楚地了解你将如何与所有这些竞争对手区分开来,或者你将如何战胜它们。好的?这让我想到了一些人们常犯的错误。

第一个错误是等待完美的创意。你会等很久的。让我回到可观察性创意。

我实际上想说的是,可观察性创意就是这样。没关系,即使你一开始没有完全想清楚,你也可以边做边学,最终你会改进它,或者你会改变你的创意。这让我想到第二个错误,那就是坚持错误的创意太久。你可能没有意识到,但在Y Combinator中,有50%的公司最终放弃了他们的第一个创意。这是一个很大的比例,对于开发者工具来说也是如此。最后,最后一个错误是认为你的团队需要一个商业创始人。

我知道我曾经也这么想过,我们需要有人来处理订单,因为我们不知道如何销售。我们需要雇佣一个经验丰富的创始人,他了解销售。不,实际上比你想象的更容易学习如何销售你的产品。

事实上,我们查看数据后发现,74%的Y Combinator公司只有技术创始人,而所有公司的比例为45%。好的。现在你有了团队和创意,你从哪里开始呢?只有两件事:构建和与用户交谈。

没有特定的顺序。你可以先与用户交谈,因为这将帮助你弄清楚你的创意是否有效。你也可以先构建一个原型,然后获得反馈。

让我们谈谈原型。这里最重要的事情是不要过度设计。你应该快速而粗糙地完成它。我知道这对一些开发者来说可能很难,尤其是那些以代码质量为傲的资深工程师,但在这个阶段最重要的事情是迭代速度要快。我估计你应该扔掉90%的代码。

对吧?所以在这个阶段你的目标是尽快找出你正在构建的10%真正有价值的部分。然后,你就可以只完善这10%,避免浪费大量时间。

当然,你想与用户交谈并获得反馈。向他们展示原型完全没问题。请不要等到产品完美无缺才展示,尽早向他们展示原型并收集反馈。这最终将引导你走向MVP,最小可行产品。而这里“可行”非常重要,你需要为你的客户提供价值。

在一个非常粗糙的产品上取得10倍的成功,比在一个几乎完成但没有人关心的产品上取得1倍的成功要好得多。一旦你拥有大量喜欢你产品的客户,扩展起来就会容易得多。让我以Algolia为例。

今天Algolia是一个非常广泛、庞大、功能齐全的搜索引擎,对吧?但当我们刚开始的时候,它只是一个高级自动完成功能,非常简陋。但这个产品比当时其他任何产品都要好得多,以至于有些人非常重视它。

当我们开始演示它时,我们甚至没有数据库。我还记得我们的第一个客户,第一次会议时我用命令行来索引内容进行演示,我们还没有API密钥。

我们没有任何UI,只是一个命令行。然后是一个非常简单的网页来执行搜索,这就足以签署一份20万美元的合同。好的?你已经构建了一些可以向用户展示的东西。

所以下一步是与用户交谈。我知道许多开发者,包括我自己,都不太喜欢与用户或客户交谈,也不喜欢销售。

你可能会意识到,作为开发者工具公司,你有一个巨大的优势。你了解你的受众,你就是你的用户,你也是开发者。你使用你的客户的语言。

你有独特的资格来理解他们。所以你看,这实际上比你想象的要容易得多。请不要等到产品准备好了才开始。

如果你正在解决一个新问题,并且人们愿意为此付费,那么你应该立即开始学习客户获取。但是你如何找到这些用户呢?两种方法:主动出击和被动等待。

让我们快速谈谈主动出击。许多创始人计划采用自下而上的采用模式,即单个开发者会下载并使用该产品,然后成为拥护者,并将其推广到更大的公司。

好吧,我有一些坏消息要告诉你。目前还没有人认识你。所以,首先你需要让人们了解你。

除了主动出击并自己寻找他们之外,还有另一种方法。但你需要聪明地去做。从你的网络开始,你的朋友、同事、同学,然后从那里扩展。

有朋友的朋友。你可以使用领英。你可以找到特定领域的开发者,但请个性化你的信息,不要发送千篇一律的营销邮件。作为开发者,我相信你讨厌这些邮件,所以不要这样做。

问问你自己,你会不会兴奋地打开你的邮件?问问你的创始人,问问你的朋友,他们是否会兴奋地打开你的邮件?然后,你的邮件是否会促使他们采取行动?好吧,你只需要不断尝试直到他们采取行动。现在让我们谈谈发布。

你可以多次发布,而且你应该这样做,以获得更多关注。我认为发布开发者工具的最佳场所是Hacker News。

Hacker News是一个充满聪明、好奇的人的社区。他们中的许多人是开发者。而且,这个社区可以展示你的产品。

这是发布和获得你正在构建的产品反馈的完美场所。再次强调,就像你写那些主动出击的邮件一样,请不要做营销,不要试图销售你的产品,只需解释你的计划,以及你正在构建的内容中有什么新奇有趣之处,这将非常吸引社区,他们会分享他们的评论,与这些评论互动,不要忽视它们,并回答问题。有些人会是批评者,甚至会很粗鲁。好吧,你应该也与他们互动。

但目的不是说服他们,而是像对待其他任何领导者一样对待他们,你会了解到多年来他们是如何思考的。在这里要保持冷静。一个很好的例子是Segment,他们通过在Hacker News上发布他们的下一个创意来进行实验,他们获得了数百条回复和许多评论,他们知道自己找到了方向。

这成为了他们的创意。另一个例子是Ola,它帮助公司在自己的机器上运行机器学习模型。它最初只是一个在Hacker News帖子上的评论。

仅仅从那里,他们就吸引了一些人的兴趣,甚至在不久之后发布了他们的产品,它在Hacker News上引起了轰动。他们获得了数百条回复,然后他们做了更多,他们每隔几个月就发布一次,每次都分享一些新东西,这持续推动了他们的增长,并在社区中创造了很大的兴奋。

Hacker News是一个很好的场所。但我想在这里强调一点,你应该做一些不可扩展的事情。你在这里是为了从你的用户那里学习,了解他们喜欢或不喜欢你的产品的哪些方面。

一个做了不可扩展但非常有效的事情的团队的例子是Stripe。在早期,Stripe团队会拜访他们的客户,一些小型创业公司,并帮助他们现场实施自己的产品,坐在电脑前一起编码。这不仅是确保用户满意甚至兴奋的好方法,而且我认为这也是一种收集宝贵早期用户反馈的好方法。

所以,如果这些事情能让你更快地学习,那么做一些不可扩展的事情完全没问题。好的。这里有一些要避免的错误。

记住,目标是快速迭代并快速成长。所以请不要选择一项技术仅仅因为它很酷,或者因为你想尝试它。不,你应该选择它是因为你的专业知识,并且你可以尽可能快地迭代。

我们犯的所有错误都是因为我们没有与用户沟通。请尽快获得反馈。这也意味着避免在获得反馈之前过度构建,这可能是一件小事。

要谨慎对待这些反馈。要小心,别自作聪明。因此,理解一些开发者的反馈,例如,他们可能会分享,可能会告诉你,你不应该理会他们的负面评价,你并不关心。

你只想了解他们是否会大量使用你的产品以及原因,或者他们可能会告诉你,“你知道吗,我可以在一周内构建这个。我不需要它。”那么,猜猜怎么了?你只需在一周内自己构建它。

你不应该为此烦恼。你只需继续前进并获得新的输入。产品方面,一些团队犯的最后一个错误是在非常早期就过早招聘。

你甚至不知道你的产品是否提供了价值。在你确信自己正在致力于正确的想法之前,请不要雇用任何人。现在让我们谈谈市场营销。

你应该问自己的关于市场营销的第一个问题是你的商业模式。基本上,你应该是开源的。开源已成为四大开发工具的主要市场之一。

不同的关键在于商业模式,许多公司都像Dataworks、Elastic、Cloudflare或AWS一样,都是伟大的公司。我认为,如果你正在从事像库或框架这样的工作,这就是今天的预期市场需求。我们不会在非开源的新框架之上进行构建。

如果你正在处理像敏感数据这样的数据,那么一个新的数据库就需要是开源的。处理敏感数据的任何应用程序或服务都需要是开源的。

你可以选择开源,但如果你正在从事API或类似于数据库管理器的应用程序方面的工作,则可能不必开源。在这种情况下,它可能没那么重要,但仍然可以作为你的默认选择,开源有很多好处,你的客户是开发者。众所周知,开发者更喜欢使用开源工具。

它还可以帮助你通过IT提高知名度,它也可以作为你的差异化因素,你可以将开源版本视为一种极好的方法。说到这一点,你还可以从社区获得贡献,但我会谨慎对待这一点。在大多数情况下,你不能依赖它们,因为贡献的质量可能达不到你的标准,然后你必须处理这些贡献者。

这实际上可能比你想象的更困难。但在大多数情况下,我会说你不应该依赖它们。好的贡献实际上很少见,最后一个好处,但并非最不重要的是信任。

这对大型企业来说非常重要。以GitLab为例,它构建了一个关于HR的应用程序。我认为,它们是开源的这一事实帮助它们缩短了与企业的销售周期一年以上。

有一件事你需要考虑,无论何时你创建一个开源项目,可能不是一开始,但很快就会涉及到货币化。如果你不能将你的产品货币化,那么在某个时刻你就没有公司了。即使是在公司生命周期的后期,你也需要赚钱。

有很多方法,但最好看看常见的方法。一些常见的方法包括托管,添加云服务,以便你的客户可以使用你的开源软件,但他们也可以付费让你托管它,这样他们就不必维护它。有时云版本还有一些额外的功能,例如团队管理,而那些开源调用通常会有一个高级付费版本,提供不在普通版本中的高级功能。

常见的附加功能通常是企业需要的功能,例如SLA、日志记录、灾难恢复、SLS等。最后,一些开源公司会收取支持和服务费用。但我实际上不建议你走这条路,因为你的动机变成了构建尽可能复杂的产品。

这样你就可以收取支持服务费用,这是一个糟糕的动机。如果你的产品需要太多支持,那么人们就会转向其他产品。

如果你不提供支持呢?对于这些开发工具,通常遵循两种方法之一。它们是基于用量的,例如,你使用Stripe。因此,他们根据客户的使用情况收费。他们有批量折扣或企业固定价格选项。

另一种方法是提供一些特定的计划,通常像好、更好、最好一样。好将是免费选项,它将以低廉的价格解决开发者的痛点。更好的选项通常会与团队管理集成,并且会关注能够让团队自助服务的功能。最好的选项价格更高,你会与公司进行沟通。

这都是关于安全、SLA和灾难恢复。在这种情况下,这通常是一种按需付费的方法。让我们谈谈销售。作为我之前所说内容的快速提醒,不要害怕外出销售,即使大多数开发工具最终都是自下而上的,并且依赖于入站销售,一开始没有人认识你。

因此,你需要从没有销售团队开始,创始人的早期阶段就是你如何开始的。当你变得更知名时,你通常会获得更多入站销售线索。然后,最终你会雇用你的销售团队来向更大的企业客户销售。那么你应该拥有自己的销售团队吗?

我认为你应该尽可能晚地雇用销售团队,从自己销售开始。不要将销售工作委托出去,因为你是公司中唯一能够销售自己产品的人。如果作为创始人的你都不能销售你的产品,那么其他人也无法做到。

总而言之,我会等到达到约100万美元的ARR后再雇用你的第一个销售人员,即使在那时也要谨慎地雇用你的员工。聘用技术人员,至少要了解开发者,因为开发者不喜欢与销售人员交谈,实际上,我们的第一个销售人员需要更改他们的头衔。他们不称自己为销售人员,而是称自己为产品专家。

这里的好处是,他们实际上必须拥有这种地位,才能及时了解产品。因此,这对于他们更好地了解产品来说是一种激励,也是他们与那些不想与销售人员交谈的开发者打开大门的好方法。例如,PostHog。

你知道PostHog团队的销售负责人也是他们的CTO吗?他将销售视为一个工程问题,这对于他们的工具来说是一种非常有效的方法。

如果你想了解更多关于销售的信息,你还可以观看Pete关于企业销售的Startup School视频。销售开发工具与销售其他产品有什么不同?是的,有区别。你不应该制作销售演示文稿。开发者不想浪费时间阅读销售演示文稿,你应该展示,而不是讲述,只需进行演示。

我认为Algolia能做的最好的销售方法就是我们没有销售演示文稿,直到我们达到1000万美元的ARR。即使是我们自己的正式客户经理,我们也只是展示演示文稿,他们正在销售,这对每个人来说都更有效。

你应该完全关注产品的技术方面。例如,我们对很多电子商务公司进行了销售。我们意识到,当买家不是技术人员并且想要一个完整的解决方案时,我们总是,并非总是,但大多数情况下都会输掉交易。

但是当买家是技术人员或在决策中具有很大影响力时,我们获胜的次数更多。因此,我们意识到,通过关注产品的技术方面,我们不会成为一个完整的解决方案。

当我们找到我们的ICP并取得销售成功时,情况就是这样。好的。最后一点也是开发工具中非常重要的一点,那就是它们大多是自下而上的。这意味着很多人即使在企业内部也会自助服务。

因此,与其自上而下地直接推销你的产品,不如检查一些企业员工是否已经在使用该产品,然后专注于帮助管理层了解该产品已经为他们做了什么,以及如果他们付费购买更多功能或活跃使用,它还能为他们做些什么。好的。

因此,我想在这个视频中讨论的最后一个主题是开发者营销。你的目标是为你的产品创造大量的知名度,因为你想要入站销售。你应该做的第一件事是找到你的社区,这可能是Stack Overflow或其他一些与你正在从事的工作相关的在线社区。

但要小心,你的目标还不是在这里销售你的产品。只需提供帮助。将自己定位为专家。

当然,人们会开始了解你并信任你的品牌和公司,这将帮助你在未来。当人们遇到问题时,他们会想到你。这非常重要。

我们之前讨论过启动活动,但这应该贯穿你公司的整个生命周期。一些公司甚至会举办为期一周的启动活动,这非常成功。这对开源项目非常有效。

例如,Superbase每个季度都会这样做,在一个季度中的一周内全力以赴地制造尽可能多的噪音。我说的是你可以做的一切,让你的文档成为一等公民,文档通常被开发人员忽视。

我建议你永远不要让文档成为产品营销的一部分。这就是人们将如何与你的产品互动。实际上,这是人们在你的主页和定价页面之后访问的第一个地方,并且你的开发工具也确实提高了人们的期望。

人们已经变得非常挑剔,这是你应该投资的东西。在Algolia,我们决定,只有当文档完成时,功能才算完成,并且文档应该由开发人员编写。好的。即使在我们选择团队时,我们也创建了一个文档团队,他们不是为了为开发人员编写文档,而是为了帮助开发人员编写更好的文档。

例如,他们构建了一个工具,该工具会自动为登录的用户插入API密钥,以便当他们复制时,它会立即生效,这使得文档对我们的客户更有用。说到开发工具应该做的事情,你应该如何包含文档?你应该将支持作为营销的重要组成部分。

你的用户是开发者。开发者讨厌与那些对他们支持的产品一无所知的支持人员交谈,工程师应该提供支持。

这将带来两件好事。第一,你的用户是开发者。当他们与开发者互动时,他们会说同样的语言,并且会更满意。

实际上,我有一些例子,有人联系了支持。然后,开发者,也就是提供支持的人,能够在20分钟内修复生产中的错误。这使得客户非常惊讶,他们对该产品感到非常兴奋。

其次,这将帮助你的工程师更好地了解客户的需求,因为他们在提供支持时会面临同样的痛点。这对于他们变得更好来说是一个好方法。再以Algolia为例。

在我们建立一个专门的支持团队之前,我们实际上等待了数百个支持请求,然后我们实际上让一位优秀的工程经理来组建这个团队。支持对我们来说从来都不是二等公民。因此,工程师们正在编写文档。

工程师们正在提供支持。所有这些都是你的营销。你是否应该雇用营销团队?或者你应该什么时候这样做?与销售类似,我认为创始人应该长期领导营销工作,实际上可能是永远,即使是在后期阶段。

我不认识任何一家对拥有传统营销背景的营销团队感到满意的开发工具公司。为什么?因为传统的营销人员并不完全理解技术细节,请不要冒犯他们,因为你是对的。在Algolia,我们实际上要求团队中的每一位工程师每月进行一次我们所谓的“营销黑客马拉松”。黑客马拉松可能是撰写一篇简单的博客文章,也可能是参加一次聚会,或者可能是构建一个新的搜索。

我们最好的营销是由工程师完成的。当你组建营销团队时,确保你的营销团队中有许多开发者,因为他们知道如何与你的目标受众沟通。你可能会问,那么开发者布道者呢?我喜欢这个想法,因为这意味着在你的营销团队中拥有开发者。但这也是一个定义非常模糊的角色。

我们发现很多期望都很模糊。因此,很难衡量,也很难追究责任。因此,我的建议是先利用你现有的工程团队,让他们做一些形式的营销或开发者布道者工作。

可能稍后,雇用专门的开发者布道者才有意义。即使在那时,也要考虑从内部或从你的社区招聘,例如,开源贡献者或活跃的、乐于助人的社区成员。这些是加入你的最佳开发者布道者候选人。

所以让我们总结一下你在这里所说的内容。现在请不要等待完美的创意,因为当你开始构建你的产品时,即使它不是完美的创意,你也会在过程中学习,这将引导你找到最好的创意。如果你不开始,你永远不会很快到达任何地方。

请,请不要过度设计。你需要有一个非常快速的迭代速度,这样你就可以在你构建产品的同时从用户那里学习,快速而粗糙的版本完全可以接受,然后你就可以专注于真正重要的方面,花时间与你的用户相处。米奇知道你将在哪里学习。如果你不与你的用户交谈,向他们学习,做一些不在乎的事情,去他们的办公室,花时间与他们在一起,尽早发布——我们在许多视频中都说,尽早发布并不可耻。

人们不会记得我们认为行不通的东西,但你可以获得宝贵的反馈,这将引导你构建正确、人们需要的产品,在你决定是否开源时,你应该观察市场,观察其他参与者如何构建他们的产品,并弄清楚开源是否适合你。但是不要在做出选择之前考虑它。别忘了,你是你产品的最佳销售人员。

没有人比你更了解你的产品或你的受众。学习销售比学习如何与开发者沟通容易得多。最后,你也是你产品的最佳营销人员。

你知道,逐渐地,你会知道如何与他们交谈。你知道如何利用社区,你知道如何接触你的受众,好的,今天就到这里。感谢观看视频。如果你正在构建开发者工具,别忘了你可以随时申请YC。