美文网首页
第一份 Ruby 工作,求职心得分享

第一份 Ruby 工作,求职心得分享

作者: 星云冰夜 | 来源:发表于2018-02-03 22:35 被阅读545次

Ruby 工程师 入职邀请函

WechatIMG32.jpeg

本次分享的目的

我是全栈营线上班二期学员——赵龙,最近找到第一份 “Ruby 工程师” 的工作。本人求职期间踩过不少的坑,希望全方面的分享我的经验,能帮助到全栈营希望从事 “ Ruby 程序员” 而不得要领的同学。

在北京求职期间,我不止跟一位全栈营的同学面对面交流,线上交流更多了。大家普遍反应第一份 “ Ruby 程序员” 工作很难找到,有人都打算放弃 Ruby 去学习 Python 了。甚至有人放弃转行 “ Ruby 程序员” 的想法了。

第一份 “ Ruby 程序员” 的工作没那么难,全栈营的学员普遍找不到工作的原因其实简单的不得了——思维死角,简单来说大家的思维进入了死胡同而不知,一直在原地打转。也许你以为自己很努力,那只是错觉。

解决问题的钥匙在其他地方

北京求职第一个月

全栈营线上班第二期于2017年6月基本结束,原计划是7月份来北京求职,中途出现一些意外,推迟到10月20日左右才到北京求职。事后反思,我到北京求职时间太晚了,越早来北京求职越好。

我到北京的第一天,就去全栈营线上班一期学长的初创公司面试,体验了第一次的 Ruby 面试。这次面试主要是让我下定决心尽快到北京,没有拿到 Ruby 面试通知,来北京也没有底气。当天上午,从河北到北京的高铁,我到了北京西站,直奔学长在中关村的创业公司办公地点面试,与学长进行了简短的面试。完成面试后,我直奔提前预定的短租房(北京东六环边的土桥地铁站旁边小区)。我无意中赶上了晚高峰。

第一次真正体验到了北京地铁的威力——太挤了!!!

三天后,我去北五环附近进行第二次 Ruby 面试。这次的面试官是近二十年工作经验的资深程序员,c、c++、java、golong、ruby、python等编程语言都接触过。面试的第一步就是 5 道笔试题,面试官尽力还挑选了最简单的题目给我,将最难的最后一题去掉了。但是,我一道题目都不会,尝试写出的3道题的答案还是错误。当面试官知道我是全栈营的学员后,露出的表情让我难忘。他说我的基础太差,这边没办法让我上班。既然收到这样的回复,我也只能默默收拾东西打道回府。

回到临时住所,我仔细的反思了这次面试暴露出来的问题——编程基础极差。为了解决这个问题,在一周内,我将 《Ruby基础教程》 这本书完整的看了一遍,在大脑中形成一个基本的 Ruby 知识地图。有两次魔改大赛的积累,书中 60% 的内容能理解,剩下不懂的用 google 或百度解决。期间,我继续在 BOSS直聘、拉钩、Ruby China 招聘板块等投递简历。

第二次面试,我尝试用魔改大赛的项目为自己加分。但是,在面试官的几个 Rails 项目基础问题的发问下,我发现自己对rails项目理解极其薄弱,很多基础的编程逻辑问题答不上来。为此,我用4天多时间,将魔改大赛的作品尝试解构。希望通过解构魔改大赛的项目,真正得到技术面试官的基本认可。在后面的面试中,证明我失败了。

从10月底到11月,我总共面试了7家公司。一开始,我以为通过总结面试过程中发现的问题,进行针对性的学习与补救能找到第一份工作。但是,我越求职越学习,我的积极性越受打击。每一次面试,总能发现不足之处,面试官的问题总是回答不好,而且都是 Ruby on Rails 的基础知识。例如:

如何理解网站运行的基本概念——RMVC;

Symbol是什么?

get与post的区别?

你在项目中使用的搜索gem——ransack,如何使用,怎么理解?

......

我发现自己进入了死胡同,原地打转。

珍贵的 Ruby 实习机会

解决问题的钥匙在别处。

从10月底到11月,一个多月的时间里。我不仅仅是 Ruby 求职,更是实地调查了北京的程序员市场,明确得到几个关键信息:

  • 北京非常缺 Ruby 工程师。
  • Ruby工程师是相当高工资——2万月薪是第一个薪水天花板(纯粹的提高Ruby 编程熟练度即可)
  • 一位合格 Ruby 工程师的开发效率至少是5个合格 Java 工程师,编程语言与框架共同决定的。
  • Java 工程师已经市场饱和,月薪1万5就到第一个薪水天花板。
  • 合格的 Ruby 工程师都是小全栈,数据库、后台、前端都会。
  • 初级 Ruby 工程师技术能力相当于中级 Java 工程师。

这几个结论是解决全栈营学员顺利找到第一份 “Ruby 程序员” 工作的关键。

从这几个结论看全栈营的教学,我发现全栈营的教学是严重不完整,或者说缺失了关键的部分——大量编程基础知识的教程,尤其是各个编程语言中通用基础知识。目前,全栈营教程的版本很适合让小白快速入门编程,获得编程成就感激发兴趣,却无法让全栈营的学员再进一步。北京市场上对 “初级 Ruby 程序员” 的要求就接近 Java 中级程序员的标准,全栈营的学员离这个标准就差临门一脚就能实现。

从这个角度看,全栈营的学员最要紧的是找到 “Ruby 实习机会” 重新打磨编程技能,让自己尽快蜕变。一旦完成蜕变,一切问题就自然解决。

当我意识到这一点,立即联系所有认识的 Ruby前辈(Ruby面试时,留下认为靠谱的 Ruby 前辈联系方式),甚至在 BOSS 直聘、拉钩上也进行联系,求助一份 Ruby实习工作机会,没有工资也没关系,如果有哪位 Ruby 前辈愿意带我,交学费也 ok。我的一番努力得到了回报,瓦力工厂的 “Ruby 前辈.裴智慧” 答应给我这个机会。为此,我付出 2000 元一个月的工位费(每一个公司的工位都是有成本),计划实习 2 个月,实际实习 1 个月,因为,租房地点与实习公司距离太远(单程近2小时,往返近4小时),所以,我在实习公司附近短租一个月(额外增加近4000元开销),总实习开销 6000 元左右。

本人决定必须转行。

脱胎换骨的 Ruby 实习

实习开始前,“ Ruby 前辈.智慧兄” 就反复提醒我:从头开始学习Ruby,只跟着教程敲代码无意义,明白背后的含义才有用,不要心急,每一天学一点并坚持下来,一个月就能看到成果。前几天,我能在一周内顺利找到第一份 “Ruby 工程师” 工作,智慧兄至少一半以上的功劳。

Ruby 实习最大的难点:找到一位有耐心教你的 Ruby 前辈,很多的 Ruby前辈根本不想带新人,因为需要教大量的编程基础知识,这样教学非常的累,投入与产出严重不平衡。如果遇到一位愿意教你的 Ruby 前辈,一定要珍惜! 我很幸运的遇到了这样一位的 “Ruby 前辈”——智慧兄。

第一天实习

学习资料、自制教程与技术记录:

Rails 入门

Ruby开发文档

Rails Guides 中的 CRUD

Rails Guides 通知发布系统 CRUD 教程(基础版)

debug 神器 gem 'pry-rails'

轻量级会员系统 gem sorcery 的使用

网站运行逻辑

“ Ruby 前辈.智慧兄”,让我根据 Rails Guides 文档(Rails 官方指南,最好的 Rails 教程,没有之一),在 rails c 练习 CRUD 。在一周内,能彻底理解了 CRUD ,并且不看任何教程敲出 CRUD 代码,就算是完成了 “Rails 基本功” 。这一点非常重要,实际工作中就是如此。

在这个过程中,我也慢慢的补上当初在全栈营的基础知识。这一点需要感谢:“ Ruby 前辈.智慧兄”耐心的反复教导各种基础知识。

Ruby 实习的心得

编程初学者.有效学习方法论

初学者学习 Ruby on Rails,一定不要使用各种脚手架自动生成文件与代码简化操作,这些是编程熟手的好工具,新手的万丈深坑!!!

全栈营各位学员难以迁移魔改大赛的项目能力,跟这个直接相关!!!

Ruby on Rails 初学者频繁使用脚手架,严重阻碍理解 Ruby on Rails 内部运行机制,Ruby 技术面试官许多的面试问题直接与这些相关。如果无法理解基本的 Ruby on Rails 内部运行机制,根本无法通过 Ruby 技术面试官考核。

当初,我自学 Ruby 越多,面试官回答不上了的问题更多的根本原因就在这里。

Ruby on Rails 中的脚手架:

rails g model group title:string description:text
rails g controller groups

手动生成文件,更方便初学者理解 Ruby on Rails 内部运行机制。同时,避免生成大量不必要的文件,降低项目复杂度。极力推荐新手初期学习 Ruby on Rails 的半年内都手动生成文件,加速理解底层原理,提高编程技术的成长速度。当你了解 Ruby on Rails 的内部运行机制,再适当使用脚手架也不迟——磨刀不误砍柴工。

手动生成 Rails 项目文件:

rails g migration create_group
touch app/controller/groups_controller.rb

面试经验总结

我面试过小公司——全栈营的线上班一期学长的创业公司;也面试过发展中公司——云拓锐联.线上教育平台项目;也面试过大公司——京东的云服务工程师。

京东的技术面试官,不仅要良好的编程思路,各种具体详细编程细节也重要(具体到某一功能的终端指令,配置文件细节等等)。北京的中小型公司技术面试官,主要考核应聘者的编程基础与解决具体问题的编程思想(Symbol 是什么?用户权限如何设计?站内信群发的数据库设计等等)。相对而言,大公司比小公司多一个 “编程细节” 考察面。

Rails 地图(非常重要!非常重要!非常重要!)

Rails 项目的运行逻辑结构 R-M-C-V。

先确定路由 Routes,这样才能确定剩下三部分的文件命名;再确定模型 Model ,相关的数据表一并建立好,明确表间关系,网站与数据库相关操作在这里(如果不涉及数据库操作,可以省略,即 R-C-V );再确定对应的控制台 Controller,网站运行代码的控制中枢,主要处理views与model的具体操作与交流;最后是用户交互页面 Views,这部分直接涉及用户体验。

Routes > Model > Controller > Views (从底层到表面;从核心到交互界面)

现在,本人实作 Rails 项目的基本顺序就是 R-M-C-V (个人推荐这款 Rails 地图)。脑中拥有完整清晰的 Rails 地图后,做 Rails 项目就心中有数,出现报错能快速确定范围。Rails 地图的顺序,可根据个体习惯修改,重要的是拥有这样的 Rails 地图。另一种 Rails 地图 R > C > V > M (Model 建立的顺序不同)

所有的 Rails 项目都是相同的运行逻辑结构。

gem 是 Rails 中非常好用的功能模块包(负责功能的代码打包成 gem 工具)。但是,大家只是根据网上找到的教程模仿使用没有太大一样,重要的是理解其中的编程思维写成一篇博客记录下来,每天一篇博客,一年下来就提升非常多了

通用项目结构(关键基础知识)

任何程序项目从核心底层到用户操作界面,可分为3层:

数据库——后台——用户操作界面

在 Rails 项目中是以下结构:

数据库——后台(model与controler)——用户操作界面(views)

数据库是任何项目当中重中之重,好的数据库设计项目就成功了一半!

项目正式运行,其他部分的代码可以根据需求进行删减与彻底更换(如果项目发展过快,项目框架性能不足,可以保留数据库更换项目框架提升性能),唯独数据库不可以轻易变动。

Model 与 Controler 协作组成了项目后台。

Rails 项目的业务处理逻辑放在这里,Controller 是 Rails 项目的控制中心负责调用各种功能;Model 是 Rails 项目处理与数据库相关的操作,拥有大量的自定义方法提供给 Controller 调用;两者协作共同组成了项目后台。程序员常说的更换项目后台,指的就是 Model 与 Controler 。

Rails 惯例——重 Model 轻 Controller,通俗解释:Controller 内的代码保持简洁体现后台逻辑,调用在 Model 中大量自定义的方法。

View 是用户操作页面。这直接与用户体验相关。前后端分离的项目中,前端工程师专门做 View 层的代码,后端工程师处理数据库与项目后台,提供 API 给前段工程师调用。

网站、安卓程序、ios 程序本质没有区别,只是 View 层不同。

所谓的跨平台项目,就是同一个数据库与项目后台作为一个整体提供 API 给不同平台的 View 调用。通俗解释:多个前端框架 ( View ) 共用同一个项目后台( Model 与 Controller )与数据库( Mysql )。

Ruby 工程师优势

Ruby 工程师——开发效率极高,多约定少配置。

一位合格的 Ruby 工程师的开发效率至少相当于 5 个 Java 工程师。Ruby on Rails 框架已将常用功能内置为默认 API ,直接使用方法名即可调用。项目中反复使用的功能代码,Ruby 工程师可以做成模块在项目各处调用。Ruby 工程师通过这样的方式,极大的简化项目代码。类似 Java 工程师将大量的时间用在的了重复出现的配置文件上,一个都不能错。

Ruby on Rails 工程师都是小全栈。

所有合格的 Ruby on Rails 工程师都是小全栈,工作2~3年后,精通uby on Rails 框架、Mysql数据库、JS、Python(跟 Ruby 极其相似)是非常正常的。而且由于一开始的全栈定位,会在工作中自然形成良好的编程全局观——优秀 CTO 的关键。积累足够的工作经验后,Ruby 工程师得到合适的机会,就能胜任项目经理甚至 CTO 职位。

在北京,优秀的 Ruby 工程师往往精通多门编程语言与技术,再加上工作中形成的编程大局观,是人才市场上绝对的香饽饽,根本不用担心工作问题。

Ruby 工程师有钱途、有前途,只要能沉下心专研学习。

第一份 Ruby 工作

我在瓦力工厂实习一个月,开始面试第五天就拿到 offer(总共 3 次面试),这其中的关键:“ Ruby 前辈.智慧兄” 专门抽出一周时间,对 Ruby 面试正对性培训——面试有技巧的,对自己的项目全方位理解,就是最靠谱的 Ruby 面试技巧,再加一点运气。

个人博客项目.技术记录

我要再次感谢 “ Ruby 前辈.智慧兄” 对我的帮助,让我顺利在春节前拿到第一份 Ruby 工作,安心回家过年。其实,要不是临近春节,我会继续实习 2 个月。那时,我完全有信心拿到 10k+ 的 offer,而不是现在的 6k 。因为,我的时间成本太高了,比其他一切成本都高。详细原因在下面的文章有详细介绍:

改变命运的机会

想学习编程与转换想小伙伴看过来

为一位靠谱的 Ruby 前辈作个小广告,本人就是在这位前辈的指导下实习培训,成功转行找到第一份编程工作。想学习编程的小伙伴可以关注一下,不敢兴趣的伙伴可以忽略——保证100%就业的编程培训班,最高保证8k~10k 的工资

培训内容:html,js,jquery,sql语句,Ruby 基础,Ruby高级,Ruby on Rails实战编程,就业指导等,

培训目标:让小白快速入门,让初学者快速提高编程能力。

培训地点:北京

培训周期:3个月

教学方式:

全职班(学费15800),周一至周五学习,承诺8k~15k的工作。

保证百分百就业。

备注:

如果想知道一线城市程序员的就业前景,也可以咨询下面的Ruby前辈,他是极其稀少对新人友善且耐心 Ruby前辈(对了,他是java转ruby,同时也会python)。

联系方式:添加微信,请备注(赵龙推荐)。

WechatIMG61.png

最后,祝大家早日找到称心的工作。

(赵龙,2018年2月2日晚)

相关文章

  • 第一份 Ruby 工作,求职心得分享

    Ruby 工程师 入职邀请函 本次分享的目的 我是全栈营线上班二期学员——赵龙,最近找到第一份 “Ruby 工程师...

  • 穿越人海,只为抵达你

    前言:这是一篇关于求职心得的随笔。 这是一篇关于求职心得的随笔。不知道该起一个什么样的题目去分享自己的一些...

  • 阿里、腾讯、百度产品经理40+道面试题记录:我是怎样同时拿到BA

    导读:在求职或求实习的过程中,你一定希望看到前辈们的实际求职经历或者经验心得分享吧。不管是企业的招聘流程、求职环节...

  • iOS 工程自动化 - Ruby 入门到辅助脚本编写

    和一般的入门教程不太一样,本篇主要分享一些入门 Ruby 以及脚本编写过程中的一些心得和体会,不包含 Ruby 的...

  • 求职记 | 生活赋予我们的不管好坏照单全收

    今天和大家分享最近半年求职的心得体会,故事要从2014年开始。 1. 2014年是我工作的第二年,那时已有跳槽的打...

  • 行家求职心得笔记分享

    一、 求职要素是哪些? 知识、技能、经历 确立求职目标 二、知识和技能的定义 所谓的知识就是可以通过语言文字、语音...

  • 求职心得

    这个星期开始投简历找工作,想起当初毕业那会也是这个时候,杭州的夏天,太阳很毒辣,跑出去一会就被晒得火辣辣。本...

  • 求职心得

    罗师兄谈锦湖日丽招人计划以及个人职业生涯规划。 初见,感到很亲切。初闻道,感到很睿智。 能动用关系,为何不动用呢?...

  • 求职心得

    最近一直在找工作,到底是做回自己的本专业技术?还是顺着营业的工作从事销售工作?现有2个机会摆在眼前,一个链家的房产...

  • 避开前人这些坑,祝你能寻觅到一份好工作

    今天这一篇不是分享如何求职几率更高,而是想分享如何在求职寻找另一半对象——工作单位时绕开一些坑,更好地求职...

网友评论

      本文标题:第一份 Ruby 工作,求职心得分享

      本文链接:https://www.haomeiwen.com/subject/taspzxtx.html