天天看點

一萬小時真的能成為專家嗎?

一萬小時真的能成為專家嗎?

  今天不聊具體的技術問題,聊一聊個人成長的問題,大家可能對一萬小時定律耳熟能詳了, 作家格拉德威爾在《異類》一書中說道:“人們眼中的天才之是以卓越非凡,并非天資超人一等,而是付出了持續不斷的努力。一萬小時的錘煉是任何人從平凡變成世界級大師的必要條件。” 這就是“一萬小時定律”。 作者的原意是要在某個領域成為專家,至少要投入一萬小時的時間。

  那麼隻要在某個領域投入超過一萬小時,就能成為該領域的專家?我們來做個簡單的計算,我們就按每周工作5天 每天8小時算,一萬小時也就是5年時間,然而絕大多數工作5年的人在其所在領域都算不上是專家。拿國内的程式猿來說,可能工作3年就能攢到一萬小時,但3年工作經驗的程式猿能算是專家的真是鳳毛麟角,可以說絕大多數程式猿都無法用一萬小時成為專家。

  一萬小時定律隻是誇誇其談? 其實不然,隻是大多數人誤解了一萬小時定律。 格拉德威爾在《異類》中也提到了“一萬小時定律”隻是成為專家的必要條件。 我們高中數學就學過充分條件和必要條件的差別了。 這裡說直白點就是成為專家一定需要一萬小時的訓練,而訓練一萬小時卻不一定成為專家。 大多數人工作十年并沒有積攢十年的工作經驗,而是将一年的工作經驗用了十年。

  那麼如何才能讓一萬小時定律變的有效呢?直白點就是如何能提升自己一萬小時就能成為專家的機率呢? 前一段時間我看到有個視訊總結了一萬小時定律的其他4個必要條件,感覺說的很對,這裡總結整理後分享給大家,希望對大家有所幫助。

及時的回報

一萬小時真的能成為專家嗎?

  首先就是回報,為什麼說回報很重要?做完一件事之後隻有得到回報你才能判斷出自己做的對不對,回報可以是做事的結果或者别人的意見。比如其實程式設計就是一件很容易獲得回報的事情,你寫完代碼點下編譯運作,編譯器會很快告訴你代碼有沒有問題、執行結果也會告訴你你代碼邏輯對不對、新功能上線後使用者也會通過行為告訴你這個功能好不好用…… 是以程式猿的世界其實不缺少回報,而是缺少對回報的關注。

  再比如,大學時期參與過競賽的同學可能深有體會,為準備參加競賽而刷題是學習算法最好的途經之一,我們使用的OJ(Online Judge)平台有很多算法題,你寫完代碼可以迅速驗證自己代碼的準确性,相當于迅速得到了回報。 以我大學ACM隊長和近些年面試校招生的經驗來看,參與過算法競賽的同學在算法方面明顯強于沒有相關經驗的同學,這也是各大廠在校招時不約而同強調了競賽的原因。

  如果你關注自身成長,你就必須尋找或者創造出一個能快速獲得回報的環境。如果你是學生,我建議你刷Leetcode來提升自己的算法能力,如果你身處職場 建議你多和自己的使用者溝通下,聽聽他們對你做的功能的回報。

有效的環境

  第二點其實算是對第一點的補充吧!這裡先強調下,回報是很重要的,但并不一定所有的回報都是對的,都是有用的。在有些特殊的環境下,有些回報可能是錯誤的回報或者随機的回報。這時候你雖然快速得到了回報,但這些回報和你的行為之間沒有任何規律可言,你也就無法從這些回報中吸取經驗和教訓。 這裡有個很典型的例子,就是股票市場。假如你現在學習炒股,你買入或者賣出股票後很快就能知道你是賺是虧,然而你很難從中找到任何規律,這種情況下是以不管你買賣過多少次股票,你也很難提升你炒股的水準。

  作為程式猿你大可不必太擔心這些,因為在計算機這個領域絕大多數都是确定性的,極俱規律性。隻有那些純做業務的同學需要關注下,本身業務問題就不是純的計算機問題,在業務發展的過程中還是可能會出現回報失常的情況,這種情況下還是建議多主動和你的使用者多溝通,從真實的使用者口中擷取到真正的回報,而不是那些随機的噪聲。

有效的指導

一萬小時真的能成為專家嗎?

  如果回報幫助你發現自己和目标之間的差距,那麼成長就是抹平你與目标之間的差距。但是很多時候,你可能無法隻憑借自己的力量抹平差距,甚至有時候還找不到前進的方向,這時候如果有相應指導的話,你就能更容易突破自己。有了有效的指導,你可以少踩一些坑、少走很多的彎路,事半功倍。 當然這裡的指導是廣義的,不局限老師的指導,也可以是優秀課程的指導。

  初入職場,如果你能遇到一個靠譜的團隊和靠譜的導師,以上三條都将全部滿足,你出任CTO迎娶白富美走上人生巅峰也将指日可待[狗頭]。 有句老話 名師出高徒 相信你肯定聽過,有優秀的人指導你肯定也能變的更優秀。

  如果你想系統性學習某個知識,最好是能找個在該領域比較資深的人來指導你(不過這個要麼就成本高要麼幹脆找不到),其次就是找一份相關的比較優秀的教程,網際網路如此普及的今天,早就不缺乏各類知識的相關教程了,但是還是需要做好甄别和篩選的。

刻意練習

一萬小時真的能成為專家嗎?