Ruby 简单聊聊 Ruby

lanzhiheng · 2022年04月21日 · 最后由 lanzhiheng 回复于 2022年04月28日 · 1483 次阅读

这篇文章简单聊聊 Ruby,谈谈它的现状,以及本人对它未来的一些看法。原文链接: https://step-by-step.tech/posts/simple-summary-of-ruby

最近有个朋友突然说,想要用 1-2 个月时间恶补一下 Ruby(Ruby On Rails),然后跳槽到云长科技帮我。老实说,对于这种 “不怕死” 的小伙子我是比较欣赏的,当然也知道他是看上了我们公司可以远程的福利。然而笔者本着负责任的态度还是决定写一篇文章,简单点评一下 Ruby 这门语言在中国的现状,希望能做到尽可能地客观,不要误人子弟才好。

Ruby 程序员工资真的不算太高

Screen Shot 2022-04-21 at 22.25.13.png

不管你承不承认,Ruby 程序员在中国的工资并不会说非常高,据我所知,现在就一些币圈的公司敢放话说 “工资包你满意”,而像笔者所在这种勒紧裤腰带过日子的公司能给价真的不会说特别高。估计也就是¥10000-¥20000 这个水平。跟诸如 Python/Java/Go 这些主流语言估计是不能比了。毕竟阿里/腾讯/字节/京东这些大公司对主流语言的程序员需求还是很大的,彼此之间对人才的争抢更是把价位提高到令人发指的水平,腾讯之前更是扬言自家公司的平均薪资水平是¥40000+,很显然 Ruby 的岗位在这些语言面前完全没有价格优势。

难道就没有大公司用 Ruby 吗?有,老实说当年的大疆科技着实囊括了许多优秀的 Ruby 人才,但是据说他们现在已经不玩 Ruby 了。这么看来 Ruby 在中国的处境确实不咋地。想入 Ruby 坑的小伙伴还是要慎重。

Ruby 是一门跟 “国际接轨” 的语言

Screen Shot 2022-04-21 at 22.27.06.png

这么说 Ruby 好像有点太高估它了是吧?凭什么你就能跟 “国际接轨” 了,说得好像其他语言不能接轨一样。老实说,其他语言或多或少还是差了一点点。我想起《黑客与画家》这本书对 Lisp 的描述,大概如下

Lisp 社区是最纯净的社区,里面人是真的是黑客,他们真的喜欢技术。

跟 Ruby 在国内的处境差不多。用的人少,工作机会少,然而留下来的基本都能算是爱好者了。Ruby 社区也是一群爱好者在用心经营的社区,说它是国内所有编程语言社区中内容质量最高的也不为过吧?或许是因为很多人都不是单纯为了金钱才选择继续写这门语言,社区里面爱好者居多(排除掉 HR),氛围也相对比较开放自由。

爱好者不会因为这家公司给钱少了,写代码就不再卖力。毕竟他们也不愿意亵渎自己喜欢的语言。渐渐地他们也会想办法让自己变得越来越自律,提升自己的工作效率。自律即自由,确实也比较符合 Ruby 程序员的特质 - 喜欢自由自在的生活。许多的 Ruby 程序员更愿意远程办公,很多用 Ruby 语言的公司(个人了解过的)都提供了远程工作岗位。

到底是先有鸡还是先有蛋笔者也说不太准。毕竟我入行 Ruby 算是比较晚的,在那之前还没有疫情,国内的远程公司相对还比较少,而在那个时候,很多 Ruby 的企业都已经开始提供远程岗位了。哪怕一些公司的员工手册没有明面上说,偶尔远程一下已经成了公司不成文的规定(疫情期间也不用整天排队做核酸了)。Ruby 语言似乎天然地就让你联想起 “远程” 这个词。

也因为这个群体原本就带有远程的基因,故而有些英文比较利索的大神,完全可以应聘海外的工作岗位(只要中国不闭关锁国),上次参加RubyTuesday的时候听说有些前辈应聘海外的远程岗位,月薪资能到¥30000-¥50000。这确实也是一条路子。上了 Ruby 这条 “贼船”,最糟糕的情况下,哪怕有一天中国的 Ruby 企业真的死绝了,你也可以尝试海外的工作机会,至于拿不拿工作签证就看自己的实际情况了,许多人还是更愿意留在中国。

解决问题的思维可能会比用什么编程语言更重要

15-0008385.webp

如果放在前两年,偏激的我可能不是 Ruby 的工作岗位我都不会考虑。然而现在,要是公司需要做某些微服务,而 Rust/Go 这些高性能语言会比 Ruby 更合适的话,那么我也会去写。现在倒不会太担心外面找不到 Ruby 的工作,只是心态变了。我相信也有很多公司跟我们一样,招聘程序员更看中他的解决问题能力,而不是他把一门编程语言写了多少年。我始终觉得,如果一个人在编程生涯中养成一定的解决问题能力,哪怕哪天换一门语言,他也能够很快上手。

只是这门新语言,他可能一开始有一段时间会用得比较别扭罢了。另外,公司不是慈善机构,不会让刚 “转行” 过来写 Ruby 的新人慢悠悠地用工作时间学习基本语法,既然有换语言的觉悟,那么应该自己利用空闲时间去学习一些基础的东西,工作时间撸起袖子就是干项目。随着时间的推移,如果工作进度能够跟上,代码看起来也越来越有那个味儿了,自然而然也就能转正了。估计一开始的一两个月会比较痛苦,代码风格/工作习惯会不断地被同事指指点点,然而扛过去就好了。

有个挺有意思的现象,我曾经问过我一些写 Java 的朋友,他们现在还在写 Java,也不怎么会去接触别的东西(当然他们薪资还是很高的)。而 Ruby 圈我认识的那些人他们没事就去折腾各种技术,Rust/Go/Julia/Clojure 都在他们的兴趣范围内,有的人会换种语言重新开启自己的职业生涯,有的只是当成兴趣,有空的时候练一练。似乎 Ruby 圈的人更愿意去接触些不一样的东西?当然,很有可能是我认识的人不够多,看得不够全面,下这种结论还太早。不过....谁在意呢?我只是把自己的观察说出来。

友情链接

2eNZS8c6iXYyNrnMeD4jo1uTCVGBOgXgTwpZFE8KWRQ.jpeg

如果你写 Ruby,又感觉国内做 Ruby 的公司已经所剩无几,那么请容许笔者推荐几个本人比较了解的公司(这里只敢推荐那些个人比较熟悉,并且也跟里面的管理层多少也有聊过天的企业)。

Beansmile

Beansmile 又称乐豆信息科技有限公司,是笔者的老东家(2016-09 ~ 2020-04 在职)以前笔者还在的时候是外包咨询业务为主,方向相对发散。现在主要聚焦于定制化 Sass 服务,貌似渐渐找到了适合自己的方向。跟业界所诟病的外包公司完全不同,他们有良好的编码规范,公司里面程序员居多,人都挺 Nice 的。比较开明自由的一家企业,里面也有一部分前同事很早就开始了远程生活,也是美滋滋。

后端技术栈主要是 Ruby 为主,现在也有 Java 业务,如果对语言没有近乎偏执的执着,确实可以考虑一下。如今笔者跟里面的前同事还会时常联系,聊聊人生啥的(下班还聊啥技术,太费劲了)。薪资多少?这个不是招聘贴,有兴趣还是自己投个简历看看吧。官网网站底部就有老板Leon的邮箱。

深圳至简天成科技有限公司

深圳至简天成科技有限公司,它的创始人李亚飞相信 Ruby 社区的人都比较了解了,目前主打产品是ShowMeBug一个远程面试平台。坐标深圳,深圳仅剩不多的 Ruby 公司之一。因为创始人跟云长科技老板刚好是大学同学,云长刚起步的时候笔者还没啥事做,曾有幸在里面打了一个多月酱油。了解到这是一家比较注重产品跟用户体验的公司,整体技术水平也比较高。

如果想多做产品方向的研发,可以去了解一下,拿了融资薪资估计不低,不过不确定他们开放远程岗位没有,虽然我们是兄弟公司,但前段时间都比较忙,加上疫情,即便都在深圳,却已经很长时间没有走动了。

嘉兴橙陌网络科技有限公司

橙陌科技这家公司的合伙人wikimo是最近通过 Ruby 社区认识的,坐标嘉兴。技术团队不大,通过聊天估计现在就 4-7 个人吧,但生意做得还挺大,看起来挺有前景的。聊天中发现,他们公司跟云长科技有许多相似之处,主要依靠业务团队拓展生意,开发团队做基础支持。

从他们招聘贴可知他们是提供远程岗位的团队。能几个技术人撑起这么大的生意可见他们技术水平肯定不一般。另外他们对支付的探索,甩云长科技几条街,以后一定会有很多要请教的地方。不信请看他们其中一位合伙人的优质回帖。

Screen Shot 2022-04-21 at 22.32.36.png

Gitlab(极狐)

Gitlab这家公司应该是业界有名的了吧,不过要求估计相对比较高,听说他们会问很多算法相关的问题,那笔者是没戏了,说不定您可以试试看。当时通过“我的远程办公 ~”这篇文章认识了里面的一位正走向管理岗的技术奶爸Hiveer,主要是想请教团队的远程运作经验。毕竟上千人的公司还能够持续远程运作,着实让人向往。

如果要寻找一家技术氛围很浓的 Ruby 公司,Gitlab 应该会是笔者首推(国内,国外可能是Basecamp)。他们几乎所有东西都是开源的,包括员工手册,想要打造远程团队的公司也可以趁机围观一下。

谢幕

这篇文章简单聊聊 Ruby,谈谈它的现状,以及本人对它未来的一些看法,希望我的表达还算客观。并给我那位想说要入 Ruby 坑的朋友一些走心的建议。优缺点,后路(我认知范围内)都给您尽可能展示出来了,如果您还是想要入坑,非常欢迎,哪怕不来云长科技,我熟悉的公司里面(参考友情链接)也有一些非常不错的选择。

很好奇这些公司的大牛们都用的什么编辑器写 ruby

我认为在一个阶段对 Ruby 有这样的偏执是很好的,因为看到了 Ruby on Rails 社区给我们的问题提供了一种规范化的解决风格。Convention over configuration,我们渴望知道一个好的 Convention 是长什么样子的。偏执到立刻就要去学习使用它,是学会这种 Convention 最快的方法。

等到我们已经能熟练地闻出代码的 “味道” 之后,才会自然而然地不必执着于 Ruby 这门语言,因为心中已经有 Convention 了,用别的语言也能知道什么样的写法是好的。

但是很少有语言会从一开始就告诉你什么样的写法是好的,这也许就是不顾一切也要学习 Ruby 真正受益的地方。

gaicitadie 回复

几乎什么都有吧 我看我认识的人里面 Vim, Emacs, VSCode, RubyMine 都有人在用。工具就看顺不顺手吧。

传闻是他们内部的政治斗争玩着玩着把技术栈都换了(别问,我不记得听谁说的)

私以为未经证实的内容,跟文章主旨没有关系的,还是建议没必要在文章里提了。

martin91 回复

有理,我去删掉。

Ruby 社区的程序员素质最高

我觉得有经验的程序员不太在意语言所带来的壁垒,用合适的语言解决合适的事情。学习 Ruby 是否影响职业发展呢? 我觉得把自己用技术栈定位,框起来,这个就.... Ruby 受 RoR 的火爆程度影响比较大,现在情况也反应了 Web App 的创新也进入了平缓期。

对于 Ruby,我最喜欢的是社区,用 Ruby 的人。大家都很 Nice,对新人非常友好,而且多才多艺。

感谢推荐。对 Web 系统来说,数据量、并发较小时,用什么语言、技术栈给用户的使用感觉差异不大。掌握一门语言、技术后,也能更快地学习其它语言或技术栈。单纯讨论哪个好坏意义也不大,一般都有前提条件,如性能、易用性。Ruby/Rails 在面对一般规模 Web 系统时(如并发 3000 以下,单表数据量千万级以下),还是挺好用的。

国内还有一些 Ruby 相关的公司,如墨刀、薄荷、Tower 等。

关于 Ruby/Rails 是否好用,也可以看看这几篇:

😃

wikimo 回复

哈哈,我好像之前有看过。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号