写点什么

吴晟:程序员不当 CTO,也能过上理想的生活 |TGO 专访

Milan

  • 2021 年 11 月 22 日
  • 本文字数:3509 字

    阅读完需:约 12 分钟

吴晟:程序员不当CTO,也能过上理想的生活 |TGO专访

本期嘉宾介绍:吴晟,Apache 软件基金会首位华人董事,2021GTLC“扬帆出海”高峰论坛讲师;开源 APM 项目 SkyWalking 创始人,分布式追踪与诊断技术专家,骨灰级开源社区爱好者。先后在大唐软件、亚信中国、华为从事技术工作;2018 年 5 月,加入 To B 级混合云外企 Tetrate,成为公司创始工程师。



2021 年 10 月 22 日,吴晟在 GTLC 大湾区活动分享开源,台上的他看起来自信、从容、松弛,散发着明星的光芒,他将专业小众的开源讲得通俗易懂,让观众深深记住了他。

你很难想象,他本质上并不是一个外向和爱社交的人。大学之前,吴晟其实一直是班上从来不举手回答问题,也不主动参加集体活动的人。2016 年后,这一切开始有了转变。

「做开源需要别人知道你的项目,我在写文章和上台之间选择了上台,对我来说,这是一个对自己负担更低的、更容易曝光的模式」。

01

不做管理,依然潇洒


除了出席各种活动演讲,2012 年以来,吴晟护照上还记录下美国、韩国、意大利、新加坡、瑞士、法国、泰国、乌克兰、印度等国家旅游的足迹,也陆陆续续买了六台车。

边工作边玩,结识不同的人,享受自由的时间,吴晟似乎过上了很多程序员理想中的生活。

「我可能更在意两件事情:一是我的工作每个小时值到底多少钱,而不是我每个月挣多少钱;二是我对自己生活质量有要求。精神状态好的前提是休息好,我不喜欢 Overwork 让人绷得很紧。」

吴晟并不是一毕业就过上自己理想中的生活,他也曾经历过一段难熬的日子。2010 年,吴晟从吉林大学软件工程硕士毕业,进了一家国企大唐软件,这份工作可以拿北京户口,但工资并不高,刚进去他就被扔到了一个「三不管」项目里,还被要求第二年春节上线项目。

「那两年基本都在石家庄出差,被逼得非常紧,感觉状态很差。」虽然这个项目七年都没有上线,在吴晟手里一年多就上线了,但于他而言,这段经历还比不上他暑假去微软实习的收获。

「我好像并没有从中学到什么东西,而只是被动地完成了一个任务」,于是在接下去的几年,吴晟刻意从一线抽离。虽然当年和他一起进大唐的人都升职,成了部门的经理、副经理,吴晟并没有觉得遗憾。他只是走了一条与中国大部分程序员的不同的成长路劲。

吴晟觉得,中国的程序员绝大部分并不是真的喜欢写程序,而是喜欢这份工资。管理岗位是岗位数最多、更容易挣钱的位置,朝这个方向发展是大多数人的必然选择。

但「在我那个年龄,如果太早从事管理,等于放弃了自己所学的专业,毕竟离开技术很容易,再想回来很困难。」

因此,30 岁之前吴晟最纠结的问题是选技术还是管理,直到后来国内开源氛围起来,他才找到了一条更适合自己的路。

02

SkyWalking 是一群人扯皮,影响我下班发明出来的


2021 年 9 月,吴晟接受采访谈开源。

Skywalking 作为分布式追踪与监控系统,其设计思路的灵感源于吴晟工作过程中遇到的问题,用他自己的话说是「影响到他正常下班」(笑)。

2012—2013 年,吴晟在亚信为联通集团做项目,联通招标八个厂家开发一个分布式企业系统,而这些企业的工作人员都集中在同一个地方办公。

吴晟发现,「这些人天天不干别的,系统一旦出了 bug,就在会议室里扯皮,争论是谁干的,最后却很难证明是谁出了问题,SkyWalking 被提出来就是来解决谁应该背这个锅负责。」

发现这个市场痛点后,吴晟在 2015 年生日第二天提交了 SkyWalking 的第一行代码,他最初做 SkyWalking 和开源并没有关系,而是因为一个偶然的事件。

「公司进了一个应届毕业生,想叫我教他写程序,但我不擅长上课教学,我想,是不是可以尝试一起来做项目,在这个项目里,他可以看到我怎么写程序?」

SkyWalking 项目雏形就这样慢慢浮出水面的。据悉,截止到采访当日,SkyWalking 社区共有 550 多位贡献者,在吴晟看来,SkyWalking 项目能吸引很多追随者在于他们尊重贡献者的价值。

「Skywalking 没有评价系统,我们对任何真正伸手做事的人都给予很高的评价,不会根据技术难度将人分成三六九等。我们希望看到的是感性的东西、和你的意愿热情。」

比如,一个上海的贡献者就令吴晟印象深刻,对方虽然至始至终没有向 SkyWalking 提交过任何代码,但在早期帮 SkyWalking 写了很多的成体系的文章。

放下评价,回归到关注每一位参与者的价值,是 SkyWalking 受到持续追捧的重要原因,因为任何一个成熟的顶级开源项目,都不是一个人的力量。吴晟感慨,SkyWalking 并非他个人的成功,而是硅谷模式的成功。

2017 年,Tetrate 高管找到他时,SkyWalking 还是一个非常弱的项目,真正成名要等到 2019 年。虽然,前期华为投了一部分资源宣传,但如果不是谷歌的工程师帮助 SkyWalking 进行全球化运作,SkyWalking 可能很难在短短 2 年时间就成为一个全球知名的项目,并进入了 Gartner 报告。

03

用半小时,决定加入 Tetrate

2018 年 5 月,吴晟加入 Tetrate 成为公司创始工程师。吴晟回忆,自己加入这家公司只用了半个小时。

当时吴晟还在华为,Tetrate CTO Jeyapraggash Jeyakeerth(以下简写 JJ)想去北京找吴晟,这位 CTO 飞到香港转机时,因护照没有中国免签手册无法入境,他便发邮件邀请吴晟去香港见面。

「我就当去香港旅个游」,吴晟飞过去香港时,JJ 已不在香港了,他就在香港住了两天,等第二天下午 JJ 从印度飞到香港机场,他们约在机场的安检通道内聊了 30 分钟。

JJ 是从 Twitter 出来的高管,比吴晟大 10 岁,在国外的开源社区、企业联盟深耕多年。他和吴晟第一次见面时,就阐述清楚了开源和商业的边界,令吴晟颇为惊艳。

吴晟总结 JJ 的观点为,Service Mesh 的开源方案解决了在一个云、一个集群中的技术环节,而商业解决的是跨云、跨混合部署、跨传统应用,并提供一体化解决方案的过程。

鉴于这两者存在明显的边界,开源和商业目标就不会纠缠在一起。显然,跨云、混合云对于开源来说价值太小,受众有限,是全球世界 500 强的企业才会重点关心的话题,绝大部分的中小企业、本地化企业不会关注。而相对更小规模的公司,可以从这种商业化方案中,得到一体化的成熟产品,而非单纯的技术。

04

四年在家办公


加入 Tetrate 后,吴晟都是远程在家办公,这样的方式让很多人羡慕,但也并没有想象中那么美好。

吴晟谈到,头三个月在家办公,「跟谈恋爱一样心情特别好」,三个月过后,幸福感呈指数基数递减,直到一年半后,才适应这个环境。

「一个人很难受,有一种抑郁和孤立的感觉。你很难区分生活和工作的界限,在家办公容易变成了过度工作。」吴晟花了很长的时间去适应这个过程,让自己保持一个最佳的精神状态。

此外,在家办公严格作息,学会换脑子很重要。吴晟每天至少 12 个小时在工作,但他锻炼了一种迅速切换注意力的能力。

比如,他并不会因周末干了一个小时活而影响心情,他经常在边陪女儿爬长城,还能边同公司开远程电话会议。

「有些人习惯把自己定义成上市公司老板,好像你的时间、精力、付出都要被精确地规划和计量。」

不要计较眼前的小得失,不给自己定过高目标,不预设过高的心理预期,是吴晟保持一个积极的精神状态的秘诀。


Q&A

 TGO: 您如何评价您在华为的那段经历?

吴晟:我在华为只做了 14 个月。华为是一家在全球受认可的企业,既有大厂的官僚,但是也在实在做事情,领导正直,实事求是,在 SkyWalking 这件事上,领导也给予了很多支持,但部门层面并没有得到相应的支持,在华为的一年多,SkyWalking 完成了从个人项目进入 Apache 孵化器,再到完成国内大幅度宣传的动作,这个阶段华为出了很大的力气,同时华为给了我一个好的走出去的机会。只是中国企业不擅长于做全球,不能够将这个项目带到全球的高度,这是我离开华为的理由。

 TGO: 听说您连续三年在 GitHub 上提交代码最多的 80 个人里面?

吴晟:这里面存在统计学偏差,我占了一个「最后确认」的便宜。我其实不是前 80 个提交代码行数最多的人,而是提交数量最多的 80 个人。作为一个流行项目最核心的贡献者之一,有大量的提交给上游的代码需要我来审查,绝大部分情况下我是最后确定他可以被合进去的那个人,所以很多人的最终提交的代码既记在了他的名下,也会把我算上。你可以理解成,我引用了最多大家提交的代码,而不是我写了最多的代码。

 TGO: 您曾说,社区最核心的是人而不是代码,您在社区沟通上有什么经验?

吴晟:首先,你要确保你的时间是有价值的,每一个核心贡献者的时间是整个项目最宝贵的价值,你的时间价值远远大于任何一个普通用户。绝大部分的中国开源开发者会说我好累,如果你为 500 个人解决问题当然会累死,你需要做的是让这 500 个人互相解决问题,而不是 500 个人找你解决问题。在中国,很多的开源项目的作者很在乎别人有没有选择你。社区其实跟销售没有本质的区别,不同的是你需要投入时间来换取对方对你的信任、尊重和响应,对于持续贡献的人才是价值的提升,也值得你去花费更多的时间。

2021 年 11 月 22 日 10:321488

评论

发布
暂无评论
发现更多内容

神奇的Duff's device

实力程序员

ReactNative进阶(十六):React-Native 组件生命周期

No Silver Bullet

生命周期 React Native 组件 7月日更

【技术实践】基于Cglib动态代理,实现Spring的AOP核心功能!

小傅哥

spring 小傅哥 aop 动态代理 cglib

【源码篇】Flutter GetX深度剖析 | 我们终将走出自己的路(万字图文)

小呆呆666

flutter ios android 前端

质量基础设施一站式服务平台建设,NQI平台解决方案

13823153121

模块8 作业

Chris Cheng

架构训练营

Scrapy 爬取西刺代理存入MySQL & MongoDB 数据库(手把手教学,超详细步骤)

若尘

MySQL mongodb 爬虫 Scrapy 7月日更

HarmonyOS开发者创新大赛作品《智能农场》相关开发技术分享

科技汇

听说过对 Go map 做 GC 吗?

万俊峰Kevin

map Go 语言

架构实战营 模块八作业

冬天的树

快速构建JVM整体认知-JVM的生命周期

刘绍

Java 程序员 JVM JVM原理 规范

详解SQL优化必备:并行执行框架和执行计划

华为云开发者社区

sql SQL优化 执行计划 GaussDB(for openGauss) 并行执行框架

大型团队的敏捷项目管理实践与思考

万事ONES

项目管理 敏捷开发 ONES 开发管理

架构师之于团队的作用和其能力体现是什么?

happlyfox

话题讨论

禧大福酒口感怎么样?好喝又养生

Geek_50a546

模块二作业-微信朋友圈复杂度分析

babos

#架构实战营

anyRTC 6月SDK更新迭代

anyRTC开发者

音视频 WebRTC 实时通讯sdk

新手程序员必备10大技能

禅道项目管理

Linux 程序员 语言 git 学习

Vue进阶(四十五):精解ES6 Promise 用法

No Silver Bullet

Vue Promise 异步编程 7月日更

“攻城狮”实用指南之Linux CPU性能优化

中原银行

Linux

颠覆传统经营模式,区块链助力餐饮行业数字化革新

旺链科技

数字化 区块链技术 餐饮

那些必须要掌握的Hive数据倾斜与调优手段

云祁

7月日更

价值连城 杰弗里·欣顿(Geoffrey·Hinton)的采访 给AI从业者的建议 John 易筋 ARTS 打卡 Week 55

John(易筋)

ARTS 打卡计划

毕业四年,我当初是如何走上编程这条路的!

Andy阿辉

程序员 开发 大学生 编程故事 自我成长

上手后才知道,这套仪表盘系统用起来是真的爽!

尔达Erda

开源 微服务 运维 APM msp

关于数据库时区,这么多奥秘你都知道么?

华为云开发者社区

数据库 操作系统 时间 时区 GaussDB(DWS)

5G消息盛事来袭|2021中国移动创客马拉松大赛5G消息专题赛即将启动!

5G消息

开发者 创客开发 开发者大赛 5G消息

WATT NETWORK软件系统开发详情

决定中国SaaS成败的三个关键问题

ToB行业头条

SaaS

我是一个请求,我是如何被发送的?

华为云开发者社区

注解 流程 CSE 请求 RestTemplat

秀到飞起!Alibaba全新出品JDK源码学习指南(终极版)限时开源~

Java领路人

Java 编程 程序员 面试 架构师

Flutter 自动化测试

Flutter 自动化测试

吴晟:程序员不当CTO,也能过上理想的生活 |TGO专访-InfoQ