结论:衡量成功
您已经建立了一个很好的招聘流程,团队很高兴,您正在像专业人士一样进行冲刺,您的架构经受住了业务增长的考验。这感觉很好,但是我们如何知道这是否足够?作为技术领导者或CTO,我们如何衡量自己的成功和绩效?
从CFO的角度来看,定义这个角色的伟大程度可能是:CTO能多有效地使用研发预算,并将其转化为工程和产品输出?
或者,也许我们可以从CEO的角度来看待:CTO领导的团队能多快地实现某些业务目标?
或者,考虑到人员领导力在这个角色中的重要性,我们可以从人性化的角度来看待:您的团队是在做他们最好的工作吗?毕竟,优秀的CTO的使命是建立一种组织文化,让个人工程师能够做出他们最好的工作,并通过技术实现不可能。
或者,与其试图定义一个单一的目标,也许衡量CTO伟大程度的最佳方式是将CTO可能在日常工作中运用的所有技能总和起来。也许伟大程度是当您将架构、绩效管理、供应商管理、高级领导力、文化贡献、公开传道、指导和DevOps等内容进行综合处理后,通过一个公式得到大于42的数字。
尽管我们努力,似乎伟大的领导,甚至伟大的技术领导,我们无法准确衡量或衡量。聪明人们将难以就伟大的描述达成一致,但我们将一致同意,这个角色是多样化且不断变化的,需要不断学习和适应。
在工程领导中,没有普遍的真理,但其中之一是成为一名优秀的工程领导者是一个不断自我改进、发现和成长的旅程。向前迈进需要谦卑、愿意犯错的心态,最重要的是,充满好奇心和学习的愿望。我希望这本手册能成为你在领导之旅中面临挑战时的有用参考指南。这本手册涵盖了多年来我自己所面对的挑战,以及我有幸与许多出色的领导者交往过程中遇到的挑战。
我尽力为应对这些挑战提供了一些结构,尽管每种情况都是独特的,最终你走的路径是你自己设计的,结果也属于你自己。
在人生的某个时刻,人们会问你:你给年轻版的自己什么建议?这本手册就是我对那个问题的答案。
我希望它能帮助你在建立强大的技术、激励和授权团队、成功经营企业的旅程中,最重要的是能让你快乐并为世界做一些好事。
书籍参考资料
- 快速完成任务(作者:David Allen)
- 极限编程解释(作者:Kent Beck)
- 工作规则!(作者:Laszlo Bock)
- 如何赢得朋友和影响他人(作者:Dale Carnegie)
- 敏捷估算和规划(作者:Mike Cohn)
- 从优秀到卓越(作者:Jim Collins)
- 高效人士的七个习惯(作者:Stephen Covey)
- 领域驱动设计(作者:Eric Evans)
- 企业应用架构模式(作者:Martin Fowler)
- 高产出管理(作者:Andy Grove)
- 缩放(作者:Verne Harnish)
- *事情的艰辛真相(作者:Ben Horowitz)
- 对变化的免疫力(作者:Robert Kegan)
- 凤凰计划(作者:Gene Kim)
- 团队的五个失效(作者:Patrick Lencioni)
- 人性的管理(作者:Michael Lopp)
- 团队的团队(作者:Stanley McChrystal)
- 逃脱构建陷阱(作者:Melissa Perri)
- 有权威(作者:Jonathan Raymond)
- 好战略/坏战略(作者:Richard Rumelt)
- 激进坦率(作者:Kim Scott)
- 敏捷开发的艺术(作者:James Shore和Shane Warden)
- Scrum:一半时间完成两倍工作的艺术(作者:Jeff Sutherland)
- 极端拥有权威(作者:Jocko Willink和Leif Babin)
数字参考资料
- VSCode的配置文件(网址:ctohb.com/vscode)
- Gmail快捷键(网址:ctohb.com/keytogmail)
- 屎伞(网址:ctohb.com/umbrella)
- 说谎者矛盾(网址:ctohb.com/liarsparadox)
- Gitlab薪资计算器(网址:ctohb.com/gitlabcompcalc)
- 五个为什么(网址:ctohb.com/5whys)
- 进行DORA DevOps快速检查(网址:ctohb.com/dora)
- Netflix守护者测试(网址:ctohb.com/keeper)
- 为什么GitLab支付当地费率(网址:ctohb.com/local)
- 什么是高级面试流程?(网址:ctohb.com/interview)
- 高级(网址:ctohb.com/topgrading)
- 绘制桥梁(网址:ctohb.com/painting)
- 敢于引领:勇敢库存清单(网址:ctohb.com/braving)
- 根本原因分析模板(网址:ctohb.com/rca)
- 小接口!(网址:ctohb.com/diffs)
- GitHub流程,基于树干的开发和代码审查(网址:ctohb.com/branching)
- 出货/展示/询问(网址:ctohb.com/ssa)
- Thoughtworks技术雷达27(网址:ctohb.com/techradar)
- 功能切换(又名功能标志)(网址:ctohb.com/hodgson)
- 多阶段构建(网址:ctohb.com/docker)
- 选择无聊技术(网址:ctohb.com/boring)
- 技术雷达(网址:ctohb.com/radar)
- 瀑布模型(网址:ctohb.com/waterfall)
- 实用程序员(网址:ctohb.com/tpp)
- 橡皮鸭调试(网址:ctohb.com/rdd)
- 频率减少难度(网址:ctohb.com/fowler)
- Figma材料设计(网址:ctohb.com/figma)
- 如何使用Atlassian设计系统设计(网址:ctohb.com/design)
- 构建高效团队(网址:ctohb.com/teams)
- GitHub薪资计算器(网址:ctohb.com/calc)
- Codeacademy工程能力(网址:ctohb.com/competencies)
- 多任务神话(网址:ctohb.com/myth)
- 首字母缩写真烂:埃隆·马斯克(网址:ctohb.com/acronyms)
- Levels如何在没有会议的情况下工作(网址:ctohb.com/async)
- 以友善的方式合作:在Slack中考虑这些礼仪技巧(网址:ctohb.com/slack)
- 如何有效地使用跳级会议(网址:ctohb.com/skip)
- 从创始人到CTO(网址:ctohb.com/founder2cto)
- 如何优先考虑开发者体验并提高产出(网址:ctohb.com/dx)
术语表
敏捷仪式(Agile ceremony):敏捷仪式是开发团队在开发过程的各个阶段集合在一起进行讨论的会议。讨论的内容可以包括规划未来的工作、沟通正在进行的工作,以及回顾和反思过去的工作。
求职追踪系统(ATS):求职追踪系统(ATS)是招聘人员和雇主用来跟踪候选人在招聘和雇佣过程中的情况的软件。
童子军守则(Boy Scout Rule):让事情比你遇到时更好。在技术团队中,每当你在一段代码中工作时,总是做一点改进,比如改进测试、文档,或者提高代码的清晰度、可读性或可维护性。
现场开发(Brownfield development):与绿地开发相反,即利用现有的遗留系统进行开发,这些系统通常受到技术债务的影响。你被困于过去所做的高层决策,并且在进行大规模改变时具有有限的灵活性。
商业智能(BI):商业智能(BI)是一种软件,它将业务数据输入并以用户友好的形式呈现,例如报告、仪表板、图表和图形。
点击运维(ClickOps):点击运维是在云服务提供商的网站上一个接一个地点击各种菜单选项来选择和配置正确的自动化计算基础设施的错误倾向性和耗时性过程。
容器化(Containerization):容器化是将包含运行应用程序所需元素的软件打包到容器环境中。这使得组织可以在私有数据中心、公共云甚至个人笔记本电脑上运行应用程序。
上下文切换(Context switching):从一个任务切换到另一个任务。对于工程师来说,这意味着放下正在处理的问题,开始处理另一个问题。切换的过程通常耗时,并且比一次只处理一个问题效率低下。
直接报告(Direct report):直接报告是指直接向组织图中更高级别的人员,通常是经理、主管或团队负责人报告的员工。
工程产品与设计(EPD):将传统上的三个独立部门(设计、产品和工程)合并成一个独立部门的概念。缩写顺序通常会改变,例如EDP、PDE。
绿地解决方案(Greenfield solution):绿地软件开发是指在一个几乎没有现成遗留代码的新环境中进行的开发工作,并且可以自由选择工具、模式和架构。
一层/二层/三层(Horizon One/Two/Three):每个层次代表了不同的时间跨度。一层通常是短期(几天/几周),二层是中期(几个月),三层是长期(几年)。通常用作规划工具,以确保你考虑到每一层次的需求。
同卵生的(Idempotent):如果对操作的后续执行不会改变输出,则该操作是同卵生的。
改善(Kaizen):改善所有流程的哲学。
关键绩效指标(KPI):关键绩效指标(KPI)是衡量进展目标的重要可量化指标。有时也称为输入指标。
目标与关键结果(OKRs):目标与关键结果是一种目标设定框架,发源于Intel公司上世纪70年代,用于个人、团队和组织定义可衡量的目标并跟踪它们的结果。
鸽洞原理(Pigeonhole principle):描述的是一种情况,这种情况下结果的数量是固定的,而实验的次数更多。如果你抛一枚硬币三次,那么正面和反面中至少有一个会出现两次。
产品需求文档(PRD):产品需求文档(PRD)是一个将产品需求的背景、参考资料、理由和表述聚集在一处的文档。
可再现性(Reproducibility):在需求基础上能够随时重现给定结果的能力。在软件开发中,通常表现为用户点击按钮X,然后应用程序崩溃。如果点击按钮是导致应用程序崩溃的完整可靠描述,这就是一个可重现的崩溃案例,具有已知的重现步骤。
建议征求意见(RFC):一份概述某个想法、理念、提案或方法论的文件,旨在收集反馈,并最终成为长期的参考资料。
根本原因分析(RCA):一种方法和通常是一份文件,旨在深入了解事件发生的真正原因。通常用作对软件项目发生的问题进行调查的工具,然后用作参考文档。
SaaS管理平台(SMP):SMP是一个提供单一位置来审查、管理、优化和管理组织中使用的SaaS工具的平台。
面向服务的架构(SOA):面向服务的架构(SOA)一词起源于20世纪90年代,用于指代一些相当特定的技术选择。现在这个词被更广泛地用来描述系统中信息在网络上的各个部分之间移动的系统。
站立会议(Standup meeting):(也称为每日Scrum)是敏捷仪式的一部分,通常是短暂的会议,不超过30分钟,旨在促进团队内部的沟通、更新、冲突解决和决策。
稻草人模型(Straw Man Model):第一个草稿建议,可以快速拼凑出来,数据不完整。通常用作与团队的一个起点提案,加速收集反馈和找到解决方案的过程。
同步/异步工作文化(Synchronous/Asynchronous Workplace Culture):异步工作文化的理念是鼓励沟通异步进行,即在沟通的双方不需要同时参与的情况下进行。例如,书面文件促进了异步沟通,作者不需要在读者阅读文件时出现。异步文化不强调会议,而强调书面或记录的音频/视频文件。
本文是 THE STARTUP CTO’S HANDBOOK 中译版,由极客智坊翻译服务自动翻译完成,另有中文PDF版本提供下载:创业公司CTO手册。