Land Dream Rails Job

剖析面試標準

在這章,我們會先談一般會開出 Rails Developer 職缺的公司面試錄取標準。再來談談具體要怎麼做才能達到這個標準。

徵才廣告主要內容不脫這幾項:


  • Ruby on Rails 或 MVC 架構開發經驗
  • Web Application 開發經驗,對於 JavaScript / jQuery / CSS 不陌生
  • 使用過 MySQL 或類似 RDBMS
  • 能流暢閱讀英文技術文件
  • 會獨立解決問題、Trouble Shooting
  • 主動接觸技術新知
  • 具有團隊開發精神

以下條件非必備,但為加分:

  • 熟悉 Git,有 Github 帳號
  • 熟悉 HTML 標準
  • 熟悉 CSS 、 Sass 、 Compass 、 Bootstrap
  • 熟悉 JavaScript / jQuery 的使用
  • 熟悉 Backend / Frontend Performance Tuning

不過即使這樣寫。想要應徵的面試者,可能還是會覺得很模糊。不知從何準備起。

這是因為其實每一家公司的狀況不一,所以多半的公司在職缺上也只能將技能列表條列式列出來。

真實的招募狀況分幾種:

  • 只需要可以把工作完成的人 (也就是有獨立開發能力的 Rails 工程師)
  • 需要無 Rails 開發經驗但有網站開發經驗的工程師
  • 完全無任何網站開發經驗,但有其他背景可能學習潛力高的工程師。

狀況一:錄取無 Rails 開發經驗的工程師

一般的狀況來說,如果你想要進入的公司裡面,已經有資深工程師的話。

那麼這間公司願意收「無 Rails 經驗」的工程師狀況是比較大的。

不過值得注意的是,這些公司其實會收的是「無 Rails 開發經驗」,而不是「無網站開發經驗」。

Pre-skill for Qualified candidate (Non Rails Developer)

如果你現在還沒有 Rails 經驗,而具備以下技能的話,面試官是會比較喜歡的。(因為進行培訓比較容易上手)

  1. 不排斥閱讀英文技術文件
  2. 會 Git
  3. 會 Command Line
  4. 懂得基本 HTML 標籤怎麼使用
  5. 懂得怎麼使用 CSS,且能解決 基本 CSS 的問題
  6. 懂得寫簡單的 JavaScript 和使用 jQuery 實踐一些簡單的特效
  7. 使用過其他 Backend 語言開發過網站

1. 不排斥閱讀英文技術文件

Ruby on Rails 大部份的學習資源都是以英文撰寫的。要能夠深入進階 Ruby on Rails,必須要有能夠持續進修的能力。

所以如果對英文教材畏懼的候選人,通常面試官比較不會列入考慮。

2. 會 Git

Git 是一種版本控制系統。也是世界上目前開放原始碼界最流行的版本控制系統。

Ruby on Rails 開發生態圈更是重度倚賴 Git 作為開發中版本控制、與程式套件發行。

不誇張地說,Git 現在幾乎已被列為 Modern Web Developer 的第一必備技能。

Rails 面試官履歷收到履歷多半最先看的重點,也是這個應徵者的 Github 帳號「關注」和「實做」了什麼「項目」。

所以務必

  • 註冊一個 Github 帳號
  • TryGit 學習 Git 基本指令
  • 把自己平時練習的小作品,上傳到自己的 Github 帳號。

3. CommandLine

開發 Ruby on Rails 的過程中,Command Line 也是必備的基本技能。

有些開發者是從 Windows 跳槽過來 Linux 或 Mac。對指令列並沒有那麼熟悉。

可以參考 Pluralsight 的 Meet Command Line 來惡補教學。

4. HTML 標籤使用 與 CSS 使用

網站開發其實不是只有撰寫後端程式。其實開發網站功能的時候,絕大多數的時間都在跟 HTML 打交道。

如果你對 HTML / CSS 只是粗淺會使用,而不是相當熟悉。

TreeHouse 的

都是不錯的準備教材。

5. 解決 CSS 常見問題

大部份的網頁開發者都會使用 CSS,但是卻不一定人人會解 CSS Bug (在瀏覽器顯示不一的問題、無法精確定位的問題)

CodeSchool 曾經出了一份教材: CSS Cross Country,可以帶領你對於這些常見的疑難雜症進行有效地認識以及學習到解決方法。

6. JavaScript 與 jQuery

一般網頁上的效果目前多半是以 JavaScript 呈現。而開發者又習慣以 jQuery 對 HTML 元素進行操作,達到使用者界面的需求。

如您想快速上手這個議題,可以由以下幾份教材進行:

加分條件

  1. 曾經使用過任何一套 MVC Framework 開發過網站
  2. 有基本 Ruby on Rails 開發常識
  3. 有過 Ruby on Rails 週邊生態圈工具如 SCSS / CoffeeScript 使用經驗

1. 曾經使用過任何一套 MVC Framework 開發過網站 (或會簡單的 Rails)

Ruby on Rails 本身是一套 MVC (Model View Controller) 框架。目前 MVC 開發觀念逐漸興起,但目前以比例來說,在「大多數網站」也還不是主流。

有過網站開發經驗,但非以 MVC 模式開發,在轉換學習會有一陣學習陣痛。因此面試官都會偏好面試者具備 MVC 開發經驗。

不過針對這一點,也不用特別跑去學其他 MVC Framework。直接學 Rails 就對了。

簡單的 Rails 開發可以透過 Michael Hartel 的 Rails Tutorial上手。

這本書中國大陸也進行了簡體版 的翻譯。

2. 有過 Ruby on Rails 週邊生態圈工具如 SCSS / CoffeeScript 使用經驗

Ruby on Rails 開發者在開發網站時並不實際撰寫 CSS 與 JavaScript,而是使用 SCSS 這套語言撰寫 CSS,用 CoffeeScript 撰寫 JavaScript。

SCSS 相對 CSS 來說是一套更合理的網頁語言。解決了不少 CSS 先天上難以維護的幾個議題。

想要深入這個語言可以觀看:

CoffeeScript 更是網頁者開發者的一大福音,先天設計的主旨就是要消除 JavaScript 不好的部分,進而讓開發者有能力寫出更大型更好維護的程式。

薪資水準

以上這一些主題都有個大致上的程度,能稱的上是 Junior Developer,薪資應該是大約 35-45K。

因為 Junior Developer 需要 Senior Developer 帶練,得到這樣工作機會的比率比較低。

市場上比較多的工作機會,要求中級以上程度的開發者。