千人技术团队背后的CTO:CTO的修炼远不止于技术修炼(转)

原文地址:http://mp.weixin.qq.com/s/Lb-y-H1g8DLZqnXs6zqfuQ安全

当绝大部分的技术人还在思考创业团队 CTO 须要有什么胜任力的时候,有人已经把技术团队从 7 年前的不足 10 人带到了千人规模的技术团队。服务器

 

聊起这 7 年的经历和故事,远比在纸上讨论“CTO 是否要写代码”要精彩得多。现实中的 CTO 面临的挑战也不止于技术挑战,还有业务挑战、团队挑战、视野挑战等等。网络

 

9 月 9 日,51CTO 旗下 CTO 训练营第五季的开营课上,国美互联网 CTO 于斌平为现场的 40 位技术管理者分享了他在国美 7 年的 CTO 经历以及对 CTO 七大基础能力的理解,从这些经历里面咱们也能够窥见一些领悟。架构

CTO 七大基础能力框架

能力一:核心目标管理运维

明确公司目标,充分理解业务,技术目标与之配套单元测试

01学习

与公司目标一致测试

做为 CTO,要时刻明确公司目标,实现公司目标是首要任务。其次才是与之配套的技术目标。优化

02

充分理解业务,比业务更熟悉业务

如何让业务增加,是每一个作技术管理的人都要考虑的问题,也是最根本的价值体现。

 

每一个小团队的业务/技术人员只需了解所负责的业务便可,但做为 CTO 要比这些人更了解业务,了解每一个业务的同时还要把全部业务串起来,明白整个公司的业务和规划是什么样。

03

支撑业务,引领业务发展

你们常说,互联网行业技术要引领业务,但支持业务正常开展是基石。在业务正常开展的基础上,才能站在将来看如今,才能进一步创新,经过技术驱动/引领业务发展。

 

在核心目标之下本质的内容,是企业愿景及战略目标、业务目标、技术战略、产品规划、行业分析等战略层次部分和系统架构、系统建设等战术层次部分。

 

如出现 CTO 和公司/CEO 的目标不一致状况,只有两条路,要么调整到一致;要么离开。

 

技术管理者充分理解公司目标以后,就是要确立很是明确的技术目标。

 

主要列举如下几点:

  • 总体技术战略目标。

  • 眼下要完成的事&近期要完成的事&中长期要完成的事。

  • 技术路线&实现方法。

  • 技术架构。

  • 创建和带领团队。

  • 规范、制度、流程。

  • 考核方法。

 

固然,这些内容不是一成不变,而是不断修正的过程。

能力二:项目管理

提炼是“基本功”,合理分解是“基本规范”,沟通是核心

不管有多少个部门、是瀑布/敏捷开发、仍是大小的各类目标,全部均可以拆分红件件小事,每件事均可当一个项目来看待。

 

以下图,左侧是九大项目管理,右侧是四个关键环节。

左侧图中所示的这些技术管理者必备的常见基本技能,你们都已经很了解,在此不一一展开。

 

右侧是提炼需求、分解需求、沟通、如期上线等四大关键环节:

  • 提炼需求。面对老板及业务提出的众多需求,从中提炼出核心的目标是“基本功”。固然是在充分理解业务下的状况下,才能作出清晰正确的梳理和判断。

  • 分解需求。提炼出核心需求后,要根据轻重缓急合理的拆分需求,分解成多个项目阶段是“基本规范”。这里等同于敏捷开发过程当中的合理迭代,但切记要先上线简单可用版本,以后再纵向切,逐步推动。

  • 沟通。沟通是项目管理的核心,管理过程当中,沟通对最终结果起到决定性做用。

  • 如期上线。项目的最终目标是“如期上线”,不然以前作的全部事都是白用功。“如期上线”不是简单的上线完成任务就行,质量和成本一个都不能少,尤为是质量不能忽略。

    更不能为了上线而上线,表面上上线完成了项目,但实际跟原来的目标相差很远,甚至用户都无法使用。

 

其中,沟通、资源整合和成本控制这三方面不管项目大与小,都贯穿整个管理过程,且对于大多技术管理者来讲,多少会遇到一些难题,下面分享一些方式方法。

01

沟通

前面说到,沟通是项目管理的核心,但不少技术管理者并非很擅长沟通。

 

面对不一样的人,要如何进行沟通呢?方法以下:

  • 与职级高的人。提倡跨级沟通,但需采用一些技巧,如发送邮件同时抄送直属领导;如和直属领导打招呼,再去汇报;如非正式,“恰巧偶遇”,不经意说起;如从团队中找到善于沟通的人去作沟通。

  • 与职级相同人。和同级别人沟通,就须要把技术语言翻译成非技术语言,以便业务、财务等不懂技术的管理者更好的理解。

  • 与团队和下属。初创/互联网公司与下属的沟通相对开放,职级的观念相对较小。但对于大型传统的公司来说,下级会对上级不天然产生戒备/恭敬的心态。技术管理者须要作的是先缓解心态,以后像朋友同样坦诚的去沟通。

  • 与合做商。与合做商沟通,要时刻谨记本身表明的是公司,而后是合做双赢,找到利益平衡点,把可能的状况先谈清楚了,避免后续一些没必要要的麻烦。

02

资源整合

一个项目完成与否,资源会从中起到很大做用。资源在未整合以前大可能是零散的,要发挥其最大的效用,转化为竞争优点,为企业创造价值,还须要运用科学的方法将不一样来源、不一样效用的资源进行配置与优化,使有价值的资源融合起来,发挥“1+1>2”的放大效应。

 

业务、营销和财务这些属于企业内部资源,合做商、市场和投资方属于外部资源,这些你们都很了解。这里须要注意的是直属领导/领导的领导是很好的内部资源,用好会事半功倍。

03

成本控制

不少人感受作技术管理和成本没有关系,成本是采购才会考虑的问题。

 

实则否则,例如:

  • 时间和人力。如一个项目管理不善,因工做效率或其余缘由,致使不只超时完成,还用人过多,这是看不见的最大成本浪费。如一个项目研发三个月,最终没有上线放弃,这也是一种成本浪费且还可能丧失机遇。

  • 招聘牛人。要招聘当前须要的人,一些技术牛人可能未必适合当前阶段。初创小公司不须要很牛的人,只须要成熟技术,能支撑业务,保障业务的正常运行就好。当业务达到必定量,才须要招聘牛人,反之就是成本浪费。

  • 超前技术。不少时候,时间和人力的浪费,就是由于招聘牛人,研究超前技术所致。因此在每一个阶段,需考虑技术是否合适。

  • 技术方案。不要迷信最好的技术方案,根据实际状况,采用最快方式实现目标。

 

综上分享的核心目标和项目管理是作技术管理最基础的胜任力,下面咱们来分享做为CTO必备的看家本领,以下图:

如图中所示,一名合格的 CTO 必须具有的四大看家本领分别是架构建设、产品能力、研发能力和基础建设。

能力三:架构建设

CTO 应该精通大架构,不是仅仅单一的技术架构

 

 

说起架构,不少人认为是代码的架构,涉及方向也是采用哪一种框架,是开源仍是自研等。这里分享的架构是做为一个 CTO 应该精通的大架构,以下图:

  • 业务架构。业务架构是 CTO 应该首要知晓的,就是所处公司的业务组成及发展规划,清楚具体业务,以及它们之间的关系,是相关,仍是独立等。

  • 应用架构。对应业务,决定采用什么样系统配套支持,是要采购,仍是必须自研,是纵向独立划分,仍是横向逻辑划分。

  • 数据架构。必定要了解数据流的现状,不少技术牛人会忽视数据架构,对于数据如何存储、如何流转、安全机制都不是很了解,每每信息安全问题,就是因数据流出现情况所致。

  • 技术架构。这里就是有些系统架构,如代码框架、中间件、服务治理等。

  • 运维架构。进行运维建设、安全建设等,作好风险控制,针对系统、帐户、财务作好安全保障。

 

从业务、应用、数据、到技术、再到运维整个贯穿下来,就是作 CTO 应该有的视点,切记不是仅仅作单一的技术架构,那是架构师或研发主管应该作的事情。

 

以下图,是电商行业基本的技术架构:

如图中所示,用户层/流量入口、业务单元、应用系统、业务服务、中间件、平台层,这一层层逐级下来是一个很清晰的电商行业比较通用的架构。做为 CTO 要清楚每一层的数据流、运行机制,由哪些人在主导,关键负责人是谁。

 

以下图,是架构设计原则:

作开发的人对于这个图都很熟悉,可用性、可扩展性和成本这三大原则你们应该都很了解,这里不一一展开。

 

做为 CTO 要走在前面,在扩展、成品和可用三者制约的状况下,架构要如何建设?

 

建议遵循 DID 原则,按照 20 倍体量去设计,因会遇到如双十一等流量猛增的状况。以后,开发按照 3 倍的体量去实现,上线按照 1.5 倍的体量去部署。

能力四:产品能力

交互和业务逻辑是基本功,懂技术实现和项目管理是升华

做为 CTO 首先要很清楚研发的系统/产品,最终用户是谁?根本诉求是什么?以后才是用户体验、业务和产品的设计及产品创新。必定切记,从用户、业务、运营的三个角度出发去设计产品。

01

用户体验

产品总体要简约而不简单,提供给用户应该是视听上的体验,还要强调温馨性。操做方面,要尽可能知足易用/可用性。目标信息尽量的醒目而亲近,让用户能认同、抒发本身的内在情感。

02

业务设计

要充分理解产品背后的业务逻辑,基于市场目标和公司业务需求,梳理业务流程,勾画业务蓝图,设计业务场景及功能,分析和优化流程。业务、财务、数据、用户操做等设计要尽量造成闭环。

03

产品设计

依据业务蓝图和功能设计软件产品,重要的是如何让用户用的“爽”。最后的输出结果才是 PRD(是结果不是目标)。

04

产品创新

创新方面,要以潜在的需求为出发点,开发出具备差别性或全新的产品,将潜在的需求激活为一个现实市场,实现产品价值,引领/驱动业务发展。要清楚产品上线仅是开始,还需以数据为检验标准,不断运营和优化。

 

这里须要提醒的是,有的产品经理侧重于交互,但对业务逻辑不是很清楚。有的产品经理很明白业务逻辑,但交互方面较弱。

 

一名合格的产品经理,交互和业务逻辑是两大基本功,在此之上,还要知道产品如何技术实现、也具有一些基本的项目管理能力。

 

走的相对较远较顺的产品经理,必定是对上要懂 CEO,对外要懂市场、懂用户,对中间要懂业务,在实现方面还懂一些开发的逻辑。

能力五:研发能力

不是某位技术牛人,而是团队总体多方面的调整与标准制定

谈起研发能力,不少人会想我就是一个技术牛人,能够一人顶几人。可是当项目不少的时候,又能顶几个呢?

 

因此,从技术牛人晋级 CTO,还须要在关键技术、交付效率、代码规范和开发模式等方面作不少调整和标准:

  • 关键技术。做为开发领导最好能亲自制定代码框架,肯定使用哪一种技术框架或者方案。要始终保持学习最新的技术及资讯,至少在理念上与行业同步。还要不间断的研究技术。

  • 代码管理。制定合适的代码管理规则,制定合适的分支模式,并创建代码管理规范。

  • 规范标准。须要在项目早期创建一系列的编码规范、接口规范、中间件使用规范、加密规范、密码规范、字符集规范等等。

  • 开发模式。用敏捷仍是瀑布要依照实际状况而定,对于轻量级的需求,或研发人员较少的状况下,可采用敏捷开发模式。当业务很重,就选择瀑布模式,把项目规划清楚,作好细节拆分,可规避需求不匹配的状况。

  • 开发质量。要实现代码 Review 机制、单元测试机制、持续集成、自动构建和自动发布。

能力六:基础管理能力

从传统响应服务向自动化、可持续集成提高

基础管理能力,更可能是体如今运维方面,服务器宕机,网络不通,如何配置/部署/监控等都属于运维范畴。

 

早期运维是 ITSM(IT 服务管理),侧重流程,是一套帮助企业对 IT 系统的规划、研发、实施和运营进行有效管理的方法。

 

布设总服务台来监控,出现故障后服务台负责通知相关开发人员,响应机制和绩效挂钩。ITSM 总体过程很流畅很严格,但它的缺点是过后的管理。

 

如今提倡 ITOM(IT 开发运维、运营管理),侧重 IT 运营管理,从开发设计开始就考虑上线后如何运维,如何设计代码架构、部署架构,如何发现问题,发现问题后如何自动故障转移和修复,包括申请资源、建设配套的 CMDB-DCMS 等。

 

ITOM 更侧重于一个 IT 运营或者运维的管理思想,目标是持续交付和自动化运维。

 

整个运维的流程大体由四步构成分别是:

  • 服务监控。硬件、软件、流量、数据、故障的自动化监控。作好问题和故障反馈机制及故障响应机制、处理机制。此外,还需设计故障预案,实现预案的自动化执行。

  • 配置管理。包括集群、部署、变动等管理。

  • 硬件管理。网络及服务器架构,VM、资源分配机制。

  • 运维机制。自动化部署、自动化运维是基本目标。还需建设日志平台,报警机制及相应处理机制。

 

以下图,是咱们的基础架构(GCP):

 

能力七:团队能力

拥有团队能力的基础上,还应了解学习一些领导艺术

团队能力部分,主要总结六点,以下图:

做为 CTO/技术管理者具有团队能力的同时,还应该了解一些领导艺术。这个时代的比拼不只是兵对兵,更是将对将的较量。

 

只有领导的能量不断放大,团队的竞争力才能总体提高。也能够说,领导之道是现代化竞争中的核心要求。

 

领导艺术主要体如今三方面分别是:

  • 多个部门的协做。合理选择,知人善任;扬长避短、宽容待人;合理使用,积极培养;用人要正激励人才。

  • 工做效率的提高。统筹兼顾、把握关键、指令明确;决断及时;想象力、洞察力、应变力、善于调动他人的积极性。

  • 快乐的工做。平等待人,尊重别人,注意方法;简化语言,积极倾听,控制情绪;把握主动;创造互信环境。

啥样的人能晋升 CTO

最后,啥样的人能晋升 CTO?我的认为,晋升 CTO 主要看三方面:懂技术、懂管理和修炼。

懂技术

CTO/技术管理者自始至终都要懂技术,不断地研究学习新技术,才可以带领技术人员往前冲,对团队给出有高度的建议和合理的技术架构、技术方向的判断。

懂管理

技术再牛,不懂管理,不知道核心目标,不能理解业务,不知道怎么管理人,也不是优秀的 CTO/技术管理者。

修炼

技术和管理是基石,修炼是一个长期的过程,我的的视野和能力修养经过不断历练才能升华。

 

站在山下跟站在山腰看到的风景不同,站在山顶看到的风景和感受又不同,从山脚到山顶的路途确定不平坦,付出的不只是汗水和努力,不经历风雨,如何见彩虹。

 

这全部的过程,都是历练,也是修炼。“横当作岭侧成峰,远近高低各不一样”,“五岳归来不看山,黄山归来不看岳”,这形象的反映出了一我的的境界。

总之,不会打仗的士兵,作不了将军;只会打仗的士兵,也作不了将军;CTO/技术管理者晋级之路就是不断学习,历练、升华的过程。祝各位成功!

 

做者:王雪燕

编辑:陶家龙、孙淑娟

本文选自CTO训练营

相关文章
相关标签/搜索