1. 程式人生 > >程式設計能力的四種心理境界

程式設計能力的四種心理境界

如果想弄清楚理解它們跟我們的思想、感覺、認知、判斷和動機(這些在我們每日生活、職場中裡的關鍵因素)有什麼關聯,我們可以把自己想象成一個冰山。 冰山的尖端,唯一能從水面看到的一部分,可以當作是我們的的意識。 它是有邏輯、有組織的,可控的,但這部分很小。而龐大的水下部分則是我們的潛意識。 它們是無組織、無邏輯、無關聯的,但它們取能決定我們的各自行為特徵。

現代心理學上一直試圖通過觀察人們在這個思維冰山上能打多深的孔來評價他們掌握某一個專業技能的程度,並描述成四個階段。

階段一:無意識,無能力

小陳是一個年輕的網站開發者。 他是一個法律專業的學生,可他認為他的錢途不在律師行業,所以他靈光閃現,做了轉行的決定。 他曾經幫他的朋友修過計算機,而且很成功,自認為這方面應該都很容易。 小陳很快找到了一些能夠讓他學習、工作的地方(當然,都是靠近他家的)。 六個月後,他向朋友說自己是個網站專家了,簡歷上也列舉了不少組合語言、應用程式,以及開發平臺。

但實際上,小陳是一個冷酷的拷貝/貼上者。 他以為能夠成功地顯示一個windows提示框,就表示對Javascript已經掌握了。 PHP? 也很簡單:他成功的安裝了Wordpress、Linux,他從LiveCD上啟動了Ubuntu系統,能夠搭建一個Apache負載均衡叢集伺服器。 他的意識告訴他,他已經無所不知了。

可是問題就在於,小陳沒有意識到他可以學到更多的東西,所以他就簡單地停止了學習的步伐。 他經常訪問的線上論壇和郵件列表裡有很多人都非常客氣地告訴他,他的問題在於他膚淺的知識,但沒有人捅破這層窗戶紙。 而更悲哀的是,他在論壇裡的能力值比你我加起來都高。呵呵,這很搞笑。

小陳是無意識的無能力。

階段二:有意識的無能力

趙明是個數學老師。 他在一個大學裡工作,他希望他的大學裡能夠擁至少是五倍於現有數量的圖書館藏書。 他知道在科技領域方面,他的大學相對於其他研究機構落後很多,所以他決定自己動手去做這個工作。 他想建立一個線上平臺,能在社團裡共享他們的課程。

趙明是天生的邏輯型的思維, 他知道為了實現這個目標,他需要去做研究,蒐集資訊。 他的搜尋從維基百科開始,但最終在大量的瀏覽閱讀後他明白其實世界上已經有不少團隊對他的這種問題提供了開源方案。

他 從那些工程中選擇了一個最能滿足他的需求的一個。 他開始著手閱讀在它的網站上找到的文件和手冊,最後他把源程式下載下來。 但他的興奮狀態推著時間推移逐步退去,因為他看到了很多資料庫連線錯誤。 他試了又試,不少於三次地檢查他的每一步驟,還是不成功。 趙明並不惱怒,因為他知道自己在這個領域並不是專家。

他開始轉向它郵件列表平臺,在裡面,他用他所知道的(其實很少)最精確的語言描述了他的問題。 他提醒每個人,他並不清楚他所做的這個東西,所以,他希望能得到更多的文件去閱讀,或人們給他提供這方面的提示。 他不需要等待很久就能得到解決方案,因為他採取了正確的方法。

趙明是有意識的無能力

階段三:有意識的有能力

自從鋒仔拿起他的第一本HTML書至今已經有兩年了。 很顯然這是一條不歸路,對於鋒仔來說,每天思考的問題都是如何去提高自己喜愛的這個專業。 從他拿起第一本書幾個月後,他得到了第一個作為自由工作者開發一個網站的機會,他投入了極大的熱情,不管這個工作的薪酬有多低,這個工作有多簡單 (甚至是對於他的水平)。他深信一點:最好的學習的方式就是堅持不懈,屢戰屢敗,屢敗屢戰。
他經常去研究如何以最好的方式執行一個功能,因為他知道最好的程式碼不是第一次就能獲得的。 他必須去優化程式碼,他一遍又一遍地審查。 他一次又一次地修正。
之 後,他又給他自己寫了一個大概有30到40行的程式。 幾天之後,他忍不住感到失望,因為他在上網時發現了一段更省事的、而且更簡潔的程式,程式碼行只有他的一半。 他渴望知道何時才能輕鬆的寫出如此高質量的程式碼。 然而,經過一段思考之後,他開始分析自己的程式碼。 他知道必須去重寫這些程式碼,否則睡覺都不會安穩。 他不願意去拷貝貼上它們。
鋒仔正走在成為一個優秀的專家的路上,但他不會給自己加上這個稱號,他願意去等,他是有意識的有能力。

階段四:無意識的有能力

這是彙編水平的終極階段。 它不僅僅是知識積累的結果,更是一系列的邏輯規則在數年裡慢慢的刻印到腦海中的結果。

我們面對這樣的一個人時,不得不由衷的佩服他對如此複雜的問題,競能如此輕鬆地應對。 這種彙編者看起來就像是能夠嗅出問題的解決方案,而不是思考出的。

優化的編寫,可維護的、安全性的程式,應用各種設計模式,使用正確的開發工具組合,這些會自動的在他的工作中體現出來。 這種人能夠輕鬆的使用多種語言在多種作業系統平臺上工作。

最後值得一提的是,一些學者提出第五種階段:成熟的有能力,定義為有能力去教育和傳承他所學的、甚至是還未意識到的知識。 我們可以從一些才智超凡的人哪裡看到這些特徵,他們可以教學和講解,這些很顯然是多年實踐經驗積累出的技能。