iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
Software Development

邁向卓越:軟體工程師高速成長的關鍵之鑰系列 第 2

[邁向卓越] - Day 2 學習的核心:心智表徵

  • 分享至 

  • xImage
  •  

既然要談學習,我們首先要知道,到底什麼是學習?所謂學會又是個什麼概念?

但在聊這問題之前,想先請大家想想看,你有沒有曾經遇過那種讓你覺得強的不可思議的大神同事,總是看幾眼程式碼就抓到 bug、掃兩遍官方文件就找到解法、聽完 PM 描述腦中就有了架構圖、Leetcode 競賽你還沒讀完題目他已經 AC 了... 總而言之某些令你覺得難以翻越的壁壘,他輕輕鬆鬆就飛了過去。

https://ithelp.ithome.com.tw/upload/images/20230906/20152865lhLIIobYuu.jpg

那再問自己一個問題:你覺得有一天也可能成為他們嗎?


好了,我們正文開始

這就要從刻意練習這本書一直提到的觀念談起了,先讓我們來認識一個叫做 心智表徵(mental representation 的東西,這是個認知心理學的專有名詞,涵蓋的概念很廣泛,不只視覺,包含聽覺、嗅覺、味覺也都包含在內。但讓我們先只截取與知識學習較為相關的部分,並且用比較通俗易懂的方式解釋一下。

所謂心智表徵,你可以想成是人腦對某個技能建立起的一個個心智捷徑。下面以一段程式碼當例子。(但不用急著看懂沒關係)

class Solution:
    def solve(self, x: int) -> int:
        left = 1
        right = x
        while left <= right:
            mid = (left + right) // 2
            if mid * mid > x:
                right = mid - 1
            elif mid * mid < x:
                left = mid + 1
            else:
                return mid
        return left - 1

看到這個畫面,根據讀者對程式開發的認知多寡,可能會有四種不同層級的認知。

  1. 如果你是個看都沒看過程式碼的孩子,那這對你來說就是一串無意義的符號跟數字,你甚至不知道這個東西叫程式碼。
  2. 如果你稍微學過一點,可能知道他好像是段在跑迴圈的程式碼,但也僅止於此。
  3. 如果認識再多一點,你或許一眼就辨識出來,這是一段 binary search 的 code,一定是在搜尋什麼。
  4. 若能再更進一步,有些高手一眼掃過去就知道這是個找平方根(最接近整數)的程式。(Leetcode 69)

而心智表徵,在這裡指的就是那個,能讓你不到一秒就辨識出這是什麼東西,或更進一步,一秒就辨識出這段文字背後所代隱藏含義的能力,換句話說,就是心智在接受過相關鍛鍊後,建立出來的捷徑,而在一個領域內,當你在越複雜的層次上,建立起越多的捷徑,你就越專業也越厲害。

https://ithelp.ithome.com.tw/upload/images/20230906/201528654biD11jagX.png

這種心智的捷徑其實到處都是,光你抬頭一眼就能指認出眼前桌上的每件物品,也是一種心智表徵,是從你幼兒時期慢慢建立起來的。

現在讓我們回到開頭的問題,其實這些感覺像超人般的能力,一點也不神秘,不過就是他的大腦在過往的大量練習中,早已建立出非常多的相關捷徑,讓他能在看到問題的瞬間,就馬上連結到相關聯的知識上,大幅加速思索速度。

如果你沒有一樣扎實的心智表徵在背後輔助,那當然碰到問題只能慢慢來慢慢想,但如果你曾經因此覺得問題是出在自己不夠聰明,那不妨想想看,你會覺得一個分不清楚貓跟狗的差異的 1 歲小孩很笨嗎?還是覺得這跟笨不笨無關吧,就只是他還沒累積足夠量的知識(心智表徵)而已,等他長大(其實意思就是看得次數夠多了)自然就會了。那其實程式能力、數學能力等等,本質上也沒有太大的差別。

好消息是,成人的大腦依然充滿可塑性,也就是說,不論你幾歲,或你自覺有沒有天份,只要經過正確的方式,都能建立起來對應的心智表徵,達到想要的成果。問題只在於怎樣建立?

根據刻意練習一書,答案很簡單:

培養好的心智表徵的關鍵極為單純,就是練習的次數跟品質

是的,就是練習,有效的練習跟大量的練習,如此而已。聽起來像廢話,但練習其實並不簡單,好的練習與壞的練習成果天差地遠,而以下四個法則,可以讓你快速抓到練習的核心重點:

  1. 找到有效練習的方式
  2. 訂立可具體衡量成果的目標
  3. 尋找快速且立即的回饋
  4. 堅持停留在挑戰區中

明天開始的篇章,我會依序詳細介紹這幾個重點!敬請期待

Live as if you were to die tomorrow. Learn as if you were to live forever.

— Mahatma Gandhi


上一篇
[邁向卓越] - Day 1 成長的起點
下一篇
[邁向卓越] - Day 3 有效練習:光聽是沒用的,動手做!
系列文
邁向卓越:軟體工程師高速成長的關鍵之鑰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言