公司錄取應徵者的條件一向是:具備「完成公司所要開發的產品」的能力的人。
最討厭來應徵的人是「什麼都不懂」的「學生」。
不過這也讓應徵者相當頭大,就是不知道怎樣累積 Rails 開發實務經驗,才想要投遞 Rails 的工作。
但是公司卻不想收這樣的求職者。
到底如何打破這樣的循環?
多數的求職者的想法多半傾向於再請資深開發者推薦優良的 OpenSource Project ,仿照專案架構進行學習。或者是推薦一本能夠示範複雜 Project 的書。
這對資深開發者也是個燙手山芋般難回答的問題。因為實情是,複雜一點的專案幾乎不可能用「書籍」寫作的方式進行教學。作為一本書,讀者期待的是不太會出錯的程式碼。但是專案稍微複雜,光把程式碼編排進去,加上解說,對作者來說是一個非常痛苦的過程。現場親身教學可能還效率高上許多。
至於「示範程式碼」,資深開發者也很難進行推薦。主要因素有幾個:運行多年的大型開源專案,因為參與人數眾多,又有歷史因素,程式碼往往不能拿來「教學用」(很髒)。而個人的小專案,通常又小到不足以示範。
在一般願意培訓開發者的公司裡面。針對新人的訓練,通常是開啟一個新專案,指定規格與 Scope,藉由實做與 Code Review 有效提升開發者的經驗與水平。
但是,這樣的機會少之又少。
與一些本身有在帶練新手的資深開發者交流過之後。我發現許多人在學完 Rails 之後,還是找不到工作或不知道怎樣邁出下一步,關鍵點在於雖然這些學員熟悉了「如何使用 Rails 基本工具」,但是不知道怎樣將腦袋裡的點子,寫下來轉成程式碼。造成了往下一步往前進的嚴重障礙。
這些學員缺的是對於基本的網站開發流程與概念的熟悉度:
我曾經針對新手開發了一份在 Rails 101 後的開發題目。
這份題目是「Ruby on Rails 新手村網站」。(詳見本書附錄)
舉這份題目的例子當然不是要各位讀者拿去當「新的專案例子」(要的話也可以,這份題目是有一點挑戰性的)。
而是展示了如何粗略地把一個想法,化成實際可以執行的任務清單。
如果擁有自己的點子的話,不妨仿照類似的形式執行。(控制在 20 項功能以下)
認真的花 2-3 週的時間專心把這個專案寫完上線。
在當中如果遇到各樣的技術問題的話,可以拿到各地的 Rails Meetup 找資深開發者幫忙。
這樣的好處是:
(好的機會通常是在還沒貼出來在求職網站上就被私下介紹光了)