关于CTO这个角色的作用,有很多人经常分享CTO这一角色,我想我先分享一些自己的想法。
首先,我们先谈CTO不是什么。
1) CTO不是工程VP的角色。CTO不是技术梯队的顶尖人物,工程师在职业生涯中努力实现,自然而然的成长。一般喜爱编程的架构师、深度技术开发者,大部分人不会喜欢做这件事情。
2) 第一,CTO不一定是公司最好的研发工程师。
现在,就是如些。那个CTO,不一定是最好的代码开发者,而是管理最好的领导。
定义一个CTO是存在一些困难的。
有这个抬头的人,您会看到许多不同的表现。有些是技术合伙人/创始人;有些人是早期工程师中能力最好的。而像我这样的,是随着时间的推移,慢慢成为公司的CTO。
有的开发者担任技术副总裁后成为CTO。一些人专注于工程,有的人专注于招聘和流程。有的则专注于技术架构或产品路线图。
有些是面向外部的互联网技术公司。一些CTO连直接汇报对象都没有,由其它管理者负责着整个软件工程组织。
通过以上例子,我们可以对CTO的最佳定义:CTO是公司当前进化阶段的技术领导者。但对我本人来说是非常不满意的,它失去了最艰苦最有挑战的工作。相反,CTO应该是目前公司发展阶段最需要的战略技术管理者。
何谓战略:思考长期,并帮助规划企业未来和有可能实施的元素。
关于执行:以战略思维,通过突破问题,引导人们执行决策,实现真正的运行。
那么CTO究竟做什么?
首先,技术官必须关心和了解业务,前且有能力通过技术的眼光塑造业务战略。 CTO的职责执行第一,技术第二。
如果CTO在执行上没到位,不了解公司所面临的业务挑战,CTO就无法指导技术来解决问题。CTO可以确定使用哪些技术来创建符合公司整体战略的新的或更大的业务线。或者CTO也可以单纯的保证技术开发,预见和实现业务和产品路线图能够顺利达成。
不管怎么样,CTO需要精通业务相关的技术机遇和风险,抓住与利用这些机会。当您看到CTO专注于招聘、挽留,做人员和流程的管理时,这就是因为当前技术团队最应该关注的最重要的事情。
优秀的CTO也具备强烈的管理责任感和影响力。 但这并非意味着他们要深度参与日常管理,而是维护与塑造业务方向和战略,解决人们会认为影响业务问题的能力,其他高管负责技术的架构与需求评审。 首席技术官需要保护技术团队不要成为纯粹执行的角色,而是不要影响自身团队的需求和想法。
当团队发展到很大时,事情会变得很复杂。CTO需要招募副总裁来管理所有的人。许多CTO放弃了他们对VP的管理责任,有时甚至没有VP向他们汇报。做为没有汇报权力的执行官,保持影响力和团队效率是非常困难的。
我在前东家那观察到这一点,大型商业领域中的最高级的技术人员会担任CTO一职。这些人有着优秀的技术能力,也能获得着较高的尊重。他们了解业务和技术挑战,也会受技术团队邀请帮助招聘。
他们的垮台,常常是因为缺乏对团队的直接管理和监督,因为技术被视为单纯地执行,他们并没有太大的战略影响力。
如果你是一个领导者,没有执行的权力,即没有给人们分配重要任务的权利。那么你最好与其它高管或管理人员分担压力,最糟糕的是,你可能是一个傀儡。
您不能放弃管理的责任,也更不应该放弃它所带来的权力。
不具备管理权限的CTO必须通过影响组织来完成工作。如果管理人员不认为CTO给予的任务是重要的事情,那么CTO就无能为力。如果您放弃了管理,就放弃了对业务战略最最重要的力量。而你只有靠自己的小组织和自己的双手才能有效执行。那您就真的成了10倍的程序员了!
所以,我对有抱负的CTO一个建议,请您记住:
首先,业务战略工作是最要的。这也是任何管理工作的重点。如果您不关心公司在运营的业务,如果您不乐意引领一大批人员有效的攻击目标而承担责任,那么CTO的角色并不适合您。
作者:卡米尔,Apache ZooKeeper社区成员
译者:21CTO社区