医疗社区丁香园的 CTO 冯大辉离职了,炸出了科技行业里的一个大问题:CTO到底应不应该写代码?
具体来说,CTO 在公司里是干嘛的?他/她到底写不写代码?该不该做代码评审(code review),亲力亲为给程序员做出榜样?还是把握一下大方向,设计架构,管管程序员,提供一些培训?抑或应该把首席市场官以及首席吐槽老东家官的岗位一并兼了?
在国内,大大小小的程序员们就这个问题已经吵成一团;那我们不妨去看看硅谷。带着这些问题,我们问了一圈硅谷大小科技公司的 CTO、VP Engineering、技术合伙人,以及其他各种高级技术管理职称上的朋友。
硅谷 CTO 写不写代码?
我们发现在硅谷,技术类公司比纯互联网产品公司多得多。大部分 CTO 不但会写代码,代码也是他们日常最重要的工作内容。
Movidius 是一家研发低功耗视觉处理芯片的硅谷科技公司,现在已经扩张到了400多人的规模。Movidius的 CTO David Moloney 在爱尔兰都柏林工作,他负责管理一支超过 120 人的技术团队,因此也设有一个 “CTO 小组”,每天花 10-15 分钟听取小组成员的报告并作出指示。他常用的沟通工具是 Slack。
尽管如此,David 仍然很享受亲力亲为的工作风格,也是公司的技术迭代的主要功臣。他告诉PingWest品玩,他的日常工作主要包括设计算法、写专利声明以及帮助解决成员提出的技术问题。
我们按照项目和任务分成小组工作,我本人经常写 Octave(Matlab)、C/C++ 来开发算法,日常使用 GCC 和 Visual Studio(两种编程工具)。我们使用 GitHub 来管理所有的代码。
除此之外,David 还会亲自撰写很多的专利声明,而非将其交给下属以及其他法律顾问。
David Meloney 其实不止David,采访中我们发现,在硅谷,撸袖子上阵写代码对于 CTO/技术合伙人/高级技术管理人员来说简直是家常便饭,几乎不分公司技术团队人数多寡。
一家由机器人 SLAM(定位、识别和移动技术)公司的联合创始人匿名接受了采访。他告诉我,因为是技术公司没有设立 CTO 的岗位,自己和另外一个创始人每天大约有 8 个小时在写代码,剩下 4 个小时做管理和沟通工作。
写代码是每天工作主要部分,语言包括 Python、Java、C++、C 等。
这家公司的技术团队目前有 8 个人,一半在开发算法,另外一半做开放系统。
看完小公司,让我们看看大公司是怎么搞的。一位前微软员工告诉我,“印象很深的是在微软,一个高级总监管理多于 300 个技术人员,还在坚持对核心部件进行 code review,时不时自己写代码,代码质量还很不错。”
微软现在不设 CTO 职位,每个主要业务单独设立部门,由资深的技术负责人担任SVP——这些大多拥有十年以上的微软工作经验。
Oculus VR 是世界上最知名的 VR 技术公司之一,在被 Facebook 收购后增长迅速,员工总数从去年的数百人增长到今年的逾千人,其中技术人员比例很高,但该公司的大神级 CTO John Carmack 仍是一副不写代码不舒服的样子。他讨厌管理,由其讨厌开会,曾经在 Twitter 上说:
没有什么比“取消: ”的邮件标题让我笑得更开心了。
一位知情者告诉我,Carmack 超级不喜欢别人打扰他。他早年用过一些很奇怪的工具来提高自己的工作效率,比如工作的时候开始用 CD 机放音乐,但凡有任何中断(上厕所、收发邮件、被人闯进办公室)就暂停,然后记录一天下来暂停了多少次。著名游戏开发者 Richard Garriott 曾这样评价 John Carmack 在代码上的水平和造诣:
这个人啊,他的大脑分成两个部分,一块存储 Oculus 的所有代码,另一块存储他创立的那个火箭公司的所有技术——而且跟内存一样,他随时能调取出任何一家公司、下属项目里面的任何一个代码细节。他真是让我很没自信……
John Carmack
技术专区
- mybatis动态sql详解
- 用VHDL语言设计数据传输系统中的HDB3编码器
- 裸机程序如何驱动硬件?看前辈是怎么说的
- 应用面向对象编程SoC原则的典型示例
- 嵌入式开发之java常用开发工具介绍