新手问题 请教大家如何转型成为 Ruby 的开发人员?

angryfrog · 2013年06月06日 · 最后由 11270111 回复于 2016年11月29日 · 6340 次阅读

我做 php 6 年了,对于 linux+nginx+php+mysql+redis 都比较熟悉。

现在非常喜欢 ruby,有想转型 ruby 程序员的想法。请各位给些建议。

我自学了 ruby 的语法,通读了 matz 的那本书,也看了可以算是 ruby 设计模式的那本《ruby 元编程》。由于有其他语言的经验,对这本书中讲的东西大多都能理解。比如动态派发、method_missing 这些特性 php 也有。

但我现在不会 rails,只能用 ruby 写一些脚本,类似于 python 的定位。

请教大家几个问题:

一、如果我放弃从前的一切,直接去一个公司面试全职 ruby 程序员,以我现在的水平(没有使用 ruby 开发过实际项目,不会 rails,只熟悉 ruby 的语法,用 ruby 写过一些小脚本),有可能成功吗?

二、大家是如何成为 ruby 全职程序员的?也是从其它语言转过来的,还是 ruby 是你们的第一门实际投入工作的语言?

三、就北京的全职 ruby 程序员,都是面向 web 领域开发的吗?有没有其他领域?比如桌面应用程序之类的,这关系到是否一定要学 rails。

四、ruby+rails 的实际应用中,对于高并发的效果如何?只考虑跟 db 的简单交互,做一些增删改查,比如做个简单 blog,QBS 大概能到多少?

五、大家用 ror 做 web 架构,都是用它自带的 http server 吗?有使用 nginx 或 apache+ror 的吗?

六、ruby 程序员大概的薪水标准是多少?招 ruby 程序员的公司多不多?

大家如果了解以上问题,请不吝赐教!在下感激不尽。因为我还是很犹豫,如果我放弃之前的一切去完全转型,可能会导致薪水掉的很低。这一点让我无法从容面对。

斗胆说一下我是如何接触 ruby 的。

1、2 年前,大家都开始流行学 python 来写一些服务器端脚本,php 毕竟主要专注 web,而 shell 更多还是擅长编写系统相关的脚本。对于日志分析之类的脚本 shell 还是有一定瓶颈。

当时也是几个有些可笑的理由选择开始学习 ruby:

一是觉得这名字很好听。 二是因为别人都学 python,想和别人不一样,自己尝试了下发现 ruby 的语法非常之优雅浪漫,所以选择了 ruby。但慢慢的发现我当初可能把 ruby 的定位搞错了。ruby 的定位貌似主要还是面向 web。而不是像 python 一样更加擅长编写脚本。我冒昧的说下自己的看法,如果说错了各位大牛可尽情批评:ruby 的特性很多,语言灵活的让人惊讶,可以 open class 动态修改类,可以很方便的实现 api 反射,但我认为如果滥用这些特性它的效率绝对是很低的。和 python 以及 php 同样是用 c 语言实现的脚本语言,它实现这么多特性必然是要有巨大性能开销才能做到。

可能因为我有代码洁癖的缘故,对于学习新知识,我一般不会去学相同作用的。比如我已经熟练掌握了 php 对于 web 领域的开发,我就不太想再去学一门别的语言来做 web 开发。

我开始的设想是 web 领域还是由 php 去做,学习一门负责去处理服务器端的问题的语言,编写个小脚本之类的。但发现 ruby 的优势貌似不在这里,而是整个 ror。

不过现在我也有全面转型至 ror 的想法,现在唯一让我犹豫的问题就是我这个转型会给我带来多大的薪水落差。还有就是转型的成本,我需要学习到什么程度才可以去面试全职的 ruby 程序员?

我是.NET10 年,从去年因为学 ASP.NET MVC 开始搞 rails,无论多大学点新东西都没啥不好,我看楼主考量就是薪水落差,其实最佳做法是在你原来工作岗位,时间不太急得新项目中试用 rails 做点项目。

除了面试全职 ruby 程序员,你还可以逐渐把自己现在岗位变成全职 ruby 程序员啊。。

推荐你用 python , 服务器端完善的多

我自己这种两年前端的 想转 ruby 都犹豫得不行.. 薪水落差 一直都是最大的问题.. 目前我只是打算多自学点 rails 毕竟资料什么的都好找 但只要没有这方面的项目 都还不算真的转型了

我也比较好奇 成功转型的都是怎么转的 或者 都是一开始就做 ruby 这方面的?

楼主可知道 DHH 原来是就是做 PHP 的 那他为什么要多此一举搞个 Rails 呢。 我一直倾向于精力集中于某一点,而不是 今天 web 明天服务器 然后还有什么 ios android 我见过好多什么都会 但是很一般的程序员。

ruby 关注了 3 年多了,始终保持爱好者的心态。用 ruby 做些小工具。 工作中大部分时间还是用 java, javascript,现在在做 iOS 方面的应用。回想一下,技术基本都是跟着项目走的,项目需要什么学什么。 转行需要机遇,找个机会用 rails 做项目(不一定换工作,业余项目也行)。

哎呦,干嘛换工作呢,把你们公司的某些产品改用 Ruby 写不就好了,慢慢的过渡过去,重点是你得把东西做好,老板才不在乎你用什么语言

我写了 5 年 php+1 年 ruby。 有了多年 php 经验要转到 rails 其实不难,因为基本的 web 技术你已经知道。重点在于心态,你需要像 6 年前作为 php 新手一样去跟别人学习,去拿比你现在低很多的薪水。如果你做好这样的准备了,那么已经达成了目标的一半。 再找个项目练手半年,那基本上就达成目标了。

我觉得没必要完全转,公司里工作是一码事,自己玩儿是一码事。我就是这么干的。

我在公司做的是 Java 方面的,从前年开始接触 Ruby(看了《松本行弘的程序世界》后),去年开始接触 Rails。

我只能说,工作方面我还是以 Java EE 方向为主。如果是自己做一些小东西那就会选择 Rails。说白了,我学 Rails 的东西就是为了玩儿!

没转型。。一毕业就是这个。。

学点肯定是好的,但不一定马上换工作。 时机成熟了当然可以换,比如技术也会了点,换个专职 ruby 开发待遇也满意。

公司的 ruby 程序员跟运维跑了,只剩下我这搞前端的了,又招不到人,所以就自己来了

无论如何,新公司对你的期望是能够开始解决问题,想象一下,作为公司,肯用高薪养你等你学成之后再作贡献么?这个除非遇到特别欣赏你的老板,否则很难的。

建议你自己用 ror 做个项目,或者加入一个开源项目,做的过程中,会发现有很多细节待学习待掌握。等吃透一个项目之后,进入新公司,不会过多久就可以独当一面了。有这个准备,新公司会很欢迎的。

自已不断的做一些小网站,比如个人博客或者其他什么的,在做的过程中会产生各种疑问,然后逐步解决,这样一两个网站完整的做下来以后,我想你就应该对自己的技术水平有十分的把握,可以争取在本公司利用新技术争取项目或者选择跳槽了。

我觉得 huacnlee 说得不错,你先在本公司用 ruby 做一些项目会更好一些

干上个一年,就可以出来找工作了

#12 楼 @miclle 那么重口味啊~

#12 楼 @miclle 给女儿做的那个 Wall-E 真心不错啊。

好吧,大家看来都是现实主义。对 80% 人来说,ruby/ROR 只是工作之外,自我娱乐的东西。吃饭毕竟是最重要到。所以,这也是 ruby 一直小众到原因吧。

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