Stack Overflow 是如何赚钱的(2016 年版)
作者:Nick Craver 翻译:ONES Piece 翻译计划 Alfred、Toya、王紫涵
译者按:Stack Overflow 是一个程序设计领域的问答网站,这篇文章来自其架构负责人 Nick Craver,言辞恳切地讲述了他们是如何通过站内广告、招聘、企业版服务等来赚钱的。
“我们赚多少钱就意味着我们要为用户做多少贡献。为了成为一家优秀的公司,我们专注于最大程度地帮助用户”,真是情怀满满啊!
我是 Nick Craver ,你可能看过我写的 《Stack Overflow 是如何做部署的》、《我们如何做硬件》以及 《我们如何建立自己的架构》这几篇博文。然而我还没讲过我们是如何赚钱的,对于大部分开发者来说这一直是个谜。
现在我来回答这个问题,不仅仅是因为它经常被问到,还因为我和 Stack Overflow 团队相信,坚持不懈与我们的社区成员真诚沟通只有益处没有坏处,这包括像财务处理这类日常生活中的棘手问题。这就是为什么我们创建了 Stack Overflow 薪资计算器这样的小工具来使衡量薪资透明化。
我们为什么要赚钱
一些背景资料:我是 Stack Overflow 的架构负责人,这篇文章是我在公司年会后写的。 Stack Overflow 的年会对于像我这样的远程工作员工来说真是一段美妙的时光,我能见到很多之前从未谋面的同事,和他们一起尽情讨论想法。
同时这也提醒我们,为何我们要做这些事情,以及在一起工作如何能让团队走得更远。我花了 6 年时间来构建我认为最好的开发者资源社区。我喜欢每天都让它变得更好用一些。
幸运的是我不是孤军奋战,而是和一些最好的开发者、系统管理人员、设计人员、管理人员、市场人员、销售人员以及全世界支持我们的人一起协力工作。
不是我个人创办了 Stack Overflow,而是我们一起创办了 Stack Overflow 。
上周我花了大量时间与这些帮助、支持我们的人待在一起,与他们分享公司是如何成长的,其中一些人我之前从未聊过。更重要的是,我们要搞清楚如何做到这一点,同时不失——我找不到更好的词了——“体面”。
我对我们的行为有着很高的标准,我希望这也反映在你对 Stack Overflow 的评价上。
我很保护我们的用户,你可以向任何在这里工作的人证实这一点。我坚信我们已经在社区里建立了一种信任关系,这种信任来之不易且无法被取代。我希望能在一家尊重信任他人的公司工作。而事实确实如此。
这是一个全公司共享的理念,不过之前我们听到过有人质疑我们如何能够既尊重用户又赚钱,或者认为赚钱就因为我们要去迎合投资人或者我们只是想混口饭吃。我希望纠正这种看法。
诚然,钱是公司可持续发展所必须的。
但我们的根本是要帮助用户,我们之所以存在是因为你决定让我们存在。这就是为什么我们将变现途径打造成一个循环模式,来持续改善社区,而不是在产品发展过程中不断榨取社区资源。我们赚多少钱就意味着我们要为用户做多少贡献。
为了成为一家优秀的公司,我们专注于最大程度地帮助用户。很少有公司能成功做到这一点,而我们做到了,也因此感到自豪。
我们如何赚钱
- Stack Overflow 的人才与工作
通过我们的企业产品 “广告与人才展示(Display Ads and Talent)”,我们帮助企业打造自己的品牌、对接技术人才。反过来,这些服务可以帮助开发人员找到更好的工作、了解企业,同时提供良好的用户体验(没有垃圾信件和 flash 广告等)。
我们竭尽所能想开发者之所想,这就是为什么我们销售的所有产品都那么与众不同。
这很像鸡生蛋蛋生鸡的问题。公司需要开发者,而我们需要专业人士来回答问题。为了实现这一点,等式两边都需要有人。我们聚集更多的企业和开发者,就能更好更快地匹配企业和开发者两边的需求,帮助开发者找到梦寐以求的工作。
对企业而言,我们致力于提供经过精准匹配的少数候选人供选择,而不是提供 500 名勉强合适的候选人。这是我们所能提供的价值。招聘流程中有很多低效率的环节,我们想要对此进行优化,不想浪费你或公司的时间。
我们处在一个相对独特的位置,因为我们可以同时帮助公司和开发者。这不是瞎扯。我相信我们能够做到,而且可以比别人做得更好。
我们已经给数千名候选人推荐安排了工作,但还有更多工作正在等待合适的候选人。一种优化的方式就是我们的 “开发者故事(Develper Story)”。
我协助开发了这项功能,是因为我认为这是一种比简历更棒的方式。它可以帮助开发者展示他们是谁、在做什么,而且(我希望)这是一种更容易去维护的方式。它也可以帮你找到一份工作。如果你正在找工作,或者只是好奇,你的 “开发者故事” 越完善,我们能帮你匹配到合适工作岗位的几率就越大。
如果你对两者都不感兴趣,那也完全没有问题。
尽管我们很乐意帮你匹配一家完美的公司,但是我们打造招聘和开发者故事这两项服务主要是出于我们的核心使命——服务所有开发者,包括当下并不关心找工作的人。
我们正在努力改变公司对待开发者的方式,不仅通过我们的招聘标准(如不允许发送垃圾邮件),还通过我们的 “开发人员招聘博客(Developer Hiring Blog)”——这是我们为优化雇主和招聘者的实践而创建的。
通过 “开发者故事”,我们想改变那种认为开发者顶多就是他们上一份工作或者头衔所展示的那样的看法。开发者是创作者,他们有他们的故事,不管是通过代码或博客文章,抑或是他们工作过的独立团队或者正在阅读的东西。这些产品的推出不仅是完成最基本的工作任务,更是为了促成范式转移(paradigm shift)。
- Stack Overflow 广告
我们是一个大型网站。我们的广告解决方案是我们生存的重要保障。但我们不希望你点击那些你不关心的东西。我们想给你需要的东西。
我们的目标是尽可能地提供相关、人性化的服务;如果不行,我们会努力为你提供系统认为尽可能相关的东西。我不确定人性化是否是个好主意,这我们以后再说。不管怎样,我们在为之不断努力。让我们赖以生存的广告尽可能地与您相关是我们的工作。
我们有优秀的人才在做这方面工作,为的是成就我们的最终目标:了解开发者,使我们能更好地为他们服务。
(那么,我们该如何看待广告屏蔽呢?我们不在乎,原因在此。)
我们是如何对待广告的呢?简言之,我们没有增加更多广告; 我们只是改善现有的。相比其他地方,我们对于你——作为一个开发者——喜欢什么样的技术更熟悉。我们想通过努力来让广告更精准、更相关。这需要一点时间,同时我们也想提升广告的加载速度,这是一个更大的计划。
我们不会降低广告质量。你知道 Stack Overflow 上每个月都有大量免费广告位吗?
每次我们展示 “自家广告”(就是我们所说的链接到其他网站的广告)或 “社区广告”(由社区表决决定),其实我们本可以展示付费广告。但我们没有,因为如果没有什么好东西给你看,我们就选择不展示出来。
同时我们也不想采用自动化广告系统来筛选广告。如果选用这种方式,我们便不能对广告质量进行控制,来维持一贯的质量水平。我们故意放弃了很多赚钱的机会,不想以牺牲质量为人所知。我们相信会有更好的方式。
很重要的一点是,拒绝这些潜在广告的决定是由我们的广告销售团队做出的。这些人实际上是靠卖广告赚钱的。但他们否定了这个想法,是因为比起赚更多钱,他们更关心我们正在做的事情,更关心你是如何看待我们的。
你能想象这 TMD 是多么难得吗?我们天才的销售团队在面对老板时也是同样的做法。所有这些人关心的是那些超越自身的东西。而这就是为什么我喜欢在这家公司工作的原因。
我们有几个加载缓慢的广告(感谢用户的反馈)。我们追踪到相应的广告商,搞清楚问题所在,并尽力帮助他们解决。这是一个复杂的问题,因为牵扯到很多人,但我们已经着手开始处理。
Samo 和我将增加定时信息给我们这些项目抽样分布,这样将来我们就可以监控它的情况,如果遇到问题会自动报警。我们认为,加载缓慢或太贵的广告都会降低用户体验。体验可以说是一项功能,页面上展示的任何东西对我们都很重要。
目前我在与广告销售队伍合作,确保从 2017 年 1 月开始,我们所有的广告都将兼容 HTTPS。这主要是今天的情况,但不能保证,不过在未来我们会加强这一点。
我不想让这成为任何事情的障碍。我们将把所有 Imgur 图片迁移到 https:// ,并强制执行。我也将把所有网站 logo 和图标迁移到 https:// 。我们正在实施这项巨大的工程…… 这里就先不展开了。
- 企业版
我们将会花更多时间开发企业版 Stack Overflow。这个项目目前已经有了一些起色,它还是一种能同时帮助公司防火墙内程序员和公司自身的方法。我们团队有几个全职员工在负责此事。企业环境比较独特,因此需要专门关注。
但是企业版会与 stackoverflow.com 使用同一套基础代码,是完全相同的 git 分支。有些企业版的功能就是开源 Stack Overflow 的功能。比如,我们准备为企业版搭建一个在防火墙内可以被当成图床使用的 HTTP 协议的简单图像代理。
还记得我之前讲过的客户端校时吗?它会帮助我们估算上述功能所需的带宽。我们其实在布一个很大的局。
- 信任
像我们这么大的公司要实现盈利需要出色的市场营销。
但是就在两年前,我们还不信任自己的市场团队。为什么呢?因为那时他们是一个全新的团队,我对他们还没有了解。我认识一些其他的市场营销人员,有过不太愉快的经历。
因此我默认的假设大致是:“所有市场营销人员都来者不善,想利用客户的信任去迅速套利”。但是其实并不是这样的。起码这里不是。
通过与我们市场团队在几个项目上的合作,我克服了这个偏见并且意识到一件简单的事:我们雇佣了一些很棒的营销人员,他们在乎的跟我们在乎的完全一致。特别感谢 Kaitlin。我们的新团队收到了很多负面的反馈,而且没有据理力争。他们让我们明白为什么有些主意很棒,在许多事情上说服了一些我认识的聪明人。
我们团队清楚地明白 Stack Overflow 社区和信任是我们拥有的最宝贵资源。我们想要的是交流,而不是疏远。不过只针对那些我们能够为其提供帮助的用户。是的,如果我们的方式是正确的,有时候这些事情会反过来让公司受益。
我不认为这是一件坏事。如果我们能够让公司成长,我们就能够继续给这个世界创造出更好的东西。我还想为大家创造很多很多东西。比如为了打败光速,我曾把 Stack Overflow 塞到欧洲、亚洲和南美的 2U 服务器中。
Adrianna(我们新来的 CMO)做过的一次展示令我叹为观止。在听她演讲之前我并没有见过她,那次她给我留下了非常强烈的第一印象。为帮助我们统一品牌,他们正在开展一些非常出色的工作。在听她展示的时候,我一直在想 “为什么我们四年前没有做这些”。
营销,与开发一样,主要是建立联系。我个人从厌恶跟营销人员接触到现在期盼与他们互动。我们找到了一群聪明、善良的人能够帮助提高所有人的参与度。事实上我现在很兴奋。
如何建立信任的小型案例分析:邮件
相互信任和 “我们应该如何赚钱” 的共同价值观直接关系到我们搭建内部工具的方式。以下是我能想到的、展示我们所有产品都需要信任的最新事例:
记得我领导的那个构架团队吗?我们团队写了一个新的邮件系统,以便在保证体验一致性的情况下与用户进行沟通并提供支持。为什么我要提这个?因为我个人是从起初百分百反对这个项目最后转变到同意的(如果我们以正确方式去做的话)。
顺便说一句,团队里只有我跟 Samo Prelog 两个人——“团队” 实际上是一个有点夸张的用词,也许夸张到接近谎言的程度。要不管它叫 “团对” 吧?我们是由两位开发者组成的迷你版正义联盟…… 不管了,说回邮件。
我规定的第一件事是什么?默认取消所有选项。这是我们开发的第一个功能。对我们来说是一个特别重要的功能。一键取消订阅的功能以及一个你可以取消所有订阅的登陆页面是必不可少的——这是当务之急!
几年前我取消了自己的领英账户就是因为太多垃圾邮件。如果你不想从我们这里收到邮件,完全没问题。我为我们打搅到你感到抱歉,并且感激所有理解我们的用户。我最担忧的就是打搅到用户社区,担心得晚上都睡不着。
我们正在向更多人发送邮件,发布 “开发者故事” 计划,以期望我们能帮到部分开发者。如果送出的邮件被拒收,我们将把你归在退订名单内。如果你没有回复我们的邮件,我们也将把你归在退订名单内。
我们想做一个互联网好公民。除了像交易或事务性的邮件,如 “忘了密码?”,每一封通过这个系统发送的新邮件的底部都有三个链接:一键退订、直接进行管理所有种类的链接,以及进行反馈的按钮。
我们之所以设定这样(要投入很多精力)的系统,原因之一是如果有一个现成的供给商不能做到如上所示的(我们现在正在使用的邮件服务商是 SendGrid,目前为止一切正常),我们可以确保你的 “默认取消” 状态能一直延续 。
我们并不想冒险去让任何明确表示对我们没兴趣的人被打扰或冒犯到。
虽然我们目前只有一个种类(“新功能”),但我们计划添加更多。不过,我并不是指在那个种类中增加新的邮件。在这个新系统中,我们想要移除所有已出现的群发邮件,比如社区通讯(一个完全 “默认勾选” 的选项,如果你从来没见过它),用我们保证有效的一键退订就可以非常简单地管理所有邮件。
老实说,我们现在的邮件偏好设置页面是个十足的灾难。
这(邮件偏好设置页面)是从一个站点开始,衍生到许多站点的老古董了,它需要一点爱。我们现在有专门在研究这方面的人。我们的设计员 Donna 正在努力最大化地精简这个系统。
要支持这个统一和简化的过程,需要很多后端修改。我们希望提供给每位用户一个邮件地址,和一个专门去管理所有来自 S.O 邮件的地方。如果你觉得被打扰了,那么(最多)点击一至两次就可以退订所有内容。
所有的交流和互动必须显示出我们对你的尊重。如果不是如此,我们便辜负了你,也辜负了我们自己。我们的任务是让开发者过得更好。我失眠时,最常担忧的就是这个。我们必须值得你的信任,并且我们也做到了这点。
如果我们稍后增加邮件的新分类(并不只是对我们今天已经发送的进行分类),之前的用户并不会被 “默认加入”,只有新用户会有这个问题。我们并不想成为 “那个网站”。我是认真的。我们有意围绕这点设计了表单模式(table schema)。
如果你阅读过我们的 “开发者故事” 邮件,之后觉得不再需要它们了,完全没关系。我希望 S.O 能在其他方面服务到你,也很感激你的关注和时间。我希望其他像资料文档,以及持续有改善的问答列表能让你的生活更简单。真的,这是我们在这里的理由,也是我在这里的理由。
我们对下一步的思考
我现在脑子里装满了事情。我想在 SQL 服务器里聚集列存储索引中设立一个时间序列数据库。我想去测试一个我们半夜想出来的提高 “开发者新闻” 阅读量的点子。我想去建立好几个几乎已经完工的数据链接帮助内部团队节省时间。我有无数件事情要做。
同时我也很兴奋。我对 “文档(Documentation)” 的未来和对 “开发者故事” 感到兴奋。对此我迫不及待。我希望公司能不用费尽办法去赚钱,因为这样我们就可以集中心思创造出所有社区所想要和需要的有用的事物。
我确信我们能做到这一点,并且是以让所有人都受益的方式。我希望你们能同意这一点。我希望我说的这一大堆能多少解释 S.O 是什么样的,至少让你们能多知道些,至少知道些它对我来说的意义。
如果我们看法不一致,那也没关系。如果你有时间,请在评论区告诉我们你的理由,以帮助我们在未来做得更好。
感谢各位的聆听。
本文原载于 StackOverflow 官方博客,作者 Nick Craver,由 ONES Piece 翻译计划 Alfred、Toya、王紫涵 翻译。
题图来源:Riviera Partners