作者丨
Bryan Helmig
翻译丨黑色巧克力
作者以自身作为创业公司CTO的经历,讲述了随着公司的发展CTO工作内容的变化,以及如何进行转变,并列举了非常有益的四点经验。
随着创业公司的发展,我们需要对以往的工作方式进行调整。在工程学上也需要如此。作为一名联合创始人和首席技术官,我自己的角色多年来改变了很多。日常职责和挑战也已经发生了变化,不得不多次改变自己的做法,以帮助公司达到一个新的高度。
在Zapier的早期,只有三个人在晚上和周末工作,在地下室里加班,那就是Zapier。在我们最终推出之前,我们经历了Zapier的三四个版本。六年后,我们做了上亿个API调用,在全世界有超过80个员工,包括20多名工程师。
我们三个人之间的成长历程和今天的情况是相当不同的。如果你喜欢的话,你可以看下我的线上视频。或者,读一下我过去学到的经验教训,并问一下我第一次当CTO时的同事。
初创公司工程升级树
在我们进一步深入之前,有一个问题,那就是CTO是什么?它就像一个生命中的仁慈独裁者,它是软件社区里监视代码的吗?它是某种超级管理者还是超级黑客?
向很多人征求意见,联系了Buffer、Unbounce和其他一些比我们大一些的初创公司的CTO,最终得到了一个答案:没有人真正知道。这是一个模糊的角色,不适合在做规范的定义。但当我与人交谈时,确实发现了一些常见的模式,以便了解一个小型、以技术为中心的初创公司该如何成长,以及CTO在每个阶段需要做什么。
因为我是一个书呆子,喜欢玩电子游戏,所以对我来说,这像是一种升级树。当你在游戏中获得更多的经验时,你会升级,在某些时候你可以选择不同的升级分支。
下面是初创公司CTO升级树的方式。
独奏团队(1-2工程师)
这正是我们在地下室工作的时候的情景。这是一段非常有趣而且非常快的时间。你建造了很多东西,并且很快迭代,没有沟通或管理的开销,因为你们都是同步的。你只是想弄清楚如何进行下一步工作。
小团队(2-6工程师)
作为一个创业者,你想要拓展团队,所以你开始雇佣员工。这通常是你雇佣朋友的时候。有些人说不要雇佣你的朋友,但我认为在早期阶段这是很好的。你知道自己可以和他们一起工作,并且适合这个职位。这时候你仍然感觉很好,因为你只有几个工程师。通信开销很小,你仍然可以保持同步。
成长团队(6-12名工程师)
这个时候就有点奇怪了。你不再经常与团队中的每一个人交谈。你必须开始做一件可怕的事情,它叫做管理,对我来说是完全不同的东西,不像编码那样自然。这就是通信开销在你编写代码的时候发生的地方。你可能在想办法雇佣那些不是你朋友的人。这很棘手,因为你不知道的事情正在发生。在这个阶段,事情会很快发生变化,你会在升级树上面对你的第一个分支。
组织团队(12名工程师)
有了这样规模的团队,你可能在不同的领域工作。你不能在人员和代码管理方面都做得很好,因此到了你做出选择的时候。
副总裁:关注管理
CTO:关注编码和架构
副总裁通常是一个人,他把过程放在适当的地方,利用工具使团队更有效率,帮助工程师们完成工作。或者,你可以继续担任CTO,并维护你的程序员角色。CTO是一个熟悉系统的人,他知道所有的骷髅在壁橱里的哪个位置。
你还应该是CTO吗?
我并没有为这个决定做好准备。我甚至不知道必须在两者之间做出选择。我只是觉得CTO会是事实上的经理。这似乎是我所谈过的超过一半的创业公司的案例。无论你走的是经理还是程序员路线,你都要找一个会做相反的事情的人。