不懂技术的 CTO,不是好的 CTO

摘要:CTO,程序员职业发展的重要方向。不过,想到成为一名好的 CTO,不仅需要有技术前瞻性、优秀的管理能力、敏锐的商业嗅觉,更重要的是自身技术实力一定要够强。

原文链接:https://blog.southparkcommons.com/your-cto-should-actually-be-technical/

声明:本文为 CSDN 翻译,未经允许禁止转载。

作者 | Aditya Agarwal

译者 | 弯月 责编 | 苏宓

出品 | CSDN(ID:CSDNnews)

CTO/VPE应该具备怎样的技术水平?你可能认为这个问题的答案不言而喻,CTO(首席技术官)或VPE(工程副总裁)不都是技术人员吗?

然而,你知道有多少CTO/VPE不懂技术吗?这是现如今许多科技公司管理层普遍存在的一个怪异之处。工程团队的发展每步入一个新阶段,就会创造一个新的管理层,这些负责人是从实际的技术工作中抽离出来的。然而,这些人选必须能够胜任高层管理的任务,因此常常导致技术能力最强的候选人落选。

CTO、VPE 为什么要懂技术?

这有什么问题吗?面对最后期限迫在眉睫,首席技术官也应该加班加点地写代码?还是担任系统的“首席架构师”?VPE 是否需要具备出色的技术洞察力?还是说,我们本不应该要求管理层领导具备卓越的技术力?

当然不是。公司的技术领导者理应具备高超的技术力,主要原因有五个:

只有具备卓越的技术力,CTO/VPE才有评判的资格,在招聘工程师、系统设计师等的时候,清楚地分辨出哪些人只是合格,而哪些人出类拔萃。只有具备卓越的技术力,CTO/VPE才能良好地权衡质量、速度、发布日期以及功能等因素,而做出正确的权衡是领导力的基石之一。只有具备卓越的技术力,CTO/VPE才能赢得整个团队的尊重。如果CTO/VPE无法在必要之时身先士卒,力挽狂澜,那么就很难让员工信服。掌握了高超技术的人往往对技术有着浓厚的热情。他们希望突破技术的界限。这些人能够激励团队走向成功。充满激情的技术领导者会让每个人充满使命感,即便面对原本平凡的任务也能全力以赴。在他们眼中,技术不仅仅是达到目的的手段,他们对这些手段充满了兴趣。只有这样的人才能站得高看得远。拥有高超技术的领导者更容易吸引和招募到其他技术高手。伟大的工程师并不想为伟大的人事经理卖命。由于以上种种原因,他们更加希望为与他们能力相匹配的领导者工作。

Bug之战

下面,我们通过一个具体的例子,说明技术力对于工程领导者的角色有何帮助。

软件中存在Bug,这是万古不变的难题。逃无可逃,避无可避。程序员与Bug之战时而打得难解难分,时而略有缓和,但这场战争永远没有胜利的一方。公司的工程领导是平衡开发新功能与保持质量并消灭Bug的关键角色之一。这通常意味着,通过截然不同的激励措施,调节产品开发与销售团队之间的紧张关系。

那么,我们究竟该怎么办呢?

如果你想改进某个方面,首先必须制定衡量标准。因此,Bug可持续作战计划的第一步就是衡量当前的质量。当然,在这之前(也就是第0步),我们首先需要定义质量等级。

也就是说,我们需要回答这样一个问题:“用户最关心的三大功能分别是什么?”我们必须保证这些功能正常工作,而且质量上乘。

以Dropbox为例,这款产品的主要功能是确保数据永远不会丢失或损坏。同样,无法访问数据的行为也非常糟糕。它会破坏产品的核心价值。如果Dropbox丢失某个文件,那么这款产品的信誉就全完了。其他功能虽重要,但都是次要的。

而对于Facebook而言,关系到质量的关键点在于,在广泛的地域和各种互联网速度下快速加载页面/应用程序。如果无法快速浏览 Facebook,那么用户就没有兴趣再使用了。

因此,第 0 步就是为产品定义清晰的质量等级。

而第 1 步是根据我们定义的质量等级,准确测量产品的当前水平。当然这些工作无法在一夜之间完成。相关的数据工具有很多。但根据我的经验,正确配置和设置工具所需花费的时间往往会超出你的预期。而且刚开始的时候,你还会收集到错误的数据。但是,请不要气馁。

面临这个问题,我们一般建议,每周或每月进行一次质量审查,以了解事态的发展情况。在这个阶段,你必须对自己制定的指标充满信心。

在跨越信心的鸿沟之后,下面我们就需要设置一条红线,确保质量不会低于这个范围。这是第2步,这时我们就能看到工程领导的技术力是多么重要。CTO/VPE 需要深入了解红线在哪里,以及如果接近红线将看到怎样的警告信号,最重要的是,为了远离红线,我们需要做些什么。

CTO 必须向每个人解释清楚,如果质量低于某个点,那么一切工作都必须暂停,并全力以赴提高质量。这会导致工作中产生一些摩擦,尤其是与产品领导和 CEO。没有人希望看到自己心爱的功能出问题或延迟。但你必须强制大家遵守这条规定。如果公司的其他领导者信任 CTO 的技术评估,那么遵守这个规定就会容易得多。

下面,我们举一个具体的例子。随着Dropbox的工程团队不断壮大,Dropbox 桌面客户端代码库的变更也越来越多,然而我们发现Bug的数量也在迅速增加。桌面客户端是用户访问文件的主要方式,因此不能出问题,也就是说,这就是我们的红线。

问题是桌面客户端代码库并不会因为团队增加新成员而成比例地增长。深入研究技术架构后,我们发现这条红线距离我们的舒适区太近了。此外,我们还发现,重新组织架构后,修复Bug会更容易。但这种变更需要6~9个月的时间。

想象一下,你告诉CEO,你需要这么长的时间来修改核心产品的底层架构,你们所需要面对的是重新组织架构期间造成的种种延误。整个公司的领导层都需要对推动这种变革的工程领导充满信任。

我坚信速度对创业公司的重要性。作为一名工程师,我曾亲身经历过Facebook快速行动、打破常规的发展时代。但 CTO/VPE 最核心的职责之一便是明白什么时候磨刀不会耽误砍柴。技术力不仅能让工程领导对于何时需要这种速度转变更有信心,而且还能将这种决策转达给公司的其他人。

在重新构建客户端架构期间,我们在bug之战中取得了重大进展:随着路线图与OKR计划的推进,质量标准也在不断提高。这是我们迈出的第3步,我们将红线移得更远,而且不会随着时间的推移再次被推回来。

最后一步,建立持久的流程,确保核心产品正常工作。

如何招聘到好的CTO/VPE/工程总监?

有关CTO/VPE的技术能力的讨论,我反复听到的一个话题是公司和创始人询问这些职位应当如何招聘。似乎有很多CTO/VPE候选人在编程面试中表现欠佳。

我个人认为,CTO/VPE/工程总监候选人应该通过编程面试。事实上,他们应该在编程面试中拿到优异的成绩。

虽然这些职位需要具备管理人员的能力,并且能够与创始人和其他管理层通力合作共同管理公司,还要有招聘的能力,但他们应该通过编程面试,以及系统设计面试,而且技术力应该是决定他们能否胜任该职位的关键因素。

因为,首席技术官应该懂技术。

原文地址:https://www.toutiao.com/article/7150104212071383588/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340