最近在 PTT 看到一篇「轉職工程師經驗分享」,作者為了要練習 Objective-C, 做了一個 30DaysObjc 的開源專案,更是印證了不斷的練習,絕對是進步的第一法則。學習任何東西都一樣,就算你再有天份,也是需要不斷的練習才能持續進步,今年退休的 NBA 籃球巨星 Kobe Bryant,也是每天早上4:00就到運動場練球才能有今天的成就與榮耀,想成功沒有訣竅也沒有捷徑,一定要練習、練習、再練習。
5. 有目的性的學習
當有了一定基礎之後,接著要面對的問題就是程式語言那麼多,該怎麼選擇要學習哪種新技術?有很多人討論過選擇技術的廣度與深度,我認為雖然兩者都很重要,但除此之外,還是要回到學習最初的「動機」,從0開始要有強烈動機,學新技術也是一樣。
過去有個朋友看了星際效應的電影後,就開始想要寫一個跟黑洞有關的遊戲 app,讓一個原本只會 Android 的工程師因此踏入了 Unity 的世界。我個人也是一樣,兩年前開始學 iOS, 當時有個非常好用的後端服務叫 Parse,今年一月 Parse 宣佈一年後要停止服務,我於是開始研究如何做轉移,一看才發現沒有資料庫以及網路後端的背景知識,根本無從下手,因此又去學了 Ruby on Rails,現在 App 的前後端都有辦法自己維護。在 Parse 還沒宣佈停止服務前,也曾經想過要學後端的東西,只是動機不明確,就會縱容自己的懶惰,一直學不起來。
現在的技術不斷更新多到你學不完,如何有效率運用有限的時間去學習以及清楚自己學習的理由非常重要,特地去學一目前很紅但是暫時用不到的東西效率難免不好,一來技術更新很快,二來學了沒拿來用,很快就忘了,有目的性地學習,才能讓自己的技能樹長的穩固又茁壯。
怎樣的人會學不起來?
●3分鐘熱度學不會
很多人可能覺得這是廢話,不過根據筆者的觀察這樣的人並不少,明明就很有天份,一遇到挫折就退縮,不管學什麼東西都是學不起來的。
●沒天份學不會
聽起來有點殘酷,事實卻是如此,這跟運動細胞類似,有的人天生運動細胞好,學什麼運動都很快,同樣也有人天生運動細胞不好,100公尺就是要跑個20秒,這樣的人勉強他去一定要把某個運動學得多好,其實也是強人所難。寫程式也是一樣,需要一定的邏輯能力,有的人邏輯好,學得快,有的人轉不過來,硬是勉強也是很辛苦的。
每個人都有自己擅長與不擅長的事,不會寫程式並不會怎樣,知道自己的特質就好了,當然,也有不是很有天份,但以加倍努力彌補的人,這些人多半都還是會有一定成就,關鍵是在於「持之以恆的努力」。依筆者的觀察,更多人是不知道自己沒天份,或是高估了自己的天份,於是對於初期的挫折灰心喪志或是怨天尤人。