【译】一家初创公司的 CTO 应当做什么?

1904次阅读  |  发布于5年以前

原文:http://www.zcfy.cc/article/1146

你的首席技术官(CTO)整天都在做什么?很多时候,在一般人眼里的 CTO 形象等同于"那个拿着高薪坐在角落里,对'技术'进行深层次思考的家伙" 或者 "那个在最后一刻突然一时兴起,跳起来重新安排我的项目的家伙"。我已经努力不让人产生这种印象,但这不容易做到。我们缺乏一个对 CTO 的一致而明确的角色定位。

当我问起我那些曾在大公司任 CTO 的导师们如何看待这一角色,他们通常会谈起 CTO 应该成为公司技术平台的对外形象,对开发者、客户(尤其是技术型产品)、员工来说,CTO 是布道者。毫无疑问,技术布道是一项非常重要的工作,我总是被要求做这件事。然而,我不认为大多数初创公司真正需要某人来做全职的布道者。

所以 CTO 意味着什么,除了只是 "不负责直接管理任何人的技术合伙人?"。

我一直认为我不会管理任何人。我打心底认为成为一个经理一点也不好玩,谁会真的想对别人的行为负责?我的意思是,公司大了,什么人都有(不好管理)!所以我被 CTO 的职位吸引,而不愿意成为分管工程师的 VP。我认为公司会招一个专业的家伙来专门负责管理和安排日常事务,而我只要将精力集中于确保我们的技术确实很牛逼。然而,一路走过来,一些奇怪的事情发生了。我发现软件的研发过程和软件的架构变得越来越难以分离。如果你尝试设计一个架构来最大化软件的灵活度,在没法保证所有的开发者都采用 TDD 时,事情是推动不下去的。如果在推动决策时,一部分人采用"预先筹划1" 而另一部分人使用 "5 个为什么2",事情也会一团糟。如果每次产品发布都需要手工部署怎么办?一些做法可以改进软件的性能,但要牺牲可读性、部署能力或可扩展性,你会去做吗?这对我来说像是技术问题,但是当你深入分析问题的本质时,你会发现它们实际上是人的问题。而人的问题真的没有办法以一个旁观者的立场来解决。

所以我学习了如何管理他人。还好,我并没有太不擅长管理,而且我发现原来它可以带来很大的回报。但尽管我在 CTO/VP 的混合角色上经历了很长时间,我仍然有这一挥之不去的困惑,即究竟 CTO 应该做些什么?

以下是我的观点。我认为 CTO 的主要工作是确保公司的技术策略服务于它的商业策略。如果这听起来太简单或者太泛泛了,思考一秒钟,是否有你所知道的公司做的正好相反,是否你有听说过有所谓的"砖家"把技术的繁文缛节当做经营理念来坑老板和投资人?这正是我们要极力避免的。

我会将它分解为五个特定的技能:

我想加最后一个想法,尽管我知道它是有争议的,介于 CTO 和技术 VP 的职责之间。我不知道我被同时履行两个角色的职责影响了多久,但我认为它是重要的,足以让我决定冒着被喷的风险将它列出来。

你的 CTO 可能是一个好的架构师、布道师、接口设计师或调试 bug 的天才。这些都是非常好的能力,我很好奇你是否在你们的 CTO 身上见过这些能力。我承认我的经验是有限的,所以我在收集案例。你是否与一个很棒的 CTO 共事?是什么使得他们让你觉得很棒?一个新任命的CTO,你能从他身上学到什么?

英文原文:http://www.startuplessonslearned.com/2008/09/what-does-startup-cto-actually-do.html

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8