当前位置: 首页 > news >正文

CTO的职责是什么?

看《架构思维》作者是这样讲的:

CTO 到底是做什么的?

我当下的答案是:“CTO 就是一个从技术视角出发,为公司或者所在的部门做正确决策的 CEO。”怎么理解这句话呢?作为一个 CTO,其长期目标和决策优先级与 CEO 的是 完全一致的,只不过 CTO 是通过技术手段来最大化公司的生存优势和发展,而 CEO 则是 在更广泛的视角上解决公司的生存和发展问题。

我时常问自己:CEO 现在需要什么?从长期看,他需要什么?我怎么做才能帮到他? 在技术视角上,我看到了什么机会和风险?他看到了吗?

也就是说,CTO 的大多数时间都是从技术视角出发,思考 CEO 一直在思考的问题: 如何为企业带来更大的生存优势?这个决策目标有非常大的特殊性。企业内的所有技术人 员,包括总架构师,一般都是以技术本身的先进性作为决策的第一优先级的。技术人员在 考虑企业生存的时候,往往仅以多个约束中的一个作为参考,但 CTO 不是,企业长期生 存才是他决策的第一优先级,技术先进性反倒是第二位的,甚至是可以忽略的。

我们可以通过一个案例来理解这两种思考方式的差异。

假设一名 CTO 所在的行业竞争激烈,所在企业还没有积累足够的资本和领先优势。有 一天,技术团队在讨论是否应该采用云原生的架构来替代现有的方案。从长期的技术发展角 度看,云原生会带来更好的计算伸缩性、更大的技术生态、更先进和更快速迭代的技术栈。

那么,如果以技术先进性为决策第一优先级,公司应该把线下的机器迁移到云上才能加速在 云原生技术栈上的积累,因为这样做不会对公司的生存带来负面影响,所以要立即规划和行 动,才能尽早培养人才和积累技术优势。

但是,同样的问题如果 CEO 以企业生存优势最大化为第一位来思考,结论就会不一样: 第一,做迁移会增加技术投入,降低业务迭代速度;第二,云原生迁移带来的回报是一个长 期且相对缓慢的释放过程,在迁移前期,由于周边技术的不成熟、投入大,资本回报反倒比 较小;第三,也是最重要的一点,迁移到云原生并不能给企业带来当下的生存劣势,但是也 不一定是当下最大化企业生存优势的最好的技术项目。所以,如果以企业生存为第一优先级 做出这个问题的决策,那么对比其他更实用且有明确回报的技术投入,云原生还不是最高优 先级,云原生这件事情可以放一放。

这个案例说明了一件事情,作为 CTO,技术先进性只是他的次要目标,其首要目标是 必须从企业生存为第一优先级出发来做技术取舍。在这种视角下,投入技术创新、加速技术 壁垒的构筑、放弃某项先进技术和某个团队,甚至寻找技术之外的选项,断臂求生,都是非 常合理的选择。

CTO 的这种以企业生存为第一目标的判断能力往往会让 CTO 把最重要的人才投到最有 利于商业增长的领域,而做到这一点就要求 CTO 对所在行业的未来走向有明确的判断,这 其实就是人们常说的商业嗅觉。CTO 只有商业嗅觉足够好,才能知道如何做技术战略,把 最重要的技术投入放在最关键的位置上。

CTO的双重人格

多数 CTO 不会放弃技术思维,因为在多数中小企业中,CTO 和总架构师这两个角色 是合二为一的,由 CTO 一个人承担,其原因有很多。首先,总架构师非常难找,公司对 这个岗位的能力要求非常高,总架构师在软件架构正确性的判断能力上必须在整个公司无 出其右,包括 CTO;其次,总架构师很难从内部培养出来,因为这个角色的判断能力需要 通过许多高风险的决策机会才能提升,这也是大多数中小企业最稀缺的;再次,总架构师 的职级和薪酬很高,从 CEO 视角来看,要招聘的人非常多,为这个岗位付出高薪往往不 是很多中小企业的第一优先级;还有,尽管这两个角色是汇报关系,但是决策的出发点完 全不同,所以经常会发生冲突,发生冲突多了,渐渐就失去了信任,长此以往,难免分道 扬镳;最后,总架构师有个人成长的诉求,很多总架构师期望自己做 CTO,也在企业生存 的维度上决策思考,一旦有机会,也会主动选择离开。

总架构师岗位难招聘、难培养、成本高、合作难、易流失,所以在大多数公司总架构 师这个角色就必须由 CTO 来承担。但是,这两个角色对一家企业来说都是必不可少的。 看一下图 23.1,最上方的是真正担任 CTO 的某个人,他是企业的最终的技术决策者,他 有两种人格,一种是总架构师人格,另一种是 CTO 人格。

图 23.1 CTO 的两种人格

CTO 的这两种人格分别持有不同的视角和决策优先级,对待任何一个问题,CTO 人 格都要和 CEO 保持高度一致,以企业的生存为第一优先级,并兼顾到商业竞争、业务、 财务和产品的视角;总架构师人格必须以技术实力的增长为第一优先级。

这两种人格要不断交锋,总架构师人格要把 CTO 这个决策者的视角拉到技术思维中 去,以技术先进性和技术团队的利益为先;CTO 人格要把 CTO 这个决策者拉到商业思维 上去,以企业的长期生存优势为先。这种冲突势必存在于每个日常的决策中,不断交锋, 但是交锋的最终目标只有一个,就是“从企业的长期利益出发做出最优的技术决策”。

总架构师人格的价值在于为 CTO 决策者提供不同的视角,并在合理的时候帮他顶住 来自 CEO 的压力,坚持正确决策。CTO 人格的价值在于抵抗内心对技术的痴迷和保护自 己团队人员的本能,从公司全局出发作出最优决策,必要的时候,技术先进性、团队利益 和架构合理性都是可以牺牲的选项。

做好总架构师其实有一个必要条件,就是具备与 CTO 建立深度信任的基础和化解日 常冲突的能力。但是, 在频繁的冲突和信息不对称的情况下,做到这一点非常难,所以中 小企业的 CTO 最终选择同时保持两种人格。

关于《架构思维:从程序员到CTO》这本书

本书以架构师工作中的痛点问题为导向,结合大量真实、复杂的案例,帮助架构师提高架构设计能力,规划职业成长路径。本书共4部分,第一部分“架构师的思维模式”介绍3种架构师的思维定式和4种架构活动中常见的思维模式;第二部分“架构师的生存法则”介绍影响架构活动成败的6个要素,以及由其引出的架构师的6条生存法则;第三部分“架构活动中的挑战、根因和应对”介绍架构师在整个架构活动中持续发挥的作用以及架构活动不同阶段常见的问题;第四部分“架构师的职业规划和能力成长”介绍架构师的成长地图和对应角色的关键能力,以及提升思考力的方法。

相关文章:

CTO的职责是什么?

看《架构思维》作者是这样讲的: CTO 到底是做什么的? 我当下的答案是:“CTO 就是一个从技术视角出发,为公司或者所在的部门做正确决策的 CEO。”怎么理解这句话呢?作为一个 CTO,其长期目标和决策优先级与…...

【GD32】从零开始学兆易创新32位微处理器——RTC实时时钟+日历例程

1 简介 RTC实时时钟顾名思义作用和墙上挂的时钟差不多,都是用于记录时间和日历,同时也有闹钟的功能。从硬件实现上来说,其实它就是一个特殊的计时器,它内部有一个32位的寄存器用于计时。RTC在低功耗应用中可以说相当重要&#xf…...

HTTP网络协议

1.HTTP (1)概念: Hyper Text Transfer Protocol,超文本传输协议规定了浏览器和服务器之间数据传输的规则。 (2)特点 基于TCP协议:面向连接,安全基于请求-响应模型的:一次请求对应一次响应HTTP协…...

Kubernetes相关生态

1、Prometheus、Metrics Server与Kubernetes监控体系 简介: Prometheus 项目与 Kubernetes 项目一样,也来自于 Google 的 Borg 体系,它的原型系统,叫作 BorgMon,是一个几乎与 Borg 同时诞生的内部监控系统 Pro…...

C语言入门4-函数和程序结构

函数举例 读取字符串&#xff0c;如果字符串中含有ould则输出该字符串&#xff0c;否则不输出。 #include <stdio.h>// 函数声明 int getLine(char s[], int lim); int strindex(char s[], char t[]);int main() {char t[] "ould"; // 要查找的目标子字符串…...

分行业二氧化碳排放数据

分行业二氧化碳排放量 资源名称&#xff1a;分行业二氧化碳排放量 数据来源&#xff1a;中国能源统计年鉴 时间范围&#xff1a;1995-2018年指标&#xff1a;八类能源和总量&#xff1a;煤炭、焦炭、原油、汽油、煤油、柴油、燃料油、天然气...

【OS基础】符合AUTOSAR标准的RTAOS-Alarms详解

目录 前言 正文 7.报警Alarms 7.1配置Alarms 7.1.1激活一个任务 7.1.2 设置一个事件 7.1.3报警回调Alarm Callback 7.1.4 增加计数器值 7.2设置Alarms 7.2.1 绝对Alarms 7.2.2 相对Alarm 7.3自启动Alarms 7.4 删除Alarms 7.5确认何时会发生Alarm 7.6非周期Alarm…...

基于Java的学生成绩管理系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;Java技术&#xff0c;B/S结构 工具&#xff1a;MyEclipse&#xff0c;MySQL 系统展示 首页 个人中…...

都2024年了,还有人不懂动态代理么?

文章目录 一、定义二、静态代理三、动态代理1. JDK代理1.1 JDK代理实现流程1.2 动态生成的类字节码 2. Cglib代理2.1 Cglib实现流程 四、总结 一、定义 静态代理和动态代理都反映了一个代理模式&#xff0c;代理模式是一种经典的设计模式&#xff0c;常用于为其他对象提供一种…...

ARM功耗管理框架之PPU

安全之安全(security)博客目录导读 思考&#xff1a;功耗管理框架&#xff1f;SCP&#xff1f;PPU&#xff1f;LPI&#xff1f;之间的关系&#xff1f;如何配合&#xff1f; 目录 一、功耗管理框架中的PPU 二、PPU的结构与连接关系 三、PPU操作模式和电源模式及其之间的转…...

说说 SSL 的错误认识和不足之处

最近明月在学习折腾 LNMP 期间无意中建了一个 Typecho 的博客小站&#xff0c;近一周的折腾下来&#xff0c;收获真的不少&#xff0c;致使兴趣也越来越浓了&#xff0c;在升级 LNMP 的时候捎带手的给这个 Typecho 博客也启用了 SSL。并且开启了 memcached 和 OPcache 优化加速…...

Go语言day1

下载go语言的安装程序&#xff1a; All releases - The Go Programming Language 配置go语言的环境变量&#xff1a; 写第一个go语言 在E:\go_workspace当前窗口使用cmd命令: 输入 go run test.go...

【Python机器学习】利用t-SNE进行流形学习

虽然PCA通常是用于变换数据的首选方法&#xff0c;使你能够用散点图将其可视化&#xff0c;但这一方法的性质限制了其有效性。 有一类用于可视化的算法叫做流形学习算法&#xff0c;它允许进行更复杂的映射&#xff0c;通常也可以给出更好的可视化。其中特别有用的一个就是t-S…...

03 - matlab m_map地学绘图工具基础函数 - 设置坐标系(m_coord)

03 - matlab m_map地学绘图工具基础函数 - 设置坐标系&#xff08;m_coord&#xff09; 0. 引言1. m_proj使用方法2. 结语 0. 引言 上一篇介绍了m_proj函数用于初始化投影&#xff0c;本篇介绍的函数m_coord用于初始化地理坐标系或地磁坐标系&#xff0c;地理/地磁坐标系和投影…...

UEC++ 虚幻5第三人称射击游戏(一)

UEC 虚幻5第三人称射击游戏&#xff08;一&#xff09; 创建一个空白的C工程 人物角色基本移动 创建一个Character类添加一些虚幻商城中的基础动画 给角色类添加Camera与SPringArm组件 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category "SpringArm")clas…...

java小代码(1)

代码 &#xff1a; 今日总结到此结束&#xff0c;拜拜&#xff01;...

SLAM ORB-SLAM2(27)词袋模型

SLAM ORB-SLAM2(27)词袋模型 1. 词袋模型1.1. 词汇树1.2. 逆向索引表1.3. 逆向索引表2. 词袋向量3. 匹配候选帧3.1. 找出和当前帧具有公共单词的所有关键帧3.2. 找出和当前帧最多公共单词的关键帧3.3. 剔除共享单词数较少的关键帧3.4. 计算关键帧的共视关键帧组的总得分3.5. …...

OpenAI 的 GPT-5:CTO米拉-穆拉提说,到 2026 年将实现博士级智能(Ph.D.-Level))

据首席技术官米拉-穆拉提&#xff08;Mira Murati&#xff09;介绍&#xff0c;GPT-5 是 OpenAI 人工智能的下一代进化产品&#xff0c;将于 2025 年底或 2026 年初在特定任务中实现博士级智能。 GPT-5 内部代号为 "Gobi "和 “Arrakis”&#xff0c;将是一个多模态…...

macbook配置adb环境和用adb操作安卓手机

&#xff08;参考&#xff1a;ADB工具包的安装与使用_adb工具箱-CSDN博客&#xff09; 第一步&#xff1a;从Android开发者网站下载Android SDK&#xff08;软件开发工具包&#xff09;。下载地址为&#xff1a; 第二步&#xff1a;解压下载的SDK压缩文件到某个目录中。 进入解…...

微软TTS最新模型,发布9种更真实的AI语音

很高兴与大家分享 Azure AI 语音翻译产品套件的两个重大更新&#xff1a; 视频翻译和增强的实时语音翻译 API。 视频翻译&#xff08;批量&#xff09; 今天&#xff0c;我们宣布推出视频翻译预览版&#xff0c;这是一项突破性的服务&#xff0c;旨在改变企业本地化视频内容…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

04-初识css

一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...