從上小學開始,我就一直接受著勵志教育,比較著名的有李白「鐵棒磨成針」的故事。中學時候還弄個摘抄本,抄上「天才是百分之一的靈感加百分之九十九的汗水」、「寶劍鋒從磨礪出,梅花香自苦寒來」等等名言。再後來,各種勵志書籍越來越多。有段時間,「一萬小時理論」比較風靡,大意是說成為某個方面的專家,需要經過一萬小時的練習。但我仔細一想,這個理論並不是那麼的神,算算我畢業到現在,從事程式設計這一行,何止1萬小時,我成為了大師了嗎?並沒有,連牛人都算不上。其實想想,這種只要經過長期的練習,就能成為專家的說法太不靠譜:很多人做了一輩子飯,依然做的菜難吃,很多人經常下棋,但常常被一些小屁孩殺得丟盔棄甲。只能說,一萬小時可能是必要條件,而非充分條件。
為什麼有人在某一行業做了很長時間,依然水平很低呢,這就是《刻意練習 - 如何從新手到大師》這本書所**的。
這本書並沒有否認練習的作用,反而特別強調練習的作用。在引言《天才存在嗎》中,就提出「天才」是訓練的產物。當然這裡也不是否認天賦的作用,而是說有天賦的人也是需要不斷的努力,才能有所成就。其實中學的一篇課文《傷仲永》,就說明了這個道理。對於普通人而言,談成為大師似乎太遙遠,雖然這本書舉的例子都是一些傑出人物的例子,但對我這種只希望提公升專業技能的人,同樣有著參考意義。有沒有提公升技能的方法呢?有,答案就是刻意練習。
在我們學習任何乙個技能時,我們基本上遵從差不多相同的模式:首先,一般性地了解我們想做些什麼,從導師、教練、書籍或**上獲得一些指導,直到我們達到可接受的水平,接下來,讓這種技能變成自動的、自然而然的,同時也意味著不再進步了。記得剛買單反那會兒,拼命的研究說明書,上網找各種教程,然後經常揹著相機到處拍照。剛開始的時候感覺進步挺快,發圖還能收穫一些贊。這樣持續了大半年之後,就感覺水平一直沒有進步,雖然也在不斷的在拍照,但總感覺拍出來的東西千篇一律,後面拍得再多,對於攝影水平的提高作用微乎其微。
人們通常認為一件事不停的做下去,就一定能夠會更擅長,也許進步較為緩慢,但最終還是會更出色。但是,現實並不是這樣。就比如以前經常打羽毛球,每次只是想著鍛鍊身體,並沒有特意訓練,有次碰到幾個訓練的小孩,大約十歲左右,切磋了一局,被殺的毫無招架之力。在公司裡,也有那種寫了十幾年的**的老員工,還不如工作了兩三年的程式設計師。這樣的例子比比皆是。
如果這個時候要提高水平,我們就需要有目的的練習。
定義明確的具體目標,可以有效的用於引導練習。有了具體的目標,還要將目標分解,制定乙個合理的計畫。
練習的時候需要專注。如果你抽不出整塊的時間來做練習,那就需要考慮將目標再劃分細一點,確保你練習的時候心無旁騖。
你必須知道自己做的對不對,如果不對,你到底怎麼錯了。就比如打羽毛球,大多數的步伐、揮拍姿勢都存在問題,問題是如果沒有人指導,我們也不知道錯了,即使覺得姿勢彆扭,也不知道如何糾正。如果沒有人反饋,你不可能搞清楚你在哪些方面還需要提高,也就無法進步。這個時候就體現出教練或導師的作用了。
這個是最重要的。對於任何型別的練習,這時一條基本的真理:如果你從來不迫使自己走出舒適區,便永遠無法進步。
走出舒適區,意味著要試著做一些你以前沒做過的事情。有的時候,你也許發現,做一些沒做過的事情,相對較為容易,然後你繼續前進,可能會碰到那些你感到很難做好的事情,似乎永遠也做不好。這就是所謂的遇到瓶頸了,這個在生活中很常見,比如職業上遇到瓶頸,沒有上公升通道。
通常情況下,逾越障礙的方法並不是」試著做更難的事情「,而是」試著做不同的事情「。比如你覺得你寫再多的**,程式設計水平也提高不了,這個時候可以嘗試學另外一種型別的程式語言。比如之間學習的是c++,可以找一種解釋型程式語言,以前學的是物件導向的語言,你可以嘗試學學面向函式的程式語言。從別的語言中學習一些思想,再回顧原來的程式語言,可能會有新的收穫。當然這個度比較難以把握,也許有時是你堅持的還不夠久,這個時候可能需要導師或教練給出建議了。
另一種可能是動機不足,也就是說此時並非達到了你的提公升的極限,而是意志上有所倦怠。這個也是普通人經常碰到的問題,比如你辛辛苦苦的工作,有一天,你會懷疑,辛辛苦苦工作為了啥,這麼拼命是不是對得住自己?這個時候就需要乙個動機來激勵了,比如要結婚了,你需要錢買房子了,可能會激勵你堅持下去。有意義的正面反饋是保持動機的關鍵要素之一。你自己也可以經常獎勵一下自己,比如達到乙個目標,就給自己一點獎勵,買個平常捨不得買的物品等等。
首先是需要找一位好導師,好導師可以報培訓班、請私人教練,也可以是身邊優秀的人。在《我程式設計,我快樂》這本書中,作者就說到要成為團隊最差,注意這裡不是說不努力,讓別人超過自己,而是說尋找優秀的團隊,和比自己優秀的人一起共事,和優秀的人在一起,通常進步很快。再比如打羽毛球,和比你水平高的人一起,你的水平也會慢慢增長(如果水平差距太大,估計對方也不太願意和你一起打,所以還是盡量尋找比自己水平高,但不是高太多的人)。
找不到好的導師怎麼辦?這說明你足夠優秀,起碼比周圍的人強,一種途徑是混高階一些的圈子,總有比你水平高的人吧?如果你已經是絕頂高手,那恭喜你,你也不用看這本書了。本書也針對自我提公升給出了幾點建議:
自己設計練習方法,而且我們這個時代,很容易找到一些常見技能的練習方法。如果你要提高寫作水平,你可以設計一些練習,每個練習側重於寫作的乙個特定方面。反覆做一件事情,目的是找出你在哪些方面存在不足,並且聚焦於在那些方面取得進步,試著採用不同的方法來提高,直到你找到適合自己的方法。
攻克特定的弱點,這點在競技類專案用的比較多,比如打羽毛球反手比較差,就專門練習反手,網前技術不行,就專門練網前搓球。
有人說,我再怎麼努力,也達不到頂級水平,不要想多了,努力只是成功的一方面,你只要能夠戰勝80%的人,就已經很了不起了。也許有的時候天賦也很重要,還是那句話,以大多數人努力程度之低,還輪不到拼天賦。
題圖:來自pixabay
今天你還抽象?
因為沒有網路,資訊變得不順暢。和外部溝通也少,有沒有辦法寫乙個部落格文章。昨天碎碎念低一點。嘻嘻.最早接觸抽象就是在美術課上,有個什麼抽象派。可是再多的就不是非常了解了。後來就是在tgb 學習物件導向的時候。接觸過的 oop核心 抽象。計算機中我們是這麼做的 把乙個現實中相似的事物 物件 抽象成一類...
button submit你以為你阻止了預設事件
先解決掉乙個誤區 很多人寫button的時候,就這樣寫 你認為就是預設的submit的時候,這時候就可能出問題了。當然之所以你沒有遇到這個問題,一般可能性是因為你使用了框架。在internet explorer中預設就是botton,其他的瀏覽器是submit。在submit的時候你可能會遇到如檢查...
你缺的不是物件,缺的是物件儲存
說起物件,真的是扎到程式設計師心窩窩裡了 萬箭穿心 別想了,找物件是不可能的 物件儲存倒是可以考慮一下 所謂物件儲存,就是物件導向 檔案的雲儲存。在物件儲存出現之前,儲存主要依靠以下三種方式 傳統儲存方式 1 硬碟 無論是dvr dvs後掛硬碟還是伺服器後面直接連線擴充套件櫃的方式,都是採用硬碟進行...