精品主題,實戰(zhàn)科普,最新行業(yè)熱點話題,隨時掌握云上咨訊。
“你是怎么學(xué)會所有這些框架和語言的?”,最近在黑客馬拉松上一個朋友問我。
“其實,很簡單,只要用你想學(xué)的東西去創(chuàng)建一個合適又值得的項目就行了,”我回答說。
“真的嗎?直接上手搞項目嗎?“,他好奇地問。
“是啊,還有要向合適的人征求意見。聰明的人通常都很樂于教導(dǎo)和幫助別人?!拔腋嬖V我的朋友,同時心中想,我為什么不關(guān)于這方面的內(nèi)容寫一篇博客文章呢。——于是有了本文。
對想要在科技領(lǐng)域工作的人非常重要的一件事情就是,你得學(xué)會如何學(xué)習(xí)。我和很多非常聰明的人談過關(guān)于學(xué)習(xí)和掌握技能方面的內(nèi)容。我還花費大量的時間給我的朋友和同事們講述一些關(guān)于如何學(xué)習(xí)的指導(dǎo)/建議。在這篇文章中我將為大家詳細(xì)分析一些要點。
假設(shè)你想要學(xué)習(xí)這個語言/框架/ API /工具/事情,你其實真的并不需要知道從哪里開始。具體怎么做,下面我將一一說明,希望能對你有用。
1. 閱讀文檔
使用任何語言或框架的關(guān)鍵是熟悉它的文檔。轉(zhuǎn)至你想要學(xué)習(xí)的內(nèi)容的主頁,從頭到尾看一遍上面的起步/快速入門教程。如果沒有(這是罕見的),或它們的文檔很難(這倒并不罕見),那就找找相關(guān)專家的建議。通常第三方教程都會告訴你你所需要知道的。
不要害怕學(xué)習(xí)新的東西。你會驚奇地發(fā)現(xiàn)原來 get 新技能是這么容易的一件事。
2. 找一個值得構(gòu)建的項目
你挑選的項目必須是你熱愛的,能夠真正投入到學(xué)習(xí)中去的。有什么想法,就去實現(xiàn)它!如果沒想法,那么下面是一些幫助你找到項目的小提示。
說實話,當(dāng)我想學(xué)習(xí)新內(nèi)容的時候,我常常也找不到合適的項目。我的做法是咨詢其他人的看法,直到遇到一個讓我興奮的好點子。我的朋友 Yamil Asusta 對于這方面就很有見地,最近他就這個主題表述了他的一些看法。在這里我想推薦兩個他提出的好方法:
如果你想學(xué)習(xí)一門編程語言,學(xué)習(xí) HTTP 請求在這種語言下是如何工作的。那么,你和其他工具交互的方式最好主要是通過 HTTP,這本身就會讓你明白語言的工作原理。找一個可以使用不同工具建立的小項目。復(fù)雜度適中的小型 web app,同時允許你使用其他框架,這樣也可以學(xué)習(xí)其他框架的工作原理。使用不同工具構(gòu)建同一個東西,能讓你清清楚楚地明白工具之間的差異。最后,如果你找不到項目,那么不妨想想有什么是只能用你正在學(xué)習(xí)的這種框架或工具構(gòu)建的東西,然后開工。
3. 開始啟動項目
萬事開頭難。不要想著得過且過。從現(xiàn)在就開始,將時間盡可能多地投入到學(xué)習(xí)中來。
發(fā)現(xiàn)教程,可以開始啟動項目,想到要構(gòu)建什么項目,也可以開始啟動項目。充實項目需要搜索編程軟件,詢問朋友,閱讀更多的文檔。不要隨便亂寫代碼,不要只在從以往的經(jīng)驗角度來看問題。閱讀文檔,將時間用于理清常見的設(shè)計和架構(gòu)模式。
4. 詢問知道的人
不要害怕問問題。如果你不虛心請教,那么你將用上更長的時間才能得到問題的答案。即使是最好的專家,在某些時候也是一個初學(xué)者,并且大多數(shù)人都愿意指導(dǎo)和幫助他人,回饋社會。
提問的關(guān)鍵是你不能浪費任何人的時間。所以要提正確的問題。沒有人愿意回答只需要谷歌搜索就可以解決的問題。最近我在和 Hector Ramos(一個花了大量時間幫助大家解決 Parse 問題的人)交流時,他提到了當(dāng)別人詢問他時,他喜歡的兩類比較簡單明了的問題。
我想用 Parse 來實現(xiàn) this,以及 this 部分的文檔,但是它不工作(肯定是我哪里犯了錯誤)。你能幫我看看嗎?這是我的代碼片段。我可以用 Parse 執(zhí)行x嗎?
問題要問得簡單明了,要便于對方答案。向正確的人問問題。通常而言,可用于咨詢的人可被分為這兩類:
對某個專業(yè)領(lǐng)域知道得很多。
學(xué)識淵博,對很多領(lǐng)域都有一定的了解。
所以,要學(xué)會區(qū)分他們,問對人。
5. 部署項目
讓你的項目到達(dá)一種你認(rèn)為“完成”的狀態(tài)。這意味著你并不需要做到臻于完美、100% 完成,也不需要搗鼓得非常漂亮。只要你覺得你的項目 OK,并愿意展示給其他人以顯示你是多么棒就行。
當(dāng)你完成項目之后,一定要把它放到 Github 上,或者部署到能讓其他人看到的地方。這么做能允許別人批評和評論你的工作,敦促你為自己的工作負(fù)責(zé),制作出更好的作品來。此外,這還能讓你將來的雇主看到你豐富的經(jīng)驗。
即使你認(rèn)為你的代碼很爛,但你愿意展示的這個事實本身就說明了你是一個開發(fā)人員。你已經(jīng)領(lǐng)先一步于那些甚至沒有代碼產(chǎn)出的家伙。
如果你要問別人問題,首先要讓他們知道你學(xué)習(xí)到了哪里,向他們展示你的工作,讓他們知道,他們?yōu)槟憬獯饐栴}的時間不會白費。最后,完成第一個項目之后,那就去做下一個。學(xué)習(xí)寫代碼的唯一方法就是寫代碼。同樣的,學(xué)習(xí)新框架的唯一方法就是在這框架下寫代碼。所以,加油吧。
上面這些是我學(xué)習(xí)新工具的步驟。如果你也想要充分利用時間學(xué)習(xí)新的東西,那么我相信這將會是一個良好的開端。
最后,各位若有不同看法,歡迎留言。