写点什么

舍弃 325 亿估值公司 CTO 职位:写代码才最快乐!管理只会影响我搞研发

2021 年 7 月 28 日

舍弃325亿估值公司CTO职位:写代码才最快乐!管理只会影响我搞研发

当地时间 7 月 22 日,《2020 胡润全球独角兽榜》中排名 58 位的科技公司 HashiCorp 的创始人 Mitchell Hashimoto 发布内部信表示,他将辞去公司 CTO 的职位, 同时退出 HashiCorp 董事会,重新成为一名个人程序员。这家以他名字命名的公司如今估值已达 52.7 亿美元(约合 325 亿人民币)。

 

“我真正喜欢的是编程”

 

“我作为一名对基础工具充满热情的工程师创立了 HashiCorp。但作为创始人,我的职责有时不得不远远超出这个范围。这就是成为创始人的代价:你必须做任何需要你做的事情,即使这个角色的一些工作并没有特别激励你。在将 HashiCorp 打造为一家价值数十亿美元公司的近十年的里,我不断重申我仍然是一名工程师,如今我准备更正式地重新专注于这一点。”Hashimoto 在内部信中表示。

 

Hashimoto 从 12 岁开始编程。由于喜欢游戏,他写了一个游戏外挂软件并在网站上售卖,他的父母当时还以为他放学后回到房间是在玩游戏。不过没多久,在收到游戏方通知后,他的售卖网站关闭了。

 

“之后,我只是为了好玩而继续编程。”Hashimoto 表示。Hashimoto 曾在几家不同的公司负责过软件工程、DevOps 和咨询工作,还创办了两家公司(包括 HashiCorp),创建或参与了 75 个开源项目,而且该数量还在不断增加。

 

Hashimoto 创建的代表性项目之一就是自动化工具 Vagrant,它彻底改变了虚拟化开发环境的创建。Vagrant 也是 HashiCorp 产品的基础,能够帮助企业客户自动执行云计算运行任务。

 

2012 年,Mitchell Hasimoto 根据他 23 岁时在大学里编写的技术方案,与现任 CTO Armon Dadgar 联合创立了 HashiCorp,Hashimoto 出任公司 CEO,但他表示,担任 CEO“非我所愿”。

 

因此,2016 年,HashiCorp 聘请了在企业管理方面拥有丰富经验的 David McJannet 接掌大任,而 Hashimoto 与 Dadgar 共同担任联席 CTO。但从两年前开始,他就心心念念着要回到程序员的岗位上。

 

经过协商,公司决定批准 Hashimoto 放弃 CTO 头衔的决定,允许他继续投身于自己热爱的事业。现在 Dadgar 成为公司唯一的 CTO,Hashimoto 则向他报告。对此,Hashimoto 表示,“我终于又能亲手解决软件工程问题了,这才是我真正喜欢的事情。”

 

但他并不会离开这家公司。作为个人贡献者,Hashimoto 打算专注于 HashiCorp 旗下的各个项目,如用于帮助客户构建及发布代码的 Waypoint 等。他还将与工程及产品副总裁密切合作,尽可能发挥自己的才智与热情。与此同时,Hashimoto 将继续为 McJannet 及 Dadgar 提供战略规划建议,以顾问的身份陪伴老战友们继续奋勇向前。

 

Hashimoto 感叹道,“我希望能充分发挥自己不同于传统工程师们的优势,特别是自己对于企业背景和发展规划的深入了解。我认为很多程序员本身都相当出色,但由于对企业整体不够了解、他们距离卓越工程师还有一点差距。而我觉得自己的专长就在这里。”

 

Hashimoto 之前一直参与 Vagrant 代码的编写工作,所以在他看来自己的日常工作不会有“太大变化”。最核心的区别就是,他不用再为了参加客户会议而东奔西走。Hashimoto 表示,虽然他也喜欢跟客户会面,但无穷无尽的出差让他难以有充足的精力参与编程,他曾为此十分困扰。他还表示,自己的家人也很高兴看到他不用再做“空中飞人”。

 


Mitchell Hashimoto

“他对学习更有热情”

 

2007 年,Hashimoto 和 Dadgar 在华盛顿大学(University of Washington)大一的时候相识,当时他们都在西雅图项目(Seattle Project)工作,该项目旨在建立全球科学计算云。两人的工作是将科学应用程序容器化,以部署在数百万台计算机上。Hashimoto 则在尽可能多地实现平台和设备测试的自动化。与此同时,除了为软件设计和工程公司 Citrusbyte 定期进行咨询工作外,他还参与了多个开源项目。

 

“Hashimoto 是我见过的第一个对这么多不同的事情都如此了解的人,他对学习更有热情,并不断突破界限,”Dadgar 说到,“你很少会遇到像 Mitchell 这样对计算机科学充满热情的人,那种被它吞噬的人。Mitchell 能认识到自己知识的极限,并超越它。如果你和 Mitchell 谈论你的想法,当你下次见到他时,他已经花了一整晚的时间去这个研究问题,并且很可能已经在 GitHub 上创建了一个原型应用程序。”

 

大学期间,Hashimoto 创建了一个帮助学生注册课程的自动化系统 UW Robot ,学生们付一小笔钱就可以不用早起点鼠标抢课了。根据 Hashimoto 的说法,到他大四的时候,UW Robot 已经注册了 70-80% 的本科生,并且这个一年只花费他几个小时进行维护的自动化项目,一年就可以为他赚取大约 50 万美元。

 

2009 年 12 月,Citrusbyte 的经理跟抱怨了有客户要处理一项基本工作,他为了配置正确的运行开发环境花费了 8 个多小时,而客户只用了两个小时就完成了工作。自此以后,Hashimoto 将越来越多的时间花在了 Vagrant 项目上,并在 2010 年 3 月发布了第一个增量版本。随着 Vagrant 的势头越来越大,Hashimoto 得到了 PaaS 公司 Engine Yard 的赞助。当他开始宣传 Vagrant 来提高知名度时,下载量稳步增长到 200、500 和 1,000 多次。

 

随着 Vagrant 的发展,2012 年年中,Hashimoto 离开当时工作的 Kiip 公司,成立了 HashiCorp,并专注于 Vagrant 和其他开源项目。随后,HashiCorp 发布了一系列产品。

 

Hashimoto 学习新编程语言的方式就像多语种者掌握口语一样。他十几岁时开始使用 Visual Basic、PHP 和 C。 Hashimoto 和 HashiCorp 的大部分软件都是用 Ruby 或 Go 编写的,但他的专业和开源工作涵盖了从 HTML、CSS 和 JavaScript 到 Python、Shell 和 Erlang 的语言。

 

有件值得注意的事。2013 年,有人曾想以5000万美元的价格收购 HashiCorp,这对两个 20 多岁、没有经历过任何百万美元以上风险融资的创始人来说无疑是一个很大诱惑。Hashimoto 表示,自己内心的第一反应就是:同意,必须同意。但他们希望 HashiCorp 是可以孕育出伟大的产品的公司。经过纠结,他们放弃了这项收购计划。那个时候,他们还没有开发出 Terraform 或者 Vault。

 

CTO 的职责与写代码

 

“随着时间推移,我强烈意识到自己的热情在于参与软件工程,而非扮演技术领导角色。”Hashimoto 坦言。

 

Hashimoto 喜欢写代码,但 CTO、CEO 的身份让他不得不舍弃一些编程的时间。Hashimoto 辞任高管,重回个人开发者背后,也反映了一个被业界广泛讨论的话题:CTO 到底该不该自己下场写代码呢?

 

Domino 数据实验室的首席执行官兼联合创始人Nick Elprin认为,CTO 仍然应该时不时地编写代码。他给出了两个原因:首先,语言和工具在不断变化,不时地动手写代码可以跟上最新的编程情况。但也许更重要的是,组织在成长和扩展的过程中,可能会在系统中增加许多摩擦,导致开发人员花费过多的时间与公司的流程和系统角力。会自己写代码的 CTO 可以保持开发者的立场,清楚的知道哪些是可行的、哪些是过时的。

 

“在与客户(尤其是 B2B)沟通时,CTO 的专业知识会很有用。如果 CTO 不从内到外了解公司的代码库和架构,那将是一个低效的沟通。CTO 在参与早期的产品定义、市场需求等非技术会议时,应该作为科技前沿的代表,将企业愿景转化为具体的内部运作。”Aerendir Mobile 创始人兼首席执行官 Martin Zizi 认为,CTO 不仅需要与产品和用户保持一致,还需要弄清楚如何做到这一点。”

 

而 McPherson Oil 的系统和应用开发总监Joydeep Mukherjee认为,CTO 当然应该更多地关注 IT 思想领导力,这有助于为公司在取得成功的技术和创新方面制定 IT 路线图。“我更愿意说,写不写代码取决于您面对的受众以及他们的期望。”

 

易宝支付CTO陈斌也曾表示,CTO 更多的要关注人员、组织、文化和过程,通过技术来服务业务。业务是最高目标,而技术只是服务业务的一个手段。

 


曾任宅米 CTO 的李智慧曾表示,CTO 应该写代码,也不应该写代码。一方面,CTO 需要通过写代码对技术保持敏感,而不是一个“嘴炮 CTO ”、“ PPT CTO ”。另一方面,CTO 工作的重心并不是写代码,而是要通过代码为公司创造价值。“CTO 最好参与一些开源软件的开发,保持对技术的敏感,但最好不要写公司的业务代码,避免出了 BUG 却找不到 CTO 修复。”

 

Title3Funds 的 CTOKim LaFleur表示,CTO 需要知道他们的时间花在什么地方才能发挥最大价值。随着业务不断发展,他们的职责会就不仅是写代码,但他们应该与开发人员保持紧密的互动,因为 CTO 要有足够的背景和知识来有效地领导他们进行编程工作。

 

这个问题并没有标准答案,但 Hashimoto 找到了自己的答案:“最重要的是在企业成功、个人幸福感等重要因素之间取得平衡,我的选择就是个很好的案例。”

 

2021 年 7 月 28 日 15:536245

评论 2 条评论

发布
用户头像
舍去职位又不是舍去股份
2021 年 08 月 02 日 10:50
回复
用户头像
先不说写代码和做管理获得的收入,写代码是以一件务实的事情,你写一行代码就知道一个反馈,就知道对和错,管理是一门务虚的学问,你做的决策很长时间才知道反馈。
2021 年 07 月 30 日 09:52
回复
没有更多了
发现更多内容

读懂「数据」在区块链网络中流动的3种范式?

CECBC区块链专委会

区块链

ScheduledThreadPoolExecutor源码解读(一)DelayedWorkQueue高度定制延迟阻塞优先工作队列

徐同学呀

线程池 Java源码 ScheduledThreadPool JUC

阿里架构师如是说:权限系统就该这么设计

Java架构师迁哥

阿里高工熬夜18天码出Java150K字面试宝典,却遭Github全面封杀

Java架构之路

Java 程序员 架构 面试 编程语言

关于ReentrantReadWriteLock,首个获取读锁的线程单独记录问题讨论(firstReader和firstReaderHoldCount)

徐同学呀

AQS Java源码 JUC

FutureTask源码解读,阻塞获取异步计算结果(阻塞、取消、装饰器、适配器、Callable)

徐同学呀

Java源码 JUC Future

ThreadPoolExecutor源码解读(四)如何正确使用线程池(总结坑点+核心参数调优)

徐同学呀

ThreadPoolExecutor

探索区块链Baas平台的奥秘,源中瑞公共服务平台开发技术

源中瑞-龙先生

区块链 源中瑞 Baas

Anolis OS 8.2 RC2 发行,支持飞腾、海光、兆芯、鲲鹏等芯片

阿里云基础软件团队

TcaplusDB君 · 行业新闻汇编(4月17日)

TcaplusDB

数据库 nosql 数据 TcaplusDB

CopyOnWriteArrayList源码解读之CopyOnWrite思想的利与弊

徐同学呀

Java源码 JUC CopyOnWriteArrayList

华为帐号服务学习笔记(四):Authorization Code模式服务端开发

Coding狙击

Java android

ScheduledThreadPoolExecutor源码解读(二)ScheduledFutureTask时间调度执行任务(延迟执行、周期性执行)

徐同学呀

线程池 Java源码 ScheduledThreadPool JUC

阿里高工熬夜14天码出这份Java10w字的面试手册!却遭GitHub封杀

Java架构之路

Java 程序员 架构 面试 编程语言

阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

Java架构之路

Java 程序员 架构 面试 编程语言

为极客时间增加自动提醒功能,督促用户回来上课

克比

架构师实战营 模块二总结

代廉洁

架构实战营

苏州园区:面向全国“发帖”聚力 加快创建区块链技术应用高地

CECBC区块链专委会

聪明人的训练(十七)

Changing Lin

4月日更

【腾讯阿里最全面试题】Redis持久化RDB和AOF 的区别

Linux服务器开发

面试题 面经 后端开发 Linux服务器开发 BAT面试题

ThreadPoolExecutor源码解读(二)execute提交任务,Worker详解。如何执行任务?如何回收空闲线程?

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

ThreadPoolExecutor源码解读(三)如何优雅的关闭线程池(shutdown、shutdownNow、awaitTermination)

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

干货来袭!阿里巴巴面试指南(华山版)强势开源,上线7天已获百万推荐!

程序员小毕

Java 编程 程序员 架构 面试

HarmonyOS开发者日再现上海,生态最新进展、核心代码解析、创新案例分享

Geek_283163

计算机原理学习笔记 Day8

穿过生命散发芬芳

计算机原理 4月日更

史上最强的:京东北极星商业系统权限管控实践

Java架构师迁哥

openLooKeng如何应对“野蛮零散”的大数据

openLooKeng

大数据 开源 openLooKeng

极客架构模块2作业-朋友圈高性能架构分析

Geek_649372

架构实战营

ThreadPoolExecutor源码解读(一)重新认识ThreadPoolExecutor(核心参数、生命周期、位运算、ThreadFactory、拒接策略)

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

Github霸榜数月!原来是阿里大牛最新的Java性能优化实战笔记

钟奕礼

Java 编程 程序员 架构 面试

程序员3年CRUD从8K涨到20K,这4个月我到底经历了什么?

码农之家

编程 程序员 互联网 面试 职场

舍弃325亿估值公司CTO职位:写代码才最快乐!管理只会影响我搞研发-InfoQ