slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
怎样从程序员到技术官?
17611538698
webmaster@21cto.com

怎样从程序员到技术官?

CTO说 57 8030 2016-02-21 11:54:52
自从创立21CTO已来,几乎每天都有公司来找我要找CTO,有初创团队,也有A轮公司和独角兽BAT类的公司。

虽然都叫CTO,从规模来讲,初创团队其实是在找一个项目经理或技术经理,A轮公司是在找技术总监或技术主管;而B轮或研发团队人数较多、以产品技术为核心的公司,才称得上真正的首席技术官CTO。

那么什么样的人可以做CTO,需要具备哪些条件?

 技术专家:具备深度和广度

CTO需要在某个技术上做到专家级别以上。例如是某个语言的hack,某个知名库的作者最佳。

一个公司的技术基础架构由CTO决定,需要他了解最新的技术,并熟悉成熟的技术。比如搜索使用Solr还是Lucene、Spinx。大数据方面是用Hadoop还是MangoDB。持久化存储是用MySQL还是PostgreSql。比如在语言上用Java还是Python,还是用世界上最好的语言PHP。亦或者这个人比较怪癖,选择了Ruby,这些看起来简单的事情,都会给未来的运营和人员招聘带来风险。

十几年前我当时公司的CTO是来自加州大学伯克利分校的日本人小饲弹博士。

1134.jpg

他是FreeBSD内核开发者,Perl的JCode.pm的作者,技术图书作者。与国际一些知名技术大牛相交甚厚。

公司的VPN,内网,包括系统架构都是其一人使用FreeBSD架设完成,开发工具只用Perl。缘由于此,整个公司都在使用FreeBSD和Perl,到引入PHP和Java做为主流语言开发。因为他是BSD开源社区的拥泵者,不建议工程师用Microsoft的所有开发工具。

其全程负责工程师的招聘,笔试与面试。并指导了整个开发本部的项目开发流程,数据库设计规范,编码规范,文档规范等。并且指定了开发部门的副手与日本本部的另一个高手宫川合作。在人员上寻找在全国范围内招募最优秀的人才加入团队。

无论是本地的还是全球性技术大会,都做为嘉宾或演讲者身份参加。

作为技术专家,也是全公司最大的“全栈工程师”,其能力可以环视整个技术团队,放眼博硕,皆为之技术倾服。这也是一种非权力领导力。

远见与领导力

对技术不偏执有远见的CTO,在一个高成长的互联网公司尤为重要。保证正确的技术决策,可以让软件具备可扩展性,有一个精干的团队,这是一个优秀CTO的素质之一。

好的CTO运用良好技术能力,开发优秀的产品。不依靠下边的人或外部顾问的技术力量。

在自己不能充分控制的情况,那些缺乏严谨的“科学决断”和解决方案可能造成技术团队的“技术债”。

比如,一个公司在开始做技术选型,选择了自己编写框架开发,而不靠成熟的,框架。他的CTO没有想到的两个困境,一个是招人难度加大,另一个自主开发的框架越来臃肿。结果只能完全重写。

 而一个有经验的CTO或架构师可以避免这种陷阱。成熟的框架让我们做事更快,比如Java 的SSH、Python的Django,PHP的ThinkPHP、Laravel、CI等。

管理能力

当你的职位加上O字时,只要不是UFO,你都需要有一定的管理能力。
这个管理包括两种,一个是自我管理能力,一个是团队管理能力。
个人管理包括时间管理和目标管理,如果一位个人的目标与工作能够完美结合,那么这个人几乎是一个变形金刚。

当你的同事每天看到一个每天提前到来,精神焕发,思维敏捷、目标清晰的老大,和每天比自己晚到几小时又很早走的一个甩手掌柜,思想的落差和团队执行力可想而知。

一个连自己都管理不好的人,怎么管理别人?

好的CTO会团队管理上对项目经理、技术经理的计划清晰有条理。他知道时间评估的合理性,敏捷开发过程的风险,适时调动工程师的积极性。比如运维团队的排班,异常处理,灾害恢复。

CTO会重视测试团队的单元测试,回归测试,压力测试,质量团队的文档以及部门培训。以及产品的准时上线和交付。

能动口也能动手,学习力强

CTO不必亲自写代码。但技术派的CTO不会放弃每次写代码的机会,比如系统的核心架构,最重要的部分由自己写出来,或与架构师提供指导和实现意见。

特别是在一个非健全的技术团队,当团队里有人在技术难点上遇到时,你走上前去,一句话,或只几行代码就解决好问题的感觉,是不是让自己也佩服呢。

当然,这种情况是在我曾经管理的团队发生,这种情况是越少越好,多半需要CTO解决好人才的分层梯度问题。另外,也需要CTO不当救火员,而是做教练。

 在某些新技术,能够快速学习并应用,确定技术成熟度,指导团队立即使用,以提高团队效率,降低成本。

 建立团队与研发团队文化

CTO做为技术负责人,有可能兼管理产品。这在一些产品技术为主的公司里,这几乎是大半个CEO的职责。

 一个项目从启动到结束,中间会有这样那样的问题。在开始时能够责任清晰,分配得当,人员稳定,重大项目有备份机制。流程跟踪清晰,不出纰漏。

CTO性格决定了这家公司技术团队,比如敏捷高效,还是无序散漫。是每天都很严肃,如果是互联网公司,还是充满朝气的笑脸好。

极客精神与产品能力

我认为只有技术人员才算上真正的极客,产品经理不是极客。

这是一群对技术有狂热兴趣并投入大量时间钻研的人。是以创新、技术和时尚为生命意义的人。 

而不是一些不懂技术的PM,只能从表面逻辑指导技术来实现,会导致产品的失败。

CTO须站在更远的战略角度观察技术趋势和工具,而不是盯在某个代码行上。他应该在产品的整体方向起更大作用。比如不断引领新的技术进步,并确保公司保持向上或向前。

比如以前的网站有几个版本,移动化网站还是过时的WAP 3G版本,而不是HTML5,而如今只需要使用一个响应式前端框架或者通过第三方搞定。从而节省产品开发时间和费用。

CTO若具备此素质,他所做的产品一定是个有生命力,有灵魂的好产品。

一些好的CEO都是由CTO转换而来,他们专业能力强,逻辑缜密,能够把产品、技术与商业良好结合,如马化腾、丁磊、周鸿祎、张小龙、王小川等。

跨部门协调

一个CTO要具有良好的沟通技巧,必须能和非技术人员之间进行话语转换。CTO会经常与CEO和主管运营的COO打交道。能够用对方能够听懂得的话传达出来,告诉这些利益相关者,技术如何影响产品运营。还能把产品目标如何结合技术,传达给团队的研发工程师。

可以利用会议和制度,确保部门之间的沟通顺畅。一个好的CTO能在业务和技术之间的切换频道,把自己瞬间变小白,以对方的角色去看问题,与非技术人员沟通并让他们理解、认同,确保项目按正确的方向前进。

与CEO的沟通

CTO也是一个好球员,他知道在什么时间应该向哪边球门踢。

比如公司要求上线时间提前,以满足市场需求。那么我们可以使用PhoneGap或Hybird方式来开发App,这样很快发布应用。

这里可能需要牺牲尊严与代码质量来做到这一点。因为CEO要确保技术与整体业务战略,这时要做出必要的妥协。

对于技术出身的CEO来说,以上的问题都不会发生。但与非技术出身的CEO,特别是传统行来出来的CEO来说,他们对产品,对技术可能都不明白。今天冒出一个想法,哎呀简直一针捅破天,马上问这个东西什么时候做出来。

这是千古难答的问题,CTO很难说这东西做不出来,或者一个准确时间表。而且过几天,这个需求可能忘了,或者又改成别的样子。

因此,好多的公司因为产品失控或延期,造成失败。CTO有责任站在专业和负责任和与CEO绕弯,纠偏,调整。如果不去纠正,导致产品体验差,运营问题等,造成公司整体失败。这时CTO要敢于说不,坚守自己的原则。

加入一个高质量的社交网络

技术分工越来越细,越来越复杂。没有人敢说胜任全部技术工作。这时,CTO需要有一个强大可信任的社交网络,它可以弥补自己的技术空白和盲点。

可以加入像21CTO这样的高端技术专家社交平台,加快学习新技术的能力,还可以快速找到iOS工程师,找到富有更多经验的大数据专家,靠谱的技术顾问等。

总结

一个优秀的CTO的成长不容易。需要同时具备卓越的管理、沟通能力,技术能力,长远的战略眼光。能够不断学习,在别人那吸取成功和失败的经验。

一个好的CTO除了带来的强大技术与领导力后,可以做出成功产品,能够为公司成长、新一轮融资、上市增加巨大的价值。
 

评论