Land Dream Rails Jobs

閱讀過這本小書之後,決定濃縮並且彙整出些核心重點。

Rail高薪的工作很多,但符合標準的人卻極為稀少,其原因很明顯。就是因為其本身就是一種Full-Stack開發用的框架,從前端後端到資料庫通通都是需要有一定程度掌握的實力。

對初入門者,絕對會覺得學習曲線陡的誇張異常。

而選擇主動加入當地的社群聚會絕對會是個很棒的資源,但為何? 原因無他,因為真正好的Rails職缺都在社群聚會中私下被推薦走了。

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

Pre-skill for Rails Newbie

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

以下逐一斟酌補充說明。

Rails 開發生態圈更是重度倚賴 Git 作為開發中版本控制、與程式套件發行。不誇張地說,Git 現在幾乎已被列為 Modern Web Developer 的第一必備技能。

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

所以務必:

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

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

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

想成為合格的Rails Developer,可以參考這份xdite針對求職者獨立開發所訂出的標準:

Beginner 開發者

  • 建立 route / controller / action
  • 能夠從資料庫裡面查詢資料
  • 運用表單儲存輸入的資料
  • 學會使用 ActiveRecord 對兩個資料庫物件建立「關係」
  • 使用 ActiveRecord 驗證資料表裡面的資料欄位
  • 將資料顯示在 View 裡面
  • 部署程式到正式環境
  • 具備能夠將程式碼從 View 翻修整理到 Controller 甚至到 Model
  • 能夠不依靠內建產生器,獨立生成 Model / Controller 與 View
  • 使用 Partial、內建 Rails Helper 以及自制 Helper 整理在 View 裡面的重複程式碼
  • 會使用 Asset Pipleline
  • 實做使用者認證機制
  • 懂得使用 polymorphism 複用 Model
  • 實做 Counter Cache 功能以及其他進階的計數器
  • 實做檔案上傳功能
  • 在整個程式裡面加入分頁功能
  • 活用Rails社群生態圈的技能
  • 能夠讀懂英文技術文件

主考官多會希望求職者能夠額外提供,書本練習以外的程式碼,且最好符合以下條件:

  • 能夠提供「整份專案」的程式碼 (有能力設計一個網站,而不是只是設計一個功能)
  • 這份程式碼不能是「前公司專案」(因為與別人協作看不出程度)
  • 這份程式碼不能是「Rails Tutorial」或者是「Rails 101」主題式的程式碼(拷貝程式碼大家都會)
<!DOCTYPE html> <html> <head> <title>Hello World</title> <%= stylesheet_link_tag "application", :media => :all %> <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> </head> <body> <%= yield %> </body> </html>

最後有兩樣東西,建議面試者是一定要準備的:

  • 一個有許多作品的 Github 帳號,包含:
  • 非參考書的範例程式碼
  • 非公司協作的程式碼
  • 超過五個功能的完整網站
  • 如果只是小網頁,jQuery Plugin,JavaScript MVC 框架練習,小玩具都可以。 所以當你還在學習階段時的練習作品,做完別忘了隨手上傳至 Github。
  • 部落格 & 筆記
  • 部落格有時候其實是比程式碼更重要的一份素材。
  • 有時候你的實作經驗是無法開源的。之前任職的公司不允許帶出去)因此無法在面試時提供。 但當時開發的經驗卻是被允許可以被分享的。
  • 如果你當時願意花時間寫下來分享在網路上,也間接證明了你有這樣的能力。

如果你說你用過什麼小東西,面試時主考官通常不會想當作一回事。

“太多求職者只是會講講名詞而已。”

這兩件事絕對不是專家的特權,也比你履歷上寫什麼都還重要,主要還是養成隨時記錄的習慣。


Originally published at wccbat.ghost.io on April 13, 2016.

Show your support

Clapping shows how much you appreciated WeiChiaChang’s story.