
本文對(duì)《軟技能:代碼之外的生存指南》書中的“十步學(xué)習(xí)法”展開討論,該書作者是John Z. Sonmez,一名程序員,書中有很多面試、專業(yè)等建議。有一些建議相見恨晚。某天在喵哥群里看到了本書的推薦,非常感謝推薦。
本文末尾附上了John Z. Sonme推薦的書單(自我提升、軟件開發(fā)、投資類),感興趣的可以看一下。
雖然本書說(shuō)的是“程序員必備的軟技能”,但我認(rèn)為這是所有職業(yè)都通用的軟技能。該書中總共分成七個(gè)部分,分別是:職業(yè)、自我營(yíng)銷、學(xué)習(xí)、生產(chǎn)力、理財(cái)、健身、精神。我做了下面的思維導(dǎo)圖,可以概括個(gè)大概,可以根據(jù)需要隨意讀取某個(gè)章節(jié)(下圖右下角被擋住的二字是:如何脫單):
本書總共71篇文章,可以把每一篇都看成一篇高質(zhì)量的博客,也就是說(shuō)如果你能夠?qū)懗?1篇高質(zhì)量的博客,你也就能夠出書了(手動(dòng)狗頭)。
這位作者老哥很會(huì)玩,他有自己的youtube頻道,網(wǎng)址youtube.com/jsonmez 我點(diǎn)進(jìn)他的油管主頁(yè)看了一下,好家伙,作者本人還是個(gè)猛男:
十步學(xué)習(xí)法
你是不是和我一樣,學(xué)習(xí)知識(shí)的時(shí)候就喜歡拿著一本書“從封面到封底”仔細(xì)閱讀,這樣可以學(xué)到東西,但是效率很低。因?yàn)槲覀兺粫?huì)用到書中的一部分內(nèi)容而已,沒(méi)用到的內(nèi)容會(huì)迅速忘記。這是關(guān)鍵,沒(méi)用到的內(nèi)容會(huì)迅速忘記……通過(guò)不同的方法,對(duì)于知識(shí)的掌握程度也不同,可以參考下面這張圖:
僅僅通過(guò)閱讀,學(xué)習(xí)信息的留存度只有10%。因?yàn)槲覀儾](méi)有掌握那些沒(méi)被用到的知識(shí)。學(xué)到了某個(gè)知識(shí),叫懂得;練習(xí)過(guò)學(xué)到了的知識(shí),這叫掌握。掌握了的,不容易忘。
懂得很多道理,但是依然過(guò)不好這一生?!?yàn)檫@些道理只是頭腦上的懂得,但并沒(méi)有身體力行的掌握……
學(xué)習(xí)二字,學(xué)——頭腦上的懂得,習(xí)——頭腦和身體上的練習(xí)。練習(xí)中的體驗(yàn),極大加深了該知識(shí)的記憶。我們都有背單詞的經(jīng)歷,但真正掌握這個(gè)單詞的時(shí)候,還是和這個(gè)單詞在某個(gè)地方不期而遇時(shí),比如某一天下午你在看國(guó)外新聞時(shí),看到了這個(gè)單詞,這個(gè)時(shí)候才發(fā)現(xiàn)這個(gè)單詞還有這個(gè)用法。我們學(xué)會(huì)了使用它,也就記得了它。
十步學(xué)習(xí)法如下:
不要被這么多步驟給嚇到了哈,總共分成兩個(gè)部分:
第一步到第六步:學(xué)習(xí)前的準(zhǔn)備部分,即為前期調(diào)研以及設(shè)定目標(biāo)。
第七步到第十步:學(xué)習(xí)過(guò)程部分,即這四步:學(xué)習(xí)-實(shí)踐-學(xué)習(xí)-分享教授(Learning, Doing, Learning, and Teaching)
第1步,了解全局
這些年有個(gè)很流行的認(rèn)知的四個(gè)階段:不知道自己不知道什么、知道自己不知道什么、知道自己知道什么、不知道自己知道什么。
“了解全局”就是從第一階段到達(dá)第二階段的過(guò)程。如果想要學(xué)習(xí)一門編程語(yǔ)言,那么首先得知道計(jì)算機(jī)的編程語(yǔ)言都可以做些什么,市面上有哪些編程語(yǔ)言,這些編程語(yǔ)言之間又有什么關(guān)系等等。關(guān)于這些我們可以在網(wǎng)上搜索一些文章,或者請(qǐng)教相關(guān)的人,了解個(gè)全局。
等到我們了解個(gè)差不多的時(shí)候,我們終于知道了這些東西大概是個(gè)什么,但是具體是啥我們是不知道的。這就進(jìn)入了“知道自己不知道什么”的狀態(tài)。
了解全局是必要的,如下面:
如果我們按照?qǐng)D的上半部分,在沒(méi)有了解全局,就開始精細(xì)地學(xué),這樣恐怕不會(huì)持久。
但是像下半部分那三張圖一樣,先了解一個(gè)模糊的大局,再逐漸精細(xì)地了解,這樣的效果會(huì)更好
第2步:確定范圍
我們大致了解全局之后,需要確定范圍。因?yàn)橛?jì)算機(jī)知識(shí)浩如煙海,我們無(wú)法掌握全部——窮盡一生也不可能。甚至就算單是學(xué)習(xí)一門編程語(yǔ)言,比如如果想要精通C++,那沒(méi)個(gè)好幾年是不可能的。但是我現(xiàn)在的學(xué)習(xí)時(shí)間只有一兩周,那只能把范圍縮小,這樣的范圍可以是,使用學(xué)習(xí)某個(gè)編程語(yǔ)言中的:
圖形界面相關(guān)的編程。 文件操作相關(guān)的編程。 網(wǎng)絡(luò)通信相關(guān)的編程。
短時(shí)間內(nèi)我們可以聚焦在以上三個(gè)主題中的一個(gè)。一個(gè)主題就是一個(gè)聚焦范圍。
第3步:定義目標(biāo)
確定一個(gè)小范圍之后可以定一個(gè)小目標(biāo),比如下面的任意一個(gè)都是小目標(biāo):
寫出一個(gè)圖形界面 用程序操作文件 用程序進(jìn)行PC之間的通信。
第4步:尋找資源(學(xué)習(xí)材料)
學(xué)習(xí)一個(gè)知識(shí)點(diǎn)的時(shí)候,最好不要就只用一本書,可以參考不同各個(gè)書上的指定的章節(jié),因?yàn)楹芏鄷r(shí)候不同的書都在描述同一個(gè)東西,但是描述的角度不一樣。
當(dāng)我們從A角度看某個(gè)東西的時(shí)候,可能會(huì)消除在B角度看相同東西時(shí)產(chǎn)生的那個(gè)疑惑。盡可能尋找更多資源。
信息來(lái)源:
圖書 博客文章 在線視頻,公開課 詢問(wèn)這方面的專家 播客 源代碼 示例項(xiàng)目 在線文檔 各種網(wǎng)頁(yè) 付費(fèi)視頻、課程
第5步:創(chuàng)建學(xué)習(xí)計(jì)劃
創(chuàng)建學(xué)習(xí)計(jì)劃,就算我們已經(jīng)在第2步里面縮小了學(xué)習(xí)范圍,可能這個(gè)范圍內(nèi)還有比如六個(gè)如A,B,C,D,E,F個(gè)知識(shí)點(diǎn),而有些知識(shí)點(diǎn)是最基本的,比如知識(shí)點(diǎn)A,所有其他知識(shí)點(diǎn)B、C、D都依賴于A。這個(gè)時(shí)候我們肯定要學(xué)最基礎(chǔ)的A,再學(xué)其他不那么基礎(chǔ)的點(diǎn)。
就像上圖中的螺旋上升的階梯,往上的階梯需要穩(wěn)固的基礎(chǔ),也就是一個(gè)起點(diǎn)。
很多時(shí)候可以直接參考書的目錄,基礎(chǔ)的點(diǎn)都在前面,進(jìn)階的內(nèi)容都在后頭。
第6步:篩選資源
因?yàn)槲覀冊(cè)诘?步的時(shí)候已經(jīng)尋找了很多資源,那么這個(gè)時(shí)候可以進(jìn)行篩選,去掉重復(fù)性比較多的,或者不太適合自己的那些書,找出最物超所值的那幾本——可以看看網(wǎng)絡(luò)上對(duì)該書的評(píng)價(jià)。
第7步:開始學(xué)習(xí),淺嘗輒止

以上學(xué)習(xí)前的準(zhǔn)備過(guò)程就差不多了,接下來(lái)就是學(xué)習(xí)過(guò)程,學(xué)習(xí)-實(shí)踐-學(xué)習(xí)-分享教授(Learning, Doing, Learning, and Teaching)。
這一步的學(xué)習(xí)是為了下一步的“動(dòng)手操作”。
這個(gè)時(shí)候我們就要清楚地知道,為了下一步的操作,我們需要的“最小量的啟動(dòng)知識(shí)”有多少。度很關(guān)鍵,學(xué)太多或者學(xué)太少都影響效率。
第8步:動(dòng)手操作,邊玩邊學(xué)
如果是學(xué)習(xí)代碼,這一步可以按照示例代碼自己試一遍,或者自己改一遍。如果是學(xué)習(xí)英語(yǔ)單詞,就使用這個(gè)單詞造句、練習(xí)發(fā)音,并根據(jù)不同的釋義想象可以在什么場(chǎng)景下可以使用。
以上過(guò)程也是根據(jù)不同的例子來(lái)強(qiáng)化自己的記憶。我知道有一個(gè)挺有名的程序員章亦春,他喜歡在學(xué)習(xí)的時(shí)候,手抄代碼。第一次聽到這事的時(shí)候,我震驚了,手抄,那效率得有多低?后來(lái)我在刷leetcode的時(shí)候,遇到看不懂的那些題解代碼,復(fù)制粘貼后上程序跑一遍還是不懂。然后我就在紙上手抄這些代碼,抄著抄著的過(guò)程,竟然真的慢慢懂了,真香!
第9步:全面掌握,學(xué)以致用
我們可能會(huì)在上一步的操作過(guò)程中遇到問(wèn)題,這個(gè)時(shí)候可以回到資料里面,去尋找答案。又或者這個(gè)時(shí)候我們?cè)倏粗翱催^(guò)的內(nèi)容,也會(huì)有不同的體會(huì)。
第10步:樂(lè)為人師、融會(huì)貫通
原書中是這樣寫的:
你可以用多種方式將自己所學(xué)教給他人。你可以寫博客,也可以制作YouTube視頻。你也可以跟自己的愛(ài)人探討,將自己所學(xué)解釋給他/她。重點(diǎn)在于,你要花時(shí)間將自己學(xué)到的東西從大腦中提取出來(lái),以別人能夠理解的方式組織起來(lái)。在經(jīng)歷了整個(gè)這個(gè)過(guò)程之后你會(huì)發(fā)現(xiàn),有很多你以為自己明白了的知識(shí)點(diǎn),其實(shí)并沒(méi)有摸透。于是你會(huì)將那些以前自己沒(méi)太明白的東西聯(lián)系起來(lái),并且簡(jiǎn)化自己大腦中已有的信息,將它們濃縮并經(jīng)常復(fù)習(xí)。
費(fèi)曼學(xué)習(xí)法也大概是這個(gè)意思,諾貝爾物理獎(jiǎng)得主費(fèi)曼說(shuō):“如果你沒(méi)有辦法用簡(jiǎn)單的語(yǔ)言表述你所學(xué)的知識(shí),你就沒(méi)有真正學(xué)會(huì)它?!敝馁M(fèi)曼學(xué)習(xí)法,推崇以教為學(xué)。
這段視頻解釋得相當(dāng)透徹:為什么費(fèi)曼技巧被稱為終極學(xué)習(xí)法
首先我們通過(guò)練習(xí)大量的例子,從而總結(jié)出這些例子的通用規(guī)律。然后將這些例子以他人聽得懂的方式表述給他人,在這個(gè)過(guò)程中你再一次對(duì)這個(gè)通用規(guī)律進(jìn)行了總結(jié)——或者說(shuō)壓縮。同時(shí)在表述的過(guò)程中,進(jìn)行了邏輯上的驗(yàn)證。
有時(shí)候,邏輯驗(yàn)證會(huì)出現(xiàn)卡殼,會(huì)發(fā)現(xiàn)有很多你以為自己明白了的知識(shí)點(diǎn),其實(shí)并沒(méi)有摸透。
這還沒(méi)完,在表述給別人的時(shí)候,別人會(huì)產(chǎn)生疑問(wèn),這時(shí)候可以將別人的例子,套用在你已經(jīng)總結(jié)出的規(guī)律中,進(jìn)一步驗(yàn)證這個(gè)規(guī)律的準(zhǔn)確性。
分享知識(shí)的途徑:
寫博客文章 創(chuàng)建視頻教程 發(fā)表演講 與朋友或愛(ài)人進(jìn)行對(duì)話探討 線上或者線下回答他人的問(wèn)題
只要善于總結(jié),就超越了很多人。當(dāng)年RTS游戲盛行的時(shí)代,WAR3(魔獸爭(zhēng)霸3)游戲的王者,中國(guó)人皇SKY李曉峰。他當(dāng)年在網(wǎng)吧接受采訪的時(shí)候,秀出了他一個(gè)記滿技術(shù)要點(diǎn)的小本子,這是他對(duì)很多場(chǎng)對(duì)戰(zhàn)的關(guān)鍵總結(jié)。說(shuō)實(shí)話,字寫得真的丑,寫的句子也和“文筆”兩字絲毫不沾邊,但這并不能阻止他成為世界人皇。
最后,祝各位前程似錦。
最后的最后附書單
文末附上原書《軟技能:代碼之外的生存指南》作者推薦的書籍匯總。各位也可以參考以上學(xué)習(xí)方法,選擇某一主題的書,進(jìn)行學(xué)習(xí)哈。
自我提升和勵(lì)志類圖書
Steven Pressfield的The War of Art [Black Irish Books, 2002] Dale Camegie的《人性的弱點(diǎn)》(How to Win Friends and Influence People)[Gallery Books, 1998再版] 沒(méi)錯(cuò)就是卡耐基的書,英文名直譯有點(diǎn)意思:如果獲得朋友和有影響力的人 Napoleon Hill的《思考致富》(Think and Grow Rich)[Wilder Publications, 2007] Maxwell Maltz的《心理控制方法》(PsychoCybemetics)[Pocket Books, 1989再版] Norman Vincent Peale的《積極思考就是力量》(The Power of Positive Thinking)[Touchstone 2003再版] Ayn Rand的《阿特拉斯聳聳肩》(Atlas Shrugged)[Signet, 2005再版]
軟件開發(fā)類圖書
Steve McConnell的《代碼大全》 Robert Martin的 《代碼整潔之道》 Eric Freeman, Elisabeth Robson, Bert Bates和Kathy Sierra的《Head First設(shè)計(jì)模式》
投資類圖書
Gary Keller的The Millionaire Real Estate Investor [McGraw-Hill, 2005] Robert Kiyosaki的《富爸爸,窮爸爸》 Kerry Given的No-Hype Options Trading: Myths, Realities, and Strategies That Really Work [Wiley, 2011]
往期推薦
如果喜歡這篇文章,請(qǐng)點(diǎn)贊、在看,支持一下哦~謝謝!