来源:Gitee 封面人物 丨 2018-01-15
本期嘉宾 吴晟,分布式追踪与诊断技术专家,骨灰级开源社区爱好者,开源 APM 项目 SkyWalking 创始人。 SkyWalking 成长迅速,2017 年底全票通过加入了 Apache 孵化器。做开源项目并且取得这样的成绩,当然是很酷啦!可是,在加班泛滥的程序员界,到底要怎么做到啊?发型还好吗? 可他不仅工作 666,还有丰富多彩的业余生活(比如陪老婆逛街旅游什么的…),简直是工作生活平衡的典范!做到这样看似“毫不费力”,秘密就是…
项目是2015年初开始的,最初是为了给一个新员工培训编程,想要通过实际做项目的方式,去帮助对方提高开发技能。 项目一开始就托管到 GitHub上(后来发现码云也非常棒,就来了),代码是公开的,希望以此勉励参与者能认真写好代码。大家从提交记录,也能看到当初很初级的项目原型和技术验证。
做这个项目,还有一个背景就是在 2014-2015 年参与了中国联通全国级项目,首次引入分布式服务(以Dubbo为技术代表,当时还没有微服务的概念)和消息驱动的系统架构,想要解决多厂商多应用间的问题定位、效率短板分析出现定位难的问题。
最初阶段个人投入比较多,基本超过 50%,后面就主要靠社区的力量了。这样复杂的项目(有企业以此为生),已经不太可能由个人完成了。 目前阶段,大概占 30% 的贡献量吧,如果只算代码,可能更少一些,20%左右。现在主要负责项目路径的规划和社区推广,核心协议以及设计模式的讨论,还有就是代码贡献和 Pull Request 的 Review。
也是机缘吧,在项目早期,我进入 OpenTracing 标准化团队,认识了 OpenZipkin, Jeager, Google OpenCensus 等多个国际大开源项目的 Team Leader,他们开放和共享的工作态度与方式,给我了很深的印象,也帮助我学习了很多对待社区问题的方法。
除了对于团队运营的学习,再就是认识到了中国的开源社区还存在很多不足,我们也希望从 SkyWalking 的发展中,产生一些积极的影响,这也是 SkyWalking 在尝试以社区化的方式运行的根本原因和动力。
我一直会保留一部分精力来做开源,也作为自己换工作的一个前提条件。 现在中国公司对于开源在逐步重视和认可,我一般有 40% 的工作时间在投入开源,还有部分周末以及晚上的时间。 SkyWalking 的很多设计和方向,都是在非工作时间和其他 PMC 成员和社区成员讨论出来的。
因为 SkyWalking 就是由社区推动的项目,大量的基础社区反馈,国外社区的模型和理论共享,用户压力测试回馈,才造就了今天的设计和性能。 所以可以说,没有开源社区的共同推进,就不会有今天 SkyWalking 的核心和高性能。
主要建立开源+商业产品技术圈,打消开源产品作者之间是竞争关系,关注差异化,尊重差异化。 大家互相学习,互相支持,是成长的关键。 比如曾经作为 Zipkin 开创的 Distributed Tracing Workshop 受邀的中国成员,开展国际技术社区的交流;参加了国内 Deep Communication Institute 社区举办的 2 次线下 APM Workshop,交流大家在APM上的建设经验。都是非常好的交流体验,受益很多。
更多的收获是不同的设计理念和功能诉求。这个交流的过程中,可以了解到很多的不同使用场景,以及不同的设计目的。比如:APM 性能就不是每个 APM 建设过程中的关键指标;采样对于有的系统的监控是不可接受的;优先网络还是优先文件系统等等。
觉得自己并不是一个完全的管理者角色,我一直非常喜欢和大家深入研究问题,是保持开放态度的人。 工作这些年,很少带领超过 8 个人的大型团队,但是我曾经作为技术顾问同时出现在多个项目组中,帮助他们解决问题。这就需要尊重对方的技术现状,人员情况,其实和在开源社区中保持中立,积极和大家交流,是一样的心态。
应该是成就感和知名度吧。如果你的项目做得好,还可以磨练自己的技术,对代码和对产品的更加执着,苛求细节,强调逻辑,业务能力方面会有较大的提升。 我想每一个深度参与者,都有不同的收获。首先自己的社交圈子扩大了,国内外技术圈、媒体、其他领域专家等都有机会接触到,沟通能力、甚至英语能力都有长进,彻底从一个技术人员(宅人),变成一个擅长沟通、演讲,(亦或忽悠?)的产品经理兼售前兼自动化测试兼写手? 对,你会在各方面得到训练,最终会收获更多的自信心。
技术地位的确可以改变收入,哈哈,原谅我是个俗人。 当然最重要的还是收获了志同道合的团队和技术宅们,也有了更好的公司和团队支持你,这种财富是不可替代的。
【注】关于SkyWalking
码云项目地址:https://gitee.com/OpenSkywalking/sky-walking
Apache 项目地址:http://skywalking.incubator.apache.org/
指派性的加班很少,但是我不上班的时间很多也在思考和讨论方案。我的工作时间其实是比较碎片化的状态,并不会严格区分是休息还是工作。比如出国旅游、周末休息,我也会时不时回复社区邮件和其他人的问题。
规划不多,随心意的多吧。自律倒是还不错。
汽车,奢侈品,陪老婆逛街,出去旅游。全是费钱的活动…
西方发达国家自驾游。喜欢环境比较现代,舒适的地方。
平衡的话,其实更多的是没把工作当任务吧,不要害怕工作和生活其实交错在一起。放松心情就好好玩,有事情就专心做(比如这个采访就是在玩了一天的周六晚上23:00的回复,但是并不会觉得是任务)。
一个被程序员耽误的播音员么?哈哈,这是一个永恒的话题,被无数人问起过。 唱歌就算了,不会呀…
没有特别的心愿哈,去年已经剁手买了台自己喜欢的车,so...今年只剩下穷了。
编后记 理性、认真、心态开放,是小编对吴晟的访谈印象——果然是一枚“骨灰级开源社区爱好者”。正如吴晟所言,没有哪种方案是完美无缺或一无是处的,都是一个持续成长的过程,不如以开放、共享的态度和工作方式,认可同行者,认可其他项目能力,并和他们保持合作。 分享、交流、取长补短,碰撞思维火花、通过有序协作一起完成更精彩的作品,正是开源社区的魅力所在。 而健康的开源生态,需要无数个“你”的积极参与和推动,我们在分析码云2017年的数据时,惊喜地发现参与和贡献开源的用户增长显著。新年伊始,期待有更多的“你”在码云分享和交流,收获精彩的 2018 :)
封面人物小档案