interview,

1024 程序员节:Milvus 社区五位开源界程序员心路历程分享

Huan Li Huan Li Follow Oct 29, 2021 · 1 min read
1024 程序员节:Milvus 社区五位开源界程序员心路历程分享

「开源」如何帮你增加市场竞争力? 离开大厂,「开源」如何成为一种新的创业模式? 如何积累开源项目经验,打造一份完美的简历? 商业公司吸引开源人才,有哪些妙招?

1024 程序员节, Milvus 社区邀请到了五位开源界程序员大牛,为大家分享自己成长的心路历程。

1024程序员节

视频回放

「开源」如何帮助你增加职场竞争力?离开大厂,「开源」成为一种新的创业模式?如何积累开源项目经验,打造一份完美的简历?来听听五位开源大咖分享他们的成长秘诀:

  • 顾钧,Zilliz合伙人、LF AI & Data基金会TAC成员;
  • 李建盛,作者,开源之道主创, Linux基金会APAC开源布道者;
  • 李卓桓,万星开源项目 Wechaty 发起人,PreAngel天使基金合伙人;
  • 程浩,上海白玉兰开源开放研究院研究员、示说网社区发起人;
  • 赵生宇,同济大学计算机博士在读,Wuhan 2020开源项目发起人。

你是怎么走上开源道路的?

李建盛:我的职业生涯大概有十七八年,前十年主要在搞技术,2015 年到现在主要是作者,以文字工作和开源布道为主,是 Linux 基金会 APAC 开源布道者。欢迎关注我的公众号「开源之道」,在 GitHub 上也有相应的主页。

李卓桓:我是一个从业三十年的资深程序员,从小喜欢写程序,92 年写 basic,玩小霸王学习机。在清华上学阶段正好赶上互联网第一波浪潮,后来做了自己的公司,当优酷网首席科学家,做了国内早期的微博网站「叽歪网」,再后来成为 PreAngel 投资人。最近我关注人工智能,尤其是 Chatbot 自然语言对话方向。

程浩:我 2004 年毕业后,一直从事软件开发工作。2010 年我第一次接触开源,2012 年加入因特尔,我在大数据团队中正式制作了开源软件,做了很多功能优化和开发。我很有幸见证了开源和大数据在国内逐渐兴起繁荣的过程。2018 年,我开始做自己的创业项目,之后会详细介绍。

赵生宇:我从小就比较喜欢玩计算机,是一个十足的「网瘾少年」,我当时没有上过专业的课程,于是跟着杂志上的教程做了一些源代码的实现,做了一些游戏管理器、屏保等小项目。清华计算机系毕业后,我正好赶上了移动互联网的浪潮,于是开始创业,做了一些早期的安卓开发工作。在北大读硕士的最后一年,我在美团做大数据分析,有一次正好赶上了 Apache 的中国路演,我作为北大学生的身份去做志愿者。后来就来到微软做社区运营,研究生毕业后我在网易游戏做研发,但依然持续地做开源社区的志愿活动。2018 年,我去了阿里做开源运营的工作。在工作中,我发现设计治理和开源研究这一块非常有意思,我和王伟导师一拍即合,去同济大学计算机系读博,目前主要研究方向是开源理论和行为数据研究。 去年我们发起 Wuhan 2020,尝试把开源的模式推广到数字公益领域。也感谢李卓桓的 Wechaty 的项目,对志愿者分流有很大的帮助。

开源到底是什么?

赵生宇:我一直对开源很感兴趣,大规模协作、生产资料共享的模式,对传统的协作模式产生了很大影响。开源不仅是技术,还是制度和流程的创新。可以追溯到 licences、CLA 法律文件的产生,这些协议和制度上的创新带来了协作上的改变。开源可以说是,数字化对软件开发的赋能的产物。

李建盛:从「布道」的角度,我认为开源已成为数字化时代人和人之间「打交道」的方式。开源的外延很广泛,不仅限于代码,还是一种文化。我们可以把开源作为一种文化去普及。

顾钧:开源有一套约定俗成的惯例,通用的「打交道」的做法。当新人加入到开源中,可能不熟悉这种开源的习俗。那么,如何激活开源社区?社区之间如何做好沟通?Wechaty 是一个很大的开源项目,在中国很多社群都需要微信机器人。请问李卓桓,你们是如何组织和维护这样一个社群的呢?

李卓桓:国内对微信机器人有很大的需求。哪怕是简单的自动回复就能大大提高人的工作效率,更不用说用自然语言处理来来让智能客服帮用户解决问题。最早设立聊天机器人的动机起源于我个人的使用痛点,因为我在微信上的消息爆满,所以我想做一个机器人回复这些问题。于是,我开始着手做一个聊天机器人。这个项目开源以后,在 GitHub 上收到了第一个 pr,提出并解决我的项目不支持收发图片的问题。之后又有一些 pr 新增代码功能、修改文档。我看到了外部开发者也在使用和维护这个项目,我开始相信,这个项目可能不会变成一个一个尸体!(之前写过一个局域网聊天工具 Zixia chat,现在已经变成尸体了) 于是,我开始思考如何将这个项目运营地更好。我们的社区 base 在 GitHub 上,有两百多位社区贡献者,通过使用 GitHub 团队协作、管理、审批、issues 链接等功能,进行内容协作管理。除了 GitHub 工具,我们受到了 Apache 很多影响,使用 Apache 的社区管理方式,将大多数的决策讨论放在 issue 里公开给大家。最后,我自己对微信聊天机器人是真爱!因为是真爱,所以我有热情维护好这个项目。

开源如何增加职场竞争力?

顾钧:大家觉得开源是否可以增加自己的职场竞争力?李建盛老师,你的工作一开始就围绕着 Linux 发行版展开,深度参与到了开源中,你觉得开源是如何加速新人的成长呢?

李建盛:我们这一代经历了全球互联网高速发展和 GitHub 崛起的年代。一个工程师如果想学习物理、离散数学等各种知识,找身边的人讨论可能不如找网友讨论。当你参与到全球互联网中,你可以和最顶尖的高手对话、交流,专门领域的社区加速工程师的成长。互联网的崛起、开源的崛起帮助帮助大家深入讨论,比如 VB 是一个典型的闭源时代的产物,如果你要讨论 VB 编译技术,你要跑到微软内部,这基本上不太可能;但如果你学 gcc,讨论壁垒就大大降低了。

顾钧:参与开源帮你找到了一个和别人的共同话题;互联网帮你找到共同感兴趣的社区讨论交流。「开源+互联网社区」大大加速工程师技术能力的成长。我也想把这个话题抛给程浩老师。程老师 2004 年毕业,2012 年加入英特尔,参与到很多开源项目的研发中,目前在上海白玉兰开放研究院工作。我很好奇,您在参与开源的过程中,是如何提升自我并做出改变的?

程浩:对我来说,2012 年是一个明显的分水岭,我从一个开源项目的用户转变为开发者。

  • 从使用的角度来说,做一些应用软件,我的软件跑起来就结束了;开发开源软件时,我需要吸收不同人给我的信息。
  • 从思维冲击角度来说,一个开源的项目一般适用于基础架构或基础中间件,不一定有明确的应用场景的指示,因此开发设计的思维模式就和应用软件不一样,也需要多与社区伙伴讨论。
  • 从技术能力角度来说,开源有意思的地方是,你写的每一行代码都会被千千万万人看到,你写的代码会被千千万万人「拷打」,你会得到直观的帮助和指点,大大提高编码技巧。
  • 从打交道的方式来说,代码背后是一个个鲜活的人,每个人都有不同解决问题的思路。我们如何得到一个统一的方案?高效简洁、有理有据的沟通方法是要经受训练的。
  • 从需求管理的角度,我会更多地思考:如何看待场景和需求?哪些应该是眼前要实现的,哪些可以放在后面?

顾钧:开源带来了视角的转变,需要考虑更加通用的场景,这一点我深有体会。我之前在 IBM 做售前技术工程师,在闭源的环境下,数据库的研发不会直接接触用户,而是通过售前和售后技术工程师来沟通,研发不知道用户是如何使用的;在开源的环境下,这个问题就被巧妙地解决了。

有什么给年轻程序员的建议?

顾钧:关于程序员成长话题,大家有什么经验分享呢?

赵生宇:我最大的启发是,本以为自己会写一辈子程序,没想到开源拓宽了我的视野。传统软件模式是线性的,但开源模式是网状关联的。这种视野上的拓宽,让我看待整个世界的视角就不一样了。一个餐厅、一个企业、一个国家是怎么样运转的?我有了更多看待世界的眼光,我找到了我想实现的事情,而技术是成为一种手段。

李卓桓:我的建议是,开源可以让喜欢写程序的人获得最大的乐趣。如果想要让自己的潜力得到最大的发挥,还是应该做自己感兴趣的事情。 从工作的场景下,如果你在开源社区有一些经验,你会学习到一些「纯网友协作」的交流方法。提问、回答问题、鼓励他人提问……这些方法在学校很难学到;从求职角度,开源的经验对于自己产出和在公司内协作,都有很大的帮助。

李建盛:我不太敢给年轻人提建议。从我个人的经历来说,如果没有开源,我可能就会陷入迷茫。开源,给个人和企业带来无限机会,保持开放,不管是对家人、朋友,还是对技术,都需要保持开放。

程浩:当自己的工作经历积累到一定程度后,我就思考我到底应该干什么?我离开大厂,想要做一些自己觉得更有价值、更有意思的工作。我做了示说网,这是一个面向开发者和程序员的社区、聚焦开发人员成长的平台。

有什么推荐给程序员阅读的书籍?

李建盛:我推荐《匠人》,这是当代社会学家理查德•桑内特的作品。作者认为,从古到今各种职业,只要有一种「为了把一件事做好而做好」的冲动,都可以被称为叫匠人。匠人的领域远远大于熟练手工劳动的范围;今天的程序员、医生、父母和公民都需要了解匠人精神的价值所在。希望大家在各行各业,都追求精益求精的精神。

李卓桓:我推荐《Chatbot从0到1:对话式交互设计实践指南》,这本书是我写的,欢迎大家斧正。我觉得我算是一个聊天机器人领域的「匠人」,文中没有太多技术代码的内容,主要讲的是如何用文本来做交互。欢迎对自然语言处理(NLP)、对话式人工智能(Conversational AI)感兴趣的朋友阅读。

赵生宇:我推荐《俞军产品方法论》。这本书贯穿了管理学和新制度经济学的思想,书中最重要的「交易成本」概念,其实不仅适用于产品设计,还可以应用到各个领域,直至每个个体的具体决策中。新制度经济学视角下观察分析开源,也可以产生很多不同的视角。把开源社区当成产品来设计,会让贡献的流程异常清晰巧妙。这本书读起来稍有晦涩,但我个人非常喜欢,书中还写了俞军早期在滴滴所做的一些思考和案例,我非常推荐。

程浩:我推荐《世界是平的》这本书,这本书描述信息技术让社会生产方式发生重大变革。很多程序员都怀揣着改变世界的梦想,但当我们身处其中时,反而不以为意,这本书虽然已经出版很久,但是可以培养工程师的软性的思考,拓宽视野。

顾钧:我推荐《大空头》,这本书最好搭配《史上最伟大的交易》一起来看。这两本书都以 2008年次贷危机为背景。《大空头》中,基金经理 Michael Burry 最早地预测到了信用违约掉期(CDS) 会挂掉,在早期做了很多铺垫,整个过程非常曲折痛苦,尽管最后赚了一笔钱,但他的投资关系就崩了。《史上最伟大的交易》中,对冲基金经理约翰·保尔森在次贷危机中的收益超过一百亿美金,被誉为「史上最伟大的交易」。一个人再聪明、再有远见,也不一定有最好的结果,因为这个世界有其客观规律。当自己特别顺利的时候,我会提醒自己「人外有人」,这可能是因为正好踩上了时间点。

作为开源小白,有什么适合新手的开源项目吗?

顾钧:接下来是 Q&A 时间。第一个观众提问是:作为开源小白,有什么适合新手的开源项目吗?从今天的聊天中,已经有两个项目了:开源向量数据库 Milvus 和聊天机器人 Wechaty。

李卓桓:如果你要做聊天机器人的自然语言处理,你肯定会遇到向量相似度匹配的问题,如果你要用到海量数据,那你肯定需要开源向量数据库 Milvus。如果能把 Milvus 和 Wechaty 两个项目结合起来,甚至可能可以做出像科幻电影《Her》里面一样逼真的效果。

李建盛:开源的道理很简单,可以总结为保持开放、保持多样。

顾钧:开源社区非常友善,新手不用紧张,欢迎你们加入开源。

你为什么跳出大厂,出来创业?

顾钧:下一个问题是,你们当中有很多都在大厂待过然后跳出大厂自己创业,是哪个时间点或者事件,促使你做出改变的?

程浩:大厂的优势是平台大,有很多通用、基础的问题等待我们解决,身边的同事和资源也很多,大厂对年轻人的成长有比较正面的影响;但是在大厂工作时间长了以后,我觉得碰到了天花板,思维上碰到了瓶颈。在这个节骨眼儿,要么个人选择更换业务,要么直接跳出这个平台。我就是在那个时刻,觉得自己想要做出改变,做一些技术以外的尝试。不存在哪个更好,只是每个人在自我的成长阶段中,对自己有一些期待,做出一些尝试。

顾钧:深有感触,我也有一些类似的经历。之前我陆陆续续服务的都是一些大型的机构,不是说这些大平台不好,而是我想做一些不一样的事情。

商业公司可以通过哪些方式吸引开源人才?

顾钧:下一个观众提问是,现在有越来越多的商业公司开始做开源,需要一些资深人才来带动团队,那么商业公司可以通过哪些方式吸引开源人才?

李卓桓:根据我个人在 GitHub 上的经验,我有三种方法:

  • 第一种,也是我最喜欢的方法是:我在 GitHub 上看到一个特别活跃的开发者,我就会好奇并想去了解他。有好几次,我点进他们的个人主页,发现写了很多优秀的技术文章,然后发现他们是一些公司的 CTO。Typeform 是一个对话式的表单,交互体验非常友好。我知道这个项目是因为他们的 CTO 在 GitHub 上超级活跃,我顺着这个人找到了他们的项目,然后成为他们的用户。
  • 另一种方式是,有时候我会收到一些 GitHub 找过来的招聘信息,这些招聘不是群发,显然是对我本人的经历和项目做了一些研究的。所以反之同理,创业公司可以在 GitHub 找一些和自己领域契合的项目,这些项目有哪些优秀的开发者?他们之前有哪些经历?我相信这种方式成功率也很高。
  • 第三种方式是,比如我对于高维向量检索方面的人才感兴趣,那我就在向量数据库 Milvus 的项目主页,看有哪些人为这个项目点了 Star,然后再在这些人中筛选、看他们的主页,然后很有诚意地发邮件就好了!

李建盛:如何「管理」好开源人才?过去的管理理论一般都是基于「人是需要监督的」,但是真正的开源人才是非常主动的、希望把代码写好。我们要对传统的管理方式做出改变,多元地衡量产出,而不是用硬性的 KPI 去衡量。

Source: Zilliz 想不到 HR 都在 GitHub 捞人!五位开源大牛分享成长经历 欢迎在评论区回复留言你的想法,我们将选取点赞数量最高的评论,送出讲师们推荐的《匠人》《Chatbot从0到1》《俞军产品方法论》《世界是平的》《大空头》《神秘的程序员们》六本书籍!

Join Newsletter
Get the latest news right in your inbox. We never spam!
Written by Huan Li Follow
Creator of Wechaty, building chatbots for fun.