ramostear.comramostear.com 谭朝红的技术分享博客

格言 编程是一门技术,也是一门艺术 !

首席技术官(CTO)在IT创业公司的角色转变

首席技术官(CTO)在IT创业公司的角色转变

在大多数的IT创业公司中,大多是技术驱动型的公司。面对不断涌现的行业新技术,企业需要快速的掌握并采用这些创新型技术,以确保企业在激烈的竞争中获得相对的竞争优势。以技术为驱动力的公司,为了能快速的处理公司所有的技术问题,从而催生了一个新的职位——首席技术官,英文简称CTO。如果你的公司是一家以技术为驱动力的创业公司,或者你是一位准备转型做CTO的开发人员,那你应该先充分了解首席技术官在IT创业公司中所扮演的角色以及该角色需要承担的责任。

​ 本文以首席技术官的职责和技能为主题,分析首席技术官在IT创业公司的各个发展阶段所扮演的角色,帮助你快速地对首席技术官(CTO)这个职位有一个全面的了解。

一、IT创业公司的CTO在扮演什么角色?

​ 首席技术官,从字面意思上看,主要负责与公司内部技术相关的工作,但这个定义太过于模糊和笼统。在国内外的IT创业公司中,对于CTO该干什么,不该干什么没有明确的定义和统一的标准,不同的IT创业公司因其业务的不同,对CTO的职能要求也不尽相同。虽然不同IT创业公司对CTO有着不同的职能划分,但是从CTO的工作本质上看,可以将CTO划分成技术领导型和技术管理型两类。

1-1、技术领导型

​ 技术领导型的首席技术官都拥有这超高的编码水平,在软件编码、架构设计、基础设施配置等领域都拥有丰富的专业知识和实践经验。他们自身具备的丰富的专业知识和开发经验,帮助其有能力对技术团队中其他的开发人员的代码进行评审,同时能为公司的工程项目作出风险评估。

1-2、技术管理型

​ 这一类型的首席技术官主要的工作任务是监督和管理工程项目的各个项目经理。技术管理型的首席技术官也具备较高的编码水平,但他们通常不参与具体的编码工作,而是将主要的精力放在公司技术战略走向并管理技术团队内部的工程。

​ 随着IT创业公司的不断发展,首席技术官的工作重心将从技术领导过渡到技术管理。在下面的内容中,将逐步分析IT创业公司在各个阶段中,首席技术官角色的演变过程。

二、IT创业公司的CTO角色会发生什么变化?

​ 所有IT企业的首席技术官都有一个贯穿公司始末的伟大使命:确保公司的技术战略完全服务于公司的业务战略。下面是一个IT创业公司从零(0)到一(1)的过程中CTO角色发生的转变。

2-1、创业早期

​ 在创业早期,所有的工作都是围绕着一个商业创意开始的。在这个阶段,公司可能还没有成立,所有的创始人在一起思想碰撞,一场又一场的头脑风暴,目的是完善创业,起草商业计划书。此时的CTO(通常是创始人)往往是一个拥有强大技术专长的人,他们的主要工作职责是验证商业方案的技术可行性,并提出实施软件产品开发的技术解决方案。

2-2、创业初期

​ 如果创业团队的商业方案得到了投资人和消费者的关注,创业团队会注册公司并开始着手构建第一个版本的软件产品。此时的CTO是技术团队的第一个(大多数情况下也是唯一一个)开发人员,他们需要在有限的时间内开发出一个最小化的可使用的产品——MVP(MVP是Minimum Viable Product的缩写)。

​ 在这个阶段,CTO的主要工作如下:

  1. 选择并确定公司的技术栈
  2. 设计软件架构
  3. 配置可扩展的基础架构(硬件和网络)
  4. 软件源代码编写
  5. 测试应用软件

​ 这些初期的工作需要CTO具备强大编码能力(有时是全栈开发),经验和相关的开发流程知识。可能一些创业初始的公司会聘用技术人员,CTO不需要单挑所有的工作,但他们依旧需要在早期为产品原型编写大量的源代码。

2-3、创业成长期

​ 公司进入快速成长期时,软件产品开始投放市场,CTO的工作重点转向软件的升级工作。软件升级让初始版本的的产品更具功能性和可用性,以便吸引更多的用户使用软件。为了加快软件开发速度,企业通常在这个阶段加快扩充技术团队人数的速度,CTO的角色也相应发生了转变,技术团队的管理事务开始进入CTO的工作日程表:

  1. 优化应用程序的部署流程,以提高开发人员的工作效率
  2. 确保应用程序能安全、可靠的运行
  3. 提出更经济、可扩展的基础设施配置方案

​ 在这个阶段,CTO除了参与编码工作外,还要负责管理不断扩大的技术队伍,其管理工作主要体现在以下两个方向:

  1. 负责监督招聘新职员的工作,需要对招聘技术人员的工作做最后的把关
  2. 建立公司的技术文化,如开发工具集、SDK版本、编码风格、书写规范、命名规范、注释规范、文档规范等等,良好的技术文化可以确保所有的开发人员能够遵循同一个标准和最佳实践开展编码工作,从而提高生产效率。

2-4、创业成熟期

​ 公司进入创业成熟期,技术团队的人数将由原来的几人增加到几十人甚至几千人,在这个时期,CTO必须要带领大批的开发人员按照既定的开发规范和工作流程开展编码工作。此时CTO的工作重点将完全转向管理,CTO可能会同时协调并监督多个开发团队,完成不同的软件工程任务。

​ 在此阶段,CTO需要花时间和精力去构建软件产品的愿景,跟踪并分析行业中最新的技术动向,并给出在下一个软件版本中实施相关技术的可行性方案。为了做出合理的、正确的技术选择,CTO在这个时期需要进一步了解新技术的详细流程和行业竞争者的技术状态,需要采用相关的创新技术,确保相比于竞争对手有一定的技术竞争优势。

​ 在本小节中,分析了在IT创业公司中,随着公司的发展,CTO从技术领导型向技术管理型转变的原因。在下面的章节中,将介绍IT创业公司的CTO都需要具备什么样的技能。

三、IT创业公司的CTO需要哪些必杀技?

​ 前面我们分析了IT创业公司在不同阶段中CTO工作职责的转变,CTO需要在软件开发和团队管理上都有着优于常人的能力。接下来,将介绍IT创业公司在各个发展阶段CTO需要具备的一些技能。

3-1、软件架构师

​ 在创业初期,CTO是公司唯一的技术权威和技术实现者,这就要求CTO需要拥有以下的技战水平:

  1. 设计并实现软件架构
  2. 选择并确定技术栈
  3. 设计并配置基础架构(硬件和网络)
  4. 选择并调试开发工具
  5. 设计并实现数据建模
  6. 优化并升级应用程序
  7. 确保应用程序的安全性和可用性
  8. 确保基础架构的经济适用性
  9. 跟踪并分析行业新技术,并对是否采用新技术作出决策

3-2、系统管理员

​ 在创业初期,CTO大多数都兼任系统管理员一职,负责对基础架构和应用程序进行管理,需要具备以下的工作能力:

  1. 软硬件的安全防护管理
  2. 域名、SSL证书和第三方服务管理
  3. 内部开发沟通渠道管理
  4. 基础架构性能监控管理
  5. 数据备份和日志审查管理

随着公司的壮大,这一部分工作会交由首席信息官(CIO)来管理,但在早期,大多数工作还是由CTO来完成。

3-3、项目组长

​ 当技术团队开发人员数量增加时,CTO开始转向团队管理,编码工作的份额开始减少,此时的CTO开始承担一个项目组长的所有职责:

  1. 根据以往的最佳实践和新的编码方法定义和实施开发标准
  2. 制定开发流程
  3. 审查软件源代码
  4. 分配开发任务
  5. 监督招聘工作
  6. 培训新职工
  7. 与客户展开沟通
  8. 与决策层沟通
  9. 评估开发人员的KPI(Key Performance Indicatro,即关键绩效指标)
  10. 监督开发人员的工作进度
  11. 评估技术风险

​ 成为一个优秀的技术管理者不仅需要强大的专业技术知识,还需要有良好的沟通能力,需要随时与开发人员沟通,并解决开发中遇到的问题。

3-4、运维工程师

​ 除了推动公司的开发工作向前发展,管理好技术团队之外,CTO在公司的发展期,还需要成为一名不错的运维工程师,在公司进入创业发展期,CTO必须要负责建立安全、可靠、易用的软件部署通道,为开发人员提供良好的软件升级环境,此时的CTO需要建立起高效的运维流程:

  1. 构建易用、安全、稳定的软件部署通道
  2. 规划软件产品的版本
  3. 选择版本管理工具并管理软件产品版本
  4. 制定并实施软件产品版本的发布周期

3-5、企业高管

​ 在本文一开始提到,IT创业公司的CTO通常是公司的创始人之一,是公司软件工程的最高执行官。除了编码、运维等技术类工作,他们还需要参与公司的上层管理:

  1. 参与公司战略规范和重大决策工作
  2. 参与公司的高层管理工作
  3. 跟踪和分析竞争对手,提出技术创新建议
  4. 为公司的业务提供可行性的技术方案
  5. 监督并协调外部劳动力(外包团队)
  6. 跟踪行业内的技术趋势并识别出公司的技术竞争优势
  7. 评估并监督公司在技术领域的资金预算
  8. 优化基础设施配置方案,降低产品运营成本

​ 技术类的企业高管,不仅要具备强大的专业知识,还需要对企业的管理流程有深入的了解。单纯的技术达人,不是一个合格的IT企业CTO。

四、总结

​ 随着IT创业公司的发展,首席技术官所扮演的角色也在发生改变,总的来说,CTO需要处理公司内部所有和技术有关的问题,可能是微观上的,也可能是宏观上的,但其核心使命不变:确保公司的技术战略完全贴合公司的业务战略。一个成功的IT创业公司(什么样子才算成功?所有的IT创业公司都想要成为行业的领头羊或者独角兽,也许这样才算成功!),一定有一个优秀的首席技术官伴随着企业的成长,他们了解企业在不同的发展背景下应该做什么事、需要具备什么样的技术能力和需要思考什么样的问题。

​ 最后,如果需要用一句话来概括一名出色的CTO所具备的能力和特点,那可能是这样的:出色的CTO都是嚼着嘴里的,夹着碗里的,看着锅里的,想着地里长着的

(转载本站文章请注明作者和出处:谭朝红-ramostear.com,未经允许请勿做任何商业用途)

发表评论