almost 9 years ago

時常有想要轉職 Rails 開發的(新手)朋友,寫信問我同樣一個問題:學 Rails 需不需要先學 Ruby?

答案:學 Rails 「不需要」先學 Ruby

我在這裡大膽給出一個會被公幹的答案,但我認為這是實話。學 Rails 「不需要」先學 Ruby

然後我再大膽跟讀者講一件我以前我幾乎沒跟人說過的秘密:「其實,我學 Rails 『沒有先學』Ruby。」

是真的。

然後,我再告訴你一個其他秘密。很多其他 Rails Developer 他們「也沒有先學」Ruby。只是他們不敢跟你講而已。

為什麼很多資深開發者都叫新手先去學 Ruby? (補償心理和政治正確)

這是因為「補償」心理。資深開發者成長的過程中,因為「當初」沒有「先學 Ruby」,所以在學完 Rails 基礎上手的課程後,邁向中間開發者的過程中,因為「不熟 Ruby」又多走了一些路。

因為這些「繞路」,所以他們基於「補償作用」,所以會跟你說「打好基礎」很重要。

就像很多開發者也會跟你說「新手學 TDD 很重要」,因為在他們學會寫 Test 之前,被開發當中 Bug 反覆修改整了很多次。但是,他們變成資深開發者,是先學 TDD 的嗎?

別鬧了,如果他們第一份工作,不是去有厲害開發者的公司上班,誰會讓新手一開始就學 TDD 啊?

這一切都是資深開發者的「當初後悔小時候不學好」。

但是有人會公開出來反駁嗎?沒有。因為大家都不想要當「把小孩教壞」的那個人。而且大聲講這件事即便「內心覺得可能是正確的」,還是可能會「被沒教過太多人,狀況外的中手」認為是低能。

基礎真的很重要嗎?(成就感更重要)

但「不需先學 Ruby」這就表示基礎不重要嗎?我可以跟你說「打基礎」「很重要」,但沒有「成就感」重要。

我會學起來 Rails 是因為當初寫 PHP 時,寫一個登入系統的表單,花了快兩週,挫折感超深。跑來學 Rails,一兩天我就弄出了一個登入系統,超有成就感。所以才直接投資在 Rails 上的。

在 Rails 上,我享受「哇,我瞬間變得很神」的成就感。這是我一直能夠繼續學下去的動力。這也是很多資深開發者當初學會 Rails 之後,繼續一直投注精力在 Rails 學習之上的原因。(很少看到有人學會 Rails 後,再逃回去寫其他框架的,每個人都跟你說回不去了)

這現在也讓我認知為什麼大家一直說 PHP 超多缺點,但還是一堆新手入門選他。因為做「Hello World」超簡單啊!(我會做有程式互動的網頁了耶)

如果一開始就要求你背一些不知所云的東西,而不是直接做出一個小成果來,誰都會逃跑吧?其實我收到的這些信,就是那些覺得「學 Ruby」「好無聊」的人寫來的。(因為他們開頭都會說,只學 Ruby 好單調,我不知道學完怎樣做網站,可不可以跳過不學啊....?)

大家需要的只是一點勇氣,可以「勇敢不先學 Ruby」的勇氣。所以我決定寫這篇文章,給大家勇氣。被公幹就算我頭上吧 XD

所以,新手該怎麼做?

首先,我會建議你先去挑一個挫折感比較低的入門教材,比如說,我覺得做的最好的就是這份:

這份指南,挫折度很低。它裡面幫忙擺平了很多新手挫折感超深的環節。

如果你喜歡上寫 Rails,我才建議你去練其他的教材。如:

同時把該學的 Ruby 基礎補上。

如果練完還是覺得很飢渴,這時候我才建議你去找一份Rails工作,天天寫,上班寫,以戰養戰。

← [更新] Rails 找工作指南 (限時特價中) 如何用 Growth Hacking 技巧改善註冊以及服務流程? →
 
comments powered by Disqus