·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
DZ插件网 门户 站长资讯 查看内容

Tubi 故事|听说你也是小众技术语言使用者

2023-8-5 01:17| 发布者: 婷姐| 查看: 93935| 评论: 0

摘要: 阅读Tubi故事,了解小众技术语言的选择对求职者和开发者带来的机遇与挑战。Tubi技术团队分享为什么选择Elixir和Scala搭建后端服务,以及使用小众技术语言的优势和学习经验。
上回,我们谈到了 Tubi 招聘高水平小众技术语言开发者的有效方法;之后,我们采访了 Tubi 小众技术语言工程师们,了解他们如何做出了技术语言的选择,在学习、求职和个人技术影响力打造方面的经验。
本文将从求职者 / 开发者的角度出发,与你分享:

  • 选择小众技术语言所带来的机遇与挑战


  • 学习小众技术语言的独特路径


  • 技术语言小众,求职之路也不传统
这是 Tubi 故事专栏的第七篇,如果你还没看过前面的故事,请点击此处阅读。Tubi 故事将持续更新,欢迎🌟星标关注【比图科技】微信公众号,咱们保持联系!选择小众技术语言所带来的机遇与挑战Tubi 为什么选择 Elixir 和 Scala 搭建后端服务?Tubi 中国团队创始人陈天在分享中提到,除了考虑其卓越的异步与高并发能力,还有一个很重要的考虑,那就是基于 Tubi 当时的产品与品牌,能否吸引足够优秀的工程师加入。
2018 年前后,Tubi 正要重构 Ad Server 和后端服务,陈天回忆当时的场景是这样的:“当时 Tubi 的主要技术栈是 PHP 和 Node.js,在评估的过程中,我们首先划掉了 Java 和 Node.js,虽然这两种技术语言的人才供给量很大,但鱼龙混杂,与大公司相比,当时的 Tubi 大浪淘沙,能招到顶尖工程师是很有困难的。

接着,我们划掉了 Python,当时 Python 处在 Python 2 到 Python 3 迁移的混沌过程中,主流的框架还在观望,而我们自己还缺乏大规模实践 Python 的底蕴。对于新兴语言,Go 并不讨喜的语法、有限的表达力和很多实现都倾向于短平糙的社区习惯,使得我们很担心项目做大后,容易产生意大利面条似的代码,重蹈我们使用 PHP 的覆辙;而当时尚处在襁褓之中的 Rust,虽然惊艳,但它太过小众,又偏底层,太考验开发者的学习能力,我们很难把赌注压在它身上。

最终白板上留下的选择是 Elixir 和 Scala,这两种技术语言相对小众,公司一般不会选用这样的语言作为主要技术栈,而我们在 Tubi 内部已经做了一些反响很好的尝试,所以我们很有信心用好它们,同时,缺少了主流公司的竞争,我们也有更大的机会招聘到顶尖的工程师。”

⬇️ 点击图片,Tubi 正在招聘 Scala/Java 工程师 ⬇️

Tubi 故事|听说你也是小众技术语言使用者4006 作者: 来源: 发布时间:2023-8-5 01:17

同样地,一位程序员选择使用小众语言,可供选择的工作机会数量不一定多,但这也意味着与你形成直接竞争关系的开发者数量相对较少,更多的岗位机会和工作中的项目机会可以流向你。同时,在较少人涉足的小众语言中探索并深入,意味着你有更多的可能性成为某个特定领域的专家,在某一细分方向保持竞争优势。选择小众技术语言,会增加自身的独特优势,但同时会不会带来视野的窄化?
Tubi 后端工程师 Dave 在从事技术开发工作多年之后,加入 Tubi 时决定从 Go 语言转到 Elixir,他坦言这一转变在同行友人看来是有风险的,比如公司会不会只是短期选择 Elixir,在一个小众技术语言上投入的时间和精力会不会白费?但这些疑问在 Dave 学习和使用 Elixir 的过程中烟消云散,他说:“我立刻被 Elixir 的简单所吸引,感到被电击中一样。对这门新技术语言的探索本身就是很有收获的一段经历。”

⬇️ 点击图片,听 Dave 的更多分享 ⬇️

Tubi 故事|听说你也是小众技术语言使用者2899 作者: 来源: 发布时间:2023-8-5 01:17
与 Dave 经历了同样转变的后端工程师 Yilong 则是被 Elixir 本身的功能和开发体验所俘获,他说:“使用了 Elixir 一段时间后,我感受到了它浓郁的函数式编程风格和 immutable 变量的好处,可以避免很多不必要的麻烦。同时,Elixir 生态系统中有许多共享的库和 convention。例如,我目前所见的第三方库都使用集成 Ecto 进行数据库操作,这对于 Elixir 的生态发展非常重要。学习一个新的库,只需要掌握其独特部分,其余部分都是熟悉的。总的来说,除了动态类型可能导致重构代码时有点困难外,使用 Elixir 的体验非常不错。”与中途选择小众技术语言的工程师相比,在职业初期便使用小众语言的工程师自带一份从容。
Tubi Director of Software Engineering, Taotao 当被问及“成为小众语言开发者会有什么优势和挑战”时,他说:“我自始至终都在使用较为小众的技术语言,早年也会担心这会不会影响我的职业发展。但是,随着工作经验的增加,尤其是在基础知识、系统知识、架构设计和解决问题方面的积累,我认为使用哪种技术语言并不会成为职业发展的阻碍。相对于使用何种技术语言,更关键的是解决问题的能力。真的不需要将语言看的太重,语言只是一门工具,用得趁手就行。”
Elixir-gRPC & Elixir-Protobuf 作者 Tony Han,也是从 Tubi 毕业的校友,他也认同“相对于技术语言本身,自身的技术水平与影响力也很关键”,他进一步解释说:“任何一门技术语言都有适用的场景,一家公司会选择使用小众语言,说明了这家公司认为这门语言比较契合它的生产场景,而一位精通这门语言的开发者一定也是想做这些场景的事情的,如此来看,开发者反而更容易找到合适的工作。当然,前提是这位开发者的技术能力很强,其他能力也强,你刚好会公司所需要的这门小众技术语言有时候只是一个加分项。”⬇️ 点击图片,阅读 Elixir-gRPC 技术博客 ⬇️
Tubi 故事|听说你也是小众技术语言使用者7530 作者: 来源: 发布时间:2023-8-5 01:17
学习一门小众技术语言的独特路径你会开始学习一门小众语言,通常是因为你被它的某些独特特性所吸引,或者是它能解决某些问题。在 Erlang / Elixir / Rust 都有不错积累和技术影响的 Tubi 校友 Tony Han 在谈及自己掌握一门小众技术语言的经验时,分享说:“我学习 Elixir,是因为它可以提供基于 Erlang 的强大并发能力以及简洁易用的语法等。在学习过程中,我会将 Elixir 与我了解的其他语言做比较,辨别 Elixir 的优势与不足。随着进一步深入学习,最好可以写一些具体的项目。”这一学习路径,其实与掌握一门主流技术语言的路径几乎一样。不同之处在于,小众技术语言可供开发者学习与研究的生产实践用例、工具和库方面的支持会相对较少,甚至很多资源都是英文的,学习难度再次增加。此时,开源社区便可以在这些方面发挥一些补充作用。在 Tubi 赞助组织 Elixir & Scala Meetup 之前,Elixir 和 Scala 中文社区已经有了不少活跃用户。Tubi 作为使用 Elixir / Scala 的最大公司之一,在这两个技术社区中贡献了大量的生产实践用例和开源项目,为这两门技术语言的爱好者补充了丰富的学习资源。
⬇️ 点击图片,阅读 Scala Meetup 往期回顾 ⬇️

Tubi 故事|听说你也是小众技术语言使用者4256 作者: 来源: 发布时间:2023-8-5 01:17
小众技术语言通常具有较小的生态系统和社区支持,这意味着开发者可以更轻松地掌握这些语言的基础知识,并在项目中快速应用;但同时,因为小众语言社区的友好与灵活,很多开发者有机会在早期深度参与到各种开源项目中,技术语言的迭代速度也会更快,需要持续地学习。Tubi Senior Tech Lead, Yiming 在解决了一个潜藏在 Elixir 代码库里 7 年的性能问题时,坦言:“向 Elixir 贡献 PR 可能是一个开发者能享受到的最好的开源体验了—— 10 分钟不到,你的代码就被合并进主干分支了!” Yiming 也在一次又一次的贡献中建立了自己在 Elixir 领域的技术影响力,成为了中国地区多个 Elixir Meetup 的分享嘉宾,甚至成为了 2022 Elixir US Conf 大会上唯一的中国分享者。
⬇️ 点击图片,观看 Yiming 分享 ⬇️

Tubi 故事|听说你也是小众技术语言使用者7797 作者: 来源: 发布时间:2023-8-5 01:17

综上,掌握甚至精通一门技术语言,最好的方法还是参与甚至贡献开源社区,找到有着同样感兴趣的人,在交流与实践中深入自己的理解。对函数式编程有兴趣的开发者,尤其是 Elixir / Scala 开发者,欢迎留言,加入 Tubi 赞助与组织的 Meetup 中!
技术语言小众求职之路也不传统
如果你还记得 Tubi 针对团队使用的技术栈小众带来的招聘难而采用的方法,你便会十分清楚,作为使用小众技术语言的开发者,你可以去哪里找到合适的工作。

第一,“混社区”。参与与你使用的小众技术语言相关的开源项目和社区,积极贡献代码和参与讨论,不仅可以帮助你快速学习提升自己,也有可能引起潜在雇主的关注。许多公司在搭建服务时会从开源项目中获益,对于开源项目的重要贡献者自然会产生很好的印象。事实上,通过这种途经被雇主发现并邀请加入团队是很常见的。

较早期加入 Tubi 写 Elixir 的 Tony Han 在学习 Elixir 时,对优秀的开源项目都会积极关注,其中就包括 Maru 这个项目。Tony 分享说:“我发现 Maru 这个项目原来也是国人写的,就会特别留意,甚至后面找到了机会与这一项目的作者成为了‘网友’,而这位作者当时就在 Tubi 美国总部工作,通过他我知道了 Tubi 中国团队正在招聘 Elixir 工程师。我自己其实也有开发 Elixir-gRPC 相关的项目,起初这个项目偏实验性质,我自己将它当作一个学习项目来写的;后来听说 Tubi 想尝试将 Elixir-gRPC 用在公司内部项目中,经过与一些 Tubi 优秀工程师的交流,我感觉会很有意思,干脆直接加入了 Tubi ,全职写 Elixir。”

第二,与使用小众技术语言的公司或项目建立直接联系,这也是获得就业机会最高效的路径了。Tubi 赞助并组织的 Elixir Meetup 中,每一场活动都有 3-4 位来自不同公司或项目的开发者带来分享,通过这些项目我们可以认识很多运用 Elixir 构建的系统和服务,也认识这些项目的核心负责人,快快留言加入 Tubi 赞助与组织的函数式编程 Meetup,为自己创造更多的职业机会!

第三点是最值得你关注的。因为无论你有多少求职路径、使用哪一门技术语言,持续积累技术经验与能力,并逐步打造个人技术影响力总是最关键的。

Tubi 故事|听说你也是小众技术语言使用者5833 作者: 来源: 发布时间:2023-8-5 01:17

欲知如何有效地打造个人技术影响力,请听下回分享!🌟星标关注公众号,听 Tubi 中国团队的同事们讲故事。


Tubi 故事|听说你也是小众技术语言使用者4439 作者: 来源: 发布时间:2023-8-5 01:17

点击原文,加入Tubi!




上一篇:编译器工程师眼中的好代码(1):Loop Interchange
下一篇:大疆 VS “白帽子”,到底谁威胁了谁?

鲜花

握手

雷人

路过

鸡蛋

评论

您需要登录后才可以发表言论 登录立即注册
创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.222.20.3,GMT+8, 2024-11-23 11:02 , Processed in 0.123466 second(s), 43 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯
扫一扫添加微信客服
QQ客服返回顶部
返回顶部