业界 | 成为CTO之前,我希望有人告诉我这些

简介:

如何成为一位合格的CTO,在成为CTO之前又需要哪些职业素养,即将离职的 SketchDeck CTO讲述他在过去四年担任此职位的经验。

这是一段刺激又美妙的体验,在创业公司工作与传统的任职大不相同:一开始,你完全不知道公司是否会成功,也不知道它会不会变成一份全职工作,之后,随着公司的发展,你体验着新的各不相同的职位。总的来说,你会经常做着你曾经从未做过的工作。在你还未充分利用手中的权力之前,新的责任已经来到了你的面前。

0a98077aa080db4f460b6766c3d6dc85d1490d62

创业公司像大海中小船,能够灵活处理突发事件,但是你在第一天做出的决定会随着时间的推移不断往外产生涟漪。我现在知道的是,你选择的基础建设、框架结构和语言都将在未来的很长一段时间里伴你左右。

随着公司的成长,构建更多功能和子系统的重压会不断增大,每一个都将进一步锁住你的选择。伴随你获得更多动力的,是压力的持续增加,这时你再想停下来重新修改这些已经不可能了。

我对我们的选择非常满意:Amazon Web Services, Elastic Beanstalk, Firebase, AngularJS, Coffeescript, Kafka, Simple Queue System, SocketStream, Docker, SemaphoreCI, MySQL。列表中,仅有 AngularJS和MySQL在规模方面存在问题。我们的整个AngularJS代码包太大了,下载需要相当长的一段时间,应用程序也有点太慢了。随着BI查询复杂性的增加,(RDS中的)MySQL会崩溃并重新启动,这个问题很难解决。

众所周知,一项技术的生命周期惊人的短。CoffeeScript和AngularJS是已经过时的组件(我们计划迁移至TypeScript和最新的Angular)。当我们采用这些技术的时候,他们都相当的先进,真是庆幸,我对前沿科技的偏爱并没有引起任何严重的问题。我极其欣赏CoffeeScript ,因为其简洁的功能性语法,这些年里它极大地帮我大大提高了生产效率。

52493771ad9579981f830273602ee2a4b10d6283

基于以上,你得明白你需要准确计算预算时间,并为技术的更替制定策略。你在采用任何技术时都得接受长期的“技术债务”。

同样,你编写的组件和库将长期存在,不管你写得好不好,他们的状态一直都会这样——所以,为将来的维护人员着想,你最好多花一点时间在上面。

我们试图在我们所处理的代码领域进行小幅改进。有时,考虑到代码库的(总是不完美)的总体状态,可能会有压力,此时,我就会进行不断的小改进。

最后,是关于测试的简短说明:我发现让我们的团队编写测试代码真的很困难。我为我们系统中的很多部分都编写了测试用例,并配置好了测试服务器,在每次有代码提交的时候会自动运行。尽管如此,我很少看到其他人添加测试。我总是希望团队里能够重视测试,但是不尽如人意。以下是我解决这个问题的想法:

  • 开设有关如何编写测试的复习课程;

  • 要求重要功能包括至少一个测试;

  • 优化我们的测试服务器,使之在10秒钟内完成而不是10分钟(哎!),让程序员及时看到测试结果。

除了纯粹的技术决策之外,一名CTO还应兼顾人员管理。每天的大部分工作将是管理,领导,招聘和解雇人员。我不得不将学习这些贯穿始终。当然随着实践的进行,对这些流程会越来越熟练。

虽然员工是公司最宝贵的资产,但招聘员工的过程同样让人精疲力尽。相比收获了新入职的人,你可能需要花更多的时间来考虑雇用和拒绝更多的人。你可能需要更严格地过滤。我从未想到完美的创业团队成员是多么难得,也没想到会花如此多的时间和精力来寻找他们。

c1588872ff04adcc782f3dd5f07fb947dac7a14b

明确何时招人也是一个棘手的问题:是现在还是之后为这个职位招人?应该先为哪些职位招人?这些问题在你得到投资之后会尤其突出,因为你觉得你有义务让这些资金发挥最大价值。幸运的是,我们从Michael Siebel和YC那儿收获了一些具有帮助性的建议:

  • 当你感觉某个职位需求非常迫切的时候才开始招聘(比如快赶不上合同进度了的时候):

  • 招人是为了满足业务发展的需要,不能本末倒置(这条主要适用于还没有形成规模化的早期公司);

  • 不要招人来做一些你都还没想明白的事情(一些优秀的候选人也许能给公司带来新的动力,但通常的做法还是靠“有魔力”的创始人配置公司资源来适应新的发展)。

综上所述,如果你不确定是否需要为某个岗位招聘员工,可能做这个决定为时过早。我们也曾试图雇人来给公司实现我们自己也没有计划好的增长方案,但大部分时候都失败了。

员工管理一直相对比较顺利 —— 定期开诚布公的检查,明确什么是该做的,什么是不该做的,这些措施让我和我的员工保持着良好的关系。

管理人员一直相对比较顺利——与员工定期的、开诚布公的交流,这让我和同事们保持良好的关系。

8be77a92b673bd3e1391f34f97353a98aafc5cc9

我发现解雇员工是工作中很棘手的问题。你能从其他地方找到很多有用的建议,我在这儿简单地重申一下,早在你理性地决定和正式解雇一个人之前,你的直觉就已经做出判断了,但是解聘员工的这个过程非常痛苦。

良好的定期交流有助于双方接受最坏的结果。最后,基于一份个人发展计划,有一部分人真的能够应付自如,成为高效的团队成员;每个人都应该有这样的机会去展示自己。

伴随公司发展的一大乐趣就是看到一些优秀的人才在各自的领域能够独挡一面。在此,我要向我的整个团队致以诚挚的敬意和祝贺。


原文发布时间为:2018-03-21

本文作者:文摘菌

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”微信公众号

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
7月前
|
人工智能 运维 搜索推荐
2025年度数字人平台推荐榜单揭晓:实力、优势、功能、应用场景、技术等报告呈现
根据2025年最新行业数据及权威榜单分析,国内数字人领域已形成以技术驱动、场景落地为核心的竞争格局,以下推荐5家头部企业及特色厂商,按技术成熟度、场景适配性、行业影响力综合排序:
|
JavaScript
vue + d3.js(v6) 绘制【树状图/思维导图】可折叠/展开,可点击跳转,可带标签
vue + d3.js(v6) 绘制【树状图/思维导图】可折叠/展开,可点击跳转,可带标签
2020 1
|
存储 Java 编译器
|
人工智能 量子技术 数据中心
一年18篇论文 谷歌Quantum AI团队2021年度总结
一年18篇论文 谷歌Quantum AI团队2021年度总结
370 0
一年18篇论文 谷歌Quantum AI团队2021年度总结
|
22天前
|
Linux 程序员 数据格式
【2026最新】Notepad++下载、安装和使用一篇搞定(附中文版安装包)
Notepad++ 是一款免费开源、轻量高效的 Windows 文本编辑器,支持 C/Python/HTML 等 80+ 语言语法高亮、代码折叠、正则替换、编码转换及插件扩展,专为程序员与文本处理用户打造,完美替代系统记事本。(239字)
|
8天前
|
人工智能 缓存 安全
Claude Code 封号真实原因曝光,这次彻底不装了,直接针对国内开发者的账号下手?
Claude Code 封号潮背后:逆向扒出客户端隐写区域标记,Anthropic 政策收紧叠加 DeepSeek 7 月涨价,国产替代更紧迫。
|
13天前
|
人工智能 JSON 自然语言处理
让教学更智慧:用阿里云百炼工作流,自动生成中小学教材内容#小有可为#有温度的AI
通过可视化工作流编排,将大模型推理能力转化为标准化的教学内容生成引擎。教师只需输入教材标题和适用学段,即可自动获得结构完整、符合课程标准的章节内容,大幅降低备课门槛,助力教育资源均衡化。
496 127
|
17天前
|
存储 人工智能 监控
QoderWork完全指南:从入门到精通,把“AI实习生”变成你的全能工作搭档
阿里云2026年推出的桌面端AI工作助手QoderWork,不止聊天,更可动手干活:本地运行、安全可控,支持文件整理、数据分析、PPT生成、网页开发等;内置专家套件、多Agent协作与自定义Skills,让AI真正成为你身边的“AI实习生”。