如何讓程式設計思維保持活化?

nowamagic發表於2013-11-06

  最近讀了一下《程式設計師的思維修煉》,涉及了一個詞:元學習。所謂「元學習」就是“學習如何學習”。這種能力很重要,學會學習不光在程式設計裡有用,掌握了這種能力後在其他領域也可以如魚得水。

  不知道大家有沒有這樣的經歷,就是一個人宅在家裡一整天,到了晚上遇到人開口說話都有點不暢,結巴。有時候明明想表達一個意思卻不知道用什麼詞,但談起技術和寫起程式碼來還是很熟練。這就是“用則進,不用則退”。增加感官體驗,可以促進大腦的使用。

  對於程式設計師來說 ,技術方面的精進尤為重要,不論是你是熱愛程式的程式設計師還是隻是靠他吃碗飯的上班人員。

  而技術的精進離不開兩個方面:一個是經驗的積累;一個是清晰的思維。

  經驗的積累其實就是不斷的嘗試、學習、理解、掌握新事物,同時不斷對新事物的掌握又能有效的鍛鍊大腦,因此對於新東西的學習是必不可少的,這也是為啥會在網上流傳這麼一句話——“優秀的程式設計師應該每年都學一門新語言”的原因。這只是說對新事物的學習,那麼如何發現新的事物/技術呢?

  無論你是學生還是上班族,一定都有這樣的經歷,新到一個學校、教室、公司,你都覺得新鮮不已,大腦中的興奮神經異常活躍,覺得有很多新的東西需要學習掌握,但過不了多久,當你熟悉了身邊的一切,熟悉了你們在做的事,並且你也能像你剛來的時候想的一樣和他們一起合作的時候,大腦中的興奮神經(如果真有這玩意的話)已經冷淡,它對周圍的環境產生了一種慣性:天天如此,重複這些事。對於大多數人而言此時你的大腦已經像是處在小黑屋裡了,遲鈍和僵化只是時間問題。這多數針對上班族而言,對於學生黨會好一些,充裕的時間可以拿出一些來做不循規蹈矩的事情。

  在這樣的情況下,最重要的事其實是要意識到,你的大腦被關小黑屋了,你應該做些什麼了。這樣就得說到積極主動的事了,積極主動是個好習慣。雖然有時會碰釘子,但是結果總是好的。對於技術人員來說,思維的積極主動要重要於腿勤腳勤或者嘴勤。

「不作為」是敵人,「錯誤」不是。

  一個熟悉的場景:某小白在寫Django專案,執行後始終無法訪問頁面,小白很是捉急,請來大神,大神看了一眼程式之後,沉思片刻說,你丫是不是沒有配ALLOWED_HOSTS,遂,問題解決。你知道在大神沉思的時間裡發生了什麼嗎?你的程式碼已經在他的大腦裡執行了一遍並且做了各種異常可能的分析。 好吧,這是個蹩腳的比喻,重點不在大神,在於想告訴新手如果遇到bug你一定要興奮,不要隨便把解決bug的機會讓給了別人,這樣才能更加聰明。

當你努力解決一個問題時,你的所有記憶都會被掃描——甚至那些你無法主動喚醒的記憶。

  在解決Bug的過程中,大腦是異常活躍的。大腦會將各神經元連通起來,你的經驗、知識都會被調到起來去解決這個問題,實質上就是複習了一遍,這就是積極的好處。另外一個方面就是挖掘已有專案中的新事物。你一個在為一個已經線上上執行的專案添磚加瓦,是不是覺得好像你已經瞭解了這個專案了呢?其實差遠了,一個能成功執行的專案(我說的是線上),在穩定前必定有很多崎嶇凹凸的路要趟,這些東西才是線上系統穩定的重點。多想幾個為什麼,這是小孩都知道的事,但往往習以為常的事卻是從不會被想起的,如何破?讓自己意識到,然後行動起來。

  視角的變化會讓你始終處於一個新鮮的狀態,讓你的腦細胞不至於死的比新生的快。

  下面再摘錄書裡一些經典的話語:

  • 培養幽默感,以建立更強大的隱喻。
  • 兩個想法相距越遠,越難以通過有效的隱喻聯絡起來。但我們遇到一個格外具有創造性的隱喻,且兩參照系距離適中,我們就不得不幾百年來一直歌頌這位作者。
  • 增加感官體驗,以促進大腦的使用。
  • 直覺和模式匹配能力超越了顯性知識。
  • 你的價值取決於你為團隊帶來的價值。
  • 大腦不是軟體,軟體不會老化,不會退化。但是大腦必須重新整理,必須使用,否則就會丟失記憶。
  • R型在儲存輸入方面非常賣力,事實上可能你的每次經歷,無論多麼平淡乏味,都會被儲存。但是它不一定被索引。當你努力解決一個問題時,R型程式會搜尋你的所有記憶以尋找解決方案。
  • L型處理語言、分析、符號、抽象、時間、推理、數字、邏輯、現象思維。
  • R型處理直覺、綜合、想象。
  • 積極的情感對學習和創造性思維非常關鍵。當你充滿了消極情緒時,你的大腦就開始停止提供多餘的資源。
  • 美學可以改變這些,不論是使用者介面、程式碼和註釋的佈局,還是變數名的選擇或桌面的整理。
  • 當你努力解決一個問題時,你的所有記憶都會被掃描——甚至那些你無法主動喚醒的記憶。
  • 養成一種收集思維鵝卵石的習慣,一旦有了積累,造牆的過程就會很容易。
  • 你是否注意到偉大的想法或者領悟可能會在最出乎意料的時候降臨?比如洗澡、刷盤子或其他一些枯燥、瑣碎的工作時。這是因為L型有點厭倦了這種常規任務,走了神,這才讓R型得以自由地展示自己地發現。
  • 改變解決問題的角度(角色扮演)。
  • 培養快速的洞察力,尋找不相關事物之間的關係或類比。
  • 大腦不是一個用於填充的容器,而是一束需要點燃的火焰。這不是別人可以幫你做的,而是一件你必須自己做的事情。
  • 建立SMART任務實現你的目標。
  • 所有的知識投資都有價值。即使你從來不會在工作中使用某項技術,它也會影響你思考和解決問題的方式。
  • 考慮投資的回報率。
  • 當你種菜時,如果菜長的不好,你不會怪責菜,你會尋找其他理由。菜可能需要更多的肥料或者水,或者少曬太陽,你決不會怪責菜。
  • SQ3R主動學習法(Survy, Question, Read, Recite, Review)。
  • 使用思維導圖做筆記。
  • 以教代學(橡皮鴨除錯法),向你所在領域之外的人解釋。
  • 把事物分成大腦足以容納的幾部分。
  • L型模式的CPU有一種「空閒迴圈」程式,如果沒有更緊迫的事情值得你去注意,閒置程式將會停留在一些低等級的困擾或緊急的問題上,而這會干擾R型的處理。
  • 大部分冥想、瑜伽以及類似的練習都是為了這個相同的目標:緩和大腦裡L型嘈雜的聲音所帶來的痛苦,生活在此刻,不要將你的精力不必要的分散,因為內心中喋喋不休的事情會擊倒我們。
  • 使用wiki來管理資訊和知識。
  • 「不作為」是敵人,「錯誤」不是。
  • 給新習慣適應的時間。
  • 制定一段時間計劃,然後努力實現。跟蹤你的進度,當你感覺做得不夠時,重新審視你的成果。
  • 信念是真實的,你必須相信這種改變是可能的。
  • 採取步步為營的細小步驟。
  • 新手的大腦有很多可能性,但是專家的卻很少。
  • 抓住方向盤,不要自動駕駛。

相關文章