Chatopera王海良:大厂螺丝钉还是开源极客?年轻技术人如何选择?

2023-11-09

​他因为追求创新毅然放弃了大厂稳定的工作,参与开源并成立了开源商业公司。他相信,开源可以极大地助力开发者成长。那么,对于年轻开发者而言,如何通过参与开源实现跳跃式发展?本期《开源访谈录》邀请到了Chatopera CEO王海良来分享他的见解。

本期受访嘉宾:
王海良,Chatopera CEO,曾就职于 IBM,三角兽和呤呤英语。在智能客服、智能对话机器人领域发布和参与多个开源项目和开放数据集,出版图书《智能问答与深度学习》,曾运营北京 Node.js 开发者社区。

作为技术人,面对应接不暇的需求和层出不穷的bug,是什么驱动着他们坐在电脑前日复一日的“打怪升级”? 作为开源人,是什么支持着他们义无反顾的“为爱发电”?作为年轻人的技术人,又该如何做好职业规划?

Chatopera CEO 王海良最初在IBM有着一份大多数人渴望的工作,收入稳定、可观。但他对“发挥自身创造力”的渴求,驱使着他离开了大厂并加入创业公司、参与开源,直到后来成立了开源商业化公司,帮助企业上线智能客服系统。他相信,开源可以帮助开发者提升他们的技术、语言能力以及创新能力,从而极大地助力开发者成长。这也使他对开源的热情贯穿了自己的职业生涯。如今,王海良仍然在开源的路上向着更远的目标迈进。

那么,如何通过参与开源项目来实现跳跃式发展?本期CSDN《开源访谈录》邀请到了王海良来分享他对这个问题的看法。

大厂螺丝钉还是开源极客?人生要敢闯新路

CSDN:对如今的年轻技术人而言,职业规划大体可以分为两条路线:一种是追求创新、做开源的极客。还有一种是追求稳定,想进入大厂的螺丝钉。你如何看待这两条路线发展?你当初又是如何选择走上开源创新之路的?

王海良: 现在的年轻技术人们正处于一个非常好的时代,和我在2011年毕业时相比,现在整体技术氛围有明显的改善,我们肯定是在前进的。

身处现在这个时代,如果是一个还处在求学阶段的年轻程序员,最好的方式就是到不同的创业公司或者是互联网大厂实习。多积累一些实习经验,多去体验,这会帮助他找到自己喜欢的方向。当他加入了一家公司,开始了自己的职业生涯以后,他可以将这个公司当作一个学习的平台,大量的学习、积累,更深入地发展自己的某项技能。另外,在大厂和创业公司之间找到一个平衡是一种很好的职业选择。比如在大厂里也有很多创业项目,它既能让你接触大厂中的一些好的工作方法,管理理念,甚至是一些优秀的学习资源,同时也不失创业公司中那种要求产出、鼓励尝试和创新的优点。

在我大二或大三时,发生了一件对我开源成长影响深远的事。我记得当时是暑假,在实验室里学习,偶然看了一部关于美国开源的纪录片" Revolution OS"(操作系统革命),它主要讲述Linux操作系统的诞生和发展过程。这个纪录片让我感触颇深。那是我第一次理解了一个工程师的成长和贡献之间的关系,以及开源的免费和自由的等等有关开源的文化。对我之后参与开源贡献、开源创业产生了深远的影响。

CSDN:对于一个想要参与开源的技术新人而言,他的第一个开源项目应该如何选择?

王海良: 作为想要参与开源的技术人,他可以参与一个已有的开源项目,也可以自己发布一个新的开源项目。

那么如何找到属于自己的题材?或者是参与哪个方面的开源项目?在我们工作或者学习的过程中会接触到一些商业软件,我们可能会感觉到这个软件对我们非常有价值,那么它是不是也应该有一个对应的开源版本?如果没有对应的开源版本,我们可以去尝试开发、发布一个新的项目。这是第一种方式。

第二种方式是在我们的日常生活中,我们会需要一些工具,比如个人财务管理或者图片剪辑的软件。我们可以在开源社区上去寻找一些可以满足我们的需求,但还没有做得非常成熟项目来完善。这种基于我们自身需求或者爱好而参与开源的方式是非常有自驱力的,能使我们长期的坚持下去。当我们参与这些由我们兴趣驱动的项目时,我们也很容易遇到和我们兴趣相同的人,可以从开源社区找到志同道合的朋友。所以这也是一个非常好的方式。

开源技术与商业化技术的关系更像太极图

CSDN:开源技术和商业化的解决方案,在用户的使用方式上有很大差别。开源软件需要用户自己去搭建,而商业化的方案追求开箱即用。如若要满足这两方面需求,做出用户喜欢的产品,在开源和商业化两个方面分别需要做出什么样的努力?

王海良: 我们可以把开源和商业化看作是一枚硬币的两面,而这枚硬币就是如何帮助用户更好地使用这个软件。关于这枚硬币的两面,我现在感到的不是矛盾,也不是挑战,而是一个绝佳的机会让我们能够创造价值。

当我们做开源系统时,主要有两类用户,一类是企业用户,他们是真正有系统上线需求的一方。还有一类是开发者,他们更希望我们来提供定制化开发相关的技术,在我们提供的开源系统之上,去满足更多各行业细分的特有需求。有时,这两类用户会同时出现在一个场景中。拿客服系统举例,比如某一公司它既需要上线客服系统,同时也有研发人员。这类用户其实是我们最欢迎的用户。因为作为一家开源商业公司,我们能提供的支持不仅有免费的代码,我们也有社区的技术支持,同时我们也提供不同的云服务,来让整个开发过程更快,成本更低。因此,在开源和商业上,我们所做的努力在我看来是一致的。开源技术和商业化技术更像是一个太极图,开源当中有闭源,闭源当中也有开源。

CSDN:若想基于开源软件做好一个商业化的企业级应用,其难点与价值是什么?

王海良: 就以我们正在做的开源客服系统为例,它有巨大的经济价值和社会价值,但也需要我们长期投入。只有当我们不断获得其商业上的收入,才能支持它不断地发展下去。

开源客服系统的商业化之路,在云计算以及云原生技术成熟之前尚不明晰,但是从2014年以后,随着底层的云计算技术以及企业购买软件的模式改变,企业的财务结构更倾向于租用软件。在移动互联网时代到来以后,企业需要处理的客户请求体量大,需要租用软件。在这个背景下,做开源软件的企业就可以为客户提供云上的软件服务租用,实现商业模式的转化。因此市场现状对发展企业级的应用非常友好,很多与我们类似的企业在做企业应用,或是中间件,也不乏成功案例

我相信在未来会有更多企业应用级别的开源软件出现,赋能不同行业,而企业也不用重复造轮子,在创新上去追求更多突破。

海内与海外开源是同一个圈

CSDN:基于之前在您海外工作的个人经历以及与海外开源社区的接触,所了解的中国的开源圈与海外有差异吗?如果有,形成这种差异的原因主要是什么?

王海良: 从整体上来看,我觉得最大的差异是国内开源社区治理方面还比较落后,主要表现在我们输出的开源项目质量比较低。我们有一些项目是有亮点的,是有创新的,但是也掩盖不了我们整体还处于落后水平的现状。形成如此现状的原因其实也非常简单,就是我们起步晚。

美国在20世纪70年代就有非常多的公司或机构加入了互联网技术的研发,比如贝尔实验室等等。因此,我们可以看到Linux这种项目能够在全球召集到优秀的技术精英来参与。而中国则是在2000年以后,随着互联网在中国的兴起,开源才流行起来并开始被大家关注。有人可能也会从文化、经济或者习惯的角度探讨这个问题,但我认为这些都不是主要原因。我认为我们中国的开发者从学习能力、创新能力,还有想要做好一个开源项目热情,都和海外的开发者没有差异。而且我也相信我们可以在很近的未来把中国的开源项目做得更好、更多,甚至会出现一些好的开源型软件企业、上市企业。

CSDN:如果我们想要赶超国际水平,需要在哪些方面更加努力?

王海良: 首先我不认为我们跟国外的开源社区之间是竞争关系,我认为我们与海外是一起处在一个大开源社区之中,是合作的关系,我们可以一起去追求更宏大的目标。比如我们在GitHub上能看到很多海外优秀的人工智能项目,我们国内的开发者也可以去为其做贡献。所以我们不应该以两个阵营的视角来看待国内和海外的开源社区,只有合作才能更好的提升自己,才能更好地承担我们在整个开源世界的责任。

其次,要敢于做不同的事情。当我们看到了一些优秀的海外项目,我们能否基于它有新的想法,并敢于对我们的想法进行实践,这一点很关键。以芯片产业为例,做芯片的过程中会需要使用软件技术模拟芯片的制作流程,这些软件我们的自研能力其实是非常落后的,都是依赖于进口。我们要想做得更好,就得敢于创新,敢于尝试不同的思路,如果一直在模仿,可能我们永远会处在二流的水平。

技术人的浪漫与创想

CSDN:在Chatopera来自CEO的一封信中,你曾用“玫瑰”来比喻我们热爱且甘愿为之奉献的对象,这样的表达非常浪漫,你认为程序员的浪漫是什么?他们该如何找到属于自己的玫瑰?

王海良: 我觉得每个人都会有对浪漫的追求,程序员的浪漫并不特殊,他们从事创造性的工作,需要拥有丰富的想象力、创造力。他们可能从其它领域汲取灵感,并将这种浪漫表达在产品的外在和内在。

“玫瑰”的形象来自于我所喜爱的一本书——《小王子》,相信很多朋友也都对这个故事有所耳闻。这个故事告诉我们,只要我们找到了这朵“玫瑰”,就找到了我们可以为之奉献,为之热爱,点燃我们激情的目标。作为开发者也一样,每个人无比渴望能够找到这朵玫瑰,它不仅仅是兢兢业业的从事技术工作这么简单。如何找到自己的玫瑰?

我认为首要是专注。专注可以体现在很多方面,真正成为一个专注的人是赢得“玫瑰”非常关键的基础。第二点是增强沟通,包括倾听、写作。我个人在大学的时候就会用博客来记录学习心得和体会。如今当我再去回顾那些博客的时候,我受益良多。回顾那时我记录的技术想法,给了我很多反思。写博客的过程中我也把自己的想法通过文章的形式分享给别人,也结识了更多的朋友。

总的来说做好这两点,假以时日,你一定能够找到自己心中的玫瑰。

CSDN:您曾不止一次提起对未来技术发展的畅想,包括如今经常被谈到的元宇宙。您认为在未来,智能问答、智能客服技术会承担怎样的角色?会有哪些具象的应用场景?

王海良: 未来,在元宇宙中会有很多虚拟角色。我们可以将自然语言处理技术应用到虚拟角色身上,做好聊天机器人,赋能客服系统。

其实VR技术在2014年左右就已经火爆。那时我们就能感受到聊天机器人有非常多的应用场景。比如在虚拟世界中的虚拟地图上进行室内导航,或者是虚拟个人助手。

如果将自然语言处理技术理解成一个数据决策的过程。那么基于这种数据决策,我们可以用常用的口语与机器交互,而这种交互最符合日常生活体验。我们现在所使用的包括Siri在内的一些语音助手将越来越智能。

可以期待在未来的10年到20年之内,我们能真正接触到元宇宙中非常智能的虚拟人形象。

《开源访谈录》是一档聚焦开源发展的访谈类栏目,每周将邀请1位具代表性及影响力的开源专家,探讨大家广泛关注的开源话题,从不同角度还原开源圈真实面貌。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chatopera王海良:大厂螺丝钉还是开源极客?年轻技术人如何选择? 的相关文章

  • simulink中PID控制器搭建

    Simulink 是一个用于仿真 建模和仿真的软件工具 您可以在其中搭建 PID 控制器 以下是如何搭建一个简单的 PID 控制器的步骤 启动 Simulink 打开一个新模型 在模型窗口中插入一个 PID 控制器 模块 可以在 Simul

随机推荐

  • STM32 电机教程 1 - 用ST Motor Profiler 测量无刷电机参数

    前言 在对电机进行控制前 往往需要先知道电机的一些参数 但是在实际应用过程中 经常会出现在控制一个电机参 但对电机的参数如相电阻电感的参数不够了解的情况 本节给大家演示基本ST Motor Profiler测量电机参数的操作过程 让大家在以
  • Spring Cloud 与 Dubbo 区别

    1 定位点不同 SpringCloud SpirngCloud 定位为微服务架构下的一站式解决方案 Dubbo 关注点主要在于服务的调用 流量分发 流量监控和熔断 2 dubbo基于rpc 底层netty SpirngCloud基于http
  • 【点云处理之论文狂读前沿版7】—— Masked Autoencoders for Point Cloud Self-supervised Learning

    Masked Autoencoders for Point Cloud Self supervised Learning 摘要 1 引言 3 Point MAE 3 1 Point Cloud Masking and Embedding 3
  • Docker专题(八)-Docker-Docker部署SpringBoot项目

    1 手工方式 1 1 准备Springboot jar项目 将项目打包成jar 1 2 编写Dockerfile FROM java 8 VOLUME tmp ADD elk web 1 0 SNAPSHOT jar elk jar EXP
  • PhpStorm最全攻略

    本教程主要内容的是日常开发 测试 部署工作流的一些技巧和工具配置方法 并尽量将最有用的部分提取出来并结合实际场景做介绍 而并不是仅仅对PhpStorm的功能的简单罗列 如果读者有改善的建议 可以在教程下方留言或直接与作者联系 共同促进内容的
  • 工具:npm/node版本更换(Windows版本) 含报错exit status 1报错,出现乱码的解决方法

    npm版本更换 更换指定版本 npm g install npm 6 14 11 更换最新版本 npm install g npm node版本更换 方法1 下载nvm https www runoob com w3cnote nvm ma
  • 腾讯业务百万数据 6s 响应,APIJSON 性能优化背后的故事

    最近发生了一件大事儿 APIJSON 再也不用担心被人质疑性能问题了哈哈 某周三腾讯 CSIG 某项目组 已经用 APIJSON 做完一期 突然反馈了查询大量数据性能急剧下降的情况 某张表 2 3KW 记录 用 APIJSON 万能通用接口
  • 【数据库-4】clinvar

    欢迎关注公众号 oddxix 如果觉得写的不错记得点个赞哦 留步看一下这个讲解视频吧 https v qq com x page m03789y9j98 html 搭配这个pdf食用更佳哦 https www clinicalgenome
  • 动态规划的实践

    一 动态规划要解决的问题 动态规划问题的一般形式就是求最值 动态规划其实是运筹学的一种最优化方法 只不过在计算机问题上应用比较多 比如说让你求最长递增子序列 背包问题呀等 只要我们发现某一过程包含多种状态 情况 后一种状态的生成依赖于前面的
  • 七天LLVM零基础入门(Linux版本)------第四天

    作者 snsn1984 第一步 复习 第三天的时候 我们学习了LLVM的编程指引 在开始第四天的学习之前 需要复习之前学习过的两篇文档 LLVM IR的文档 http llvm org docs LangRef html 编程指引文档 ht
  • 使用spyder3调试python程序的简明教程

    说是简明教程 其实是我自己尝试用spyder调试python程序的过程的一个记录 因为spyder的调试功能是基于pdb 而我又没有pdb的基础 所以刚开始上手时感觉很不习惯 而且那时我又很懒 没去找官方文档 仅仅在百度和csdn上找了找
  • 腾讯云被ddos攻击解决方案

    腾讯云是国内仅此次阿里云的云服务商 很多创业者都使用他们家云服务器 自然被DDOS攻击的也不少 今天来介绍下使用腾讯云服务器被DDOS攻击的解决办法 一 购买腾讯高防IP 也称腾讯大禹BGP高防IP 是一个运行在腾讯云内网的高防IP服务 适
  • nginx (1):ubuntu下安装启动nginx

    1 安装依赖 sudo apt get install gcc zlib1g dev libpcre3 libpcre3 dev libssl dev 2 下载nginx wget https nginx org download ngin
  • 【vue 页面下滚到目标元素的位置,目标元素自动吸顶(自动悬浮吸附到页面顶部)】

    vue 页面下滚到目标元素的位置 目标元素自动吸顶 自动悬浮吸附到页面顶部 原文链接 https blog csdn net weixin 41192489 article details 112320596 1 监听页面滚动事件 监听页面
  • xxl-job(2.4.1)使用spring-mvc替换netty的功能

    xxl job 2 4 1 使用spring mvc替换netty的功能 1 xxl job core引入spring mvc的依赖
  • APP自动化测试-11.webview技术原理

    APP自动化测试 11 webview技术原理 文章目录 APP自动化测试 11 webview技术原理 前言 一 获取webview 二 根据webview启动chromedriver 总结 前言 根据日志 简单记录webview运行的机
  • Caffe 源码阅读笔记 [基本模块] Syncedmem & Blob

    syncedmem syncedmem管理一段大小为size的内存 这段内存可以从GPU或者主机内存分配 syncedmem负责GPU和主机内存之间的同步 如果数据是在GPU里而要从主机内存取出 syncedmem会先把数据从GPU内存me
  • 服务器怎么设置无线网络共享,无线路由器怎么设置usb网络共享管理

    众所周知 路由器长久以来一直是计算机网络的核心设备 其重要性不可低估 那么你知道无线路由器怎么设置usb网络共享管理吗 下面是学习啦小编整理的一些关于无线路由器设置usb网络共享管理的相关资料 供你参考 无线路由器设置usb网络共享管理的方
  • 实现一个简单的二叉树

    实现一个简单的二叉树 语言 Objective C 整体上还是挺简单的 所以就直接上代码了 1 二叉树 由 节点 和 枝干 组成 且每个节点最多只有两个子节点的树形数据结构 2 代码实现 2 1 节点类 创建一个简单的节点类 这个类可以保存
  • Chatopera王海良:大厂螺丝钉还是开源极客?年轻技术人如何选择?

    他因为追求创新毅然放弃了大厂稳定的工作 参与开源并成立了开源商业公司 他相信 开源可以极大地助力开发者成长 那么 对于年轻开发者而言 如何通过参与开源实现跳跃式发展 本期 开源访谈录 邀请到了Chatopera CEO王海良来分享他的见解