程式設計的三層境界 器 術 道

2021-07-26 16:17:45 字數 2001 閱讀 1233

不知不覺,踏入程式設計這一行,已經十幾年了。無論是否功成名就,對於程式設計師來說,十幾年的工作經驗都能夠算是「資深」了。張愛玲曾經說過:「活過半輩子的人,大都有一點真切的生活經驗,一點獨到的見解。他們從來沒想到把它寫下來,事過境遷,就此湮沒了。」雖然我的自然年紀遠遠不足半年,但程式設計生涯,無疑早就過半。所以,我覺得應該把這麼些年在程式設計方面的理解和感悟寫下來,獻給自己,也獻給所有的程式設計師。

首先說說我對程式設計的整體認識吧:

程式設計,是一門現代技藝,和傳統行當相比,它非常年輕。但是,任何技藝,皆有「器」、「術」、「道」三個層次,年輕的程式設計行業也不例外!

先說最低的乙個層次——「器」:

《易經》曰:「形而下者謂之器」,說得通俗一些,就是具體事物,也就是工具。具體到程式設計上,「器」,也就是開發工具。乙個程式設計師,無論把開發工具玩兒得多麼轉,都只是活躍在這個初級的層次。我們可以看到書店裡熱賣《精通***》,《21天精通***》等等的計算機類書籍,這種書籍也就是幫助你學會一門工具。而學會這門工具以後你才能去做開發,才能用開發來養家餬口(說的有點遠了j)。掌握了「器」,就是掌握了入門的手段,能夠得以一窺程式設計世界的錦繡奇妙。剛剛掌握程式設計工具的開發者,會像一塊乾燥的海綿,勤奮而快樂地吸收書本上的知識和同行中的經驗,他們會感到,每一天都有進步和提高,每個人都值得自己去學習和借鑑。

再來說一說程式設計境界的第二層——「術」:

何謂「術」?「術」,是中國古人對於技藝、技巧、技能的乙個稱謂,說直接一點,就是安身立命的手段。在程式設計中,初學者在使用相應工具進行實際開發後(多則7-8年,少則3-4年),會學習和體會到了一門開發語言、或者乙個ide的使用技巧,能夠使用這些技巧完成開發工作——這就是程式設計師在「馭術」。

「馭術」這個詞,聽起來頗有能耐,所以達到這個層次的開發者,通常對自己的能力信心滿滿,對別人寫的**卻時常有所質疑。由於他知道了很多的技巧,所以總能找出別人**中的問題或者不足,即便是這些瑕疵只是見仁見智的問題而已,根本不會對整個的產品帶來任何影響——但是,迷戀技巧,精於「馭術」的程式設計師們,眼裡容不得這些沙粒,他們會有一定的「**潔癖」,會對別人開發的**大加指責。在每乙個軟體公司,我們都會聽到有人說「你的**變數就不應該這麼定義」、「你的邏輯為什麼不這麼處理?」、「你為什麼這麼寫**?」等等,當然,有時還會聽到華麗麗的洋文蹦出,諸如「show me the code」之類。長於「馭術」的開發者很危險,因為他們有能力將乙個產品帶向失敗。大家看到這裡可能會覺得我說的處於這一層的開發者百無一用,毫無優點可取。其實並非如此。處於這一層次的開發者,是最具創造力、最有開發能力,同時兼有開發經驗的群體。他們只需要乙個機會,乙個專案、乙個產品就足以證明自己的實力。而且由於他們有一定的**潔癖,所以寫出的**也是這三層中最優秀的。他們只需要從**上稍稍抬起頭,分出部分精力去關注專案的其他方面,就有可能成長為企業的技術骨幹或者專案經理。

但是,如果只關注於**,視野就必然有限。畢竟,「術」僅僅是「技」而已,並非多麼艱深的學問,熟了多少能生出巧來。如果程式設計師甘心停留在這個層次,那永遠只能玩弄雕蟲小技。

第三層——「道」

「形而上者謂之道」、「大道至簡」、「大道無形」。「道」,是中國哲學特有的命題,是所有領域對本質探索的終極目標。程式設計中的「道」,是在經歷了蹣跚學步的「器」的階段,和年少輕狂的「術」的時代後,慢慢對程式設計有所感悟,對開發產品有了自我理解,開始對這個行業進行本質思索的時期。這個層次的開發者已經不僅僅是乙個程式設計師,他們能夠引導乙個產品向著最優的方向發展,能夠在短時間之內「開發」出公司所需的產品。我為什麼要為「開發」這個詞加上引號呢?因為這個層次的開發者有並不一定會在**書寫上親力親為,他們已經不再是乙個code,不再樂於整天坐在凳子上coding了。他們會整合資源,化繁為簡。他們可能無心在**上炫耀技能,但是他們對於開發的理解,對於產品的定位卻是處於「術」階段的人所無法企及的。

當然,「馭術」程式設計師未必會服氣「載道」程式設計師的工作方式,因為思想高度不同,視角必然不同。程式設計行業也是一座金字塔,能「由術悟道」的程式設計師,畢竟少之又少。站到了高處的人,或許難免不勝寒,但他們的思想可以令整個行業熠熠生輝。

在「庖丁解牛」的故事裡,庖丁曾對文惠君說:「臣之所好者,道也,進乎技矣。」莊子對這位地位卑微廚子的話給予了高度的讚揚。或許,志向追求其實與社會地位、受教育程度等方面的關係不大,「由術悟道」只是自強者最後的殊途同歸。  

程式設計的三層境界 器 術 道

不知不覺,踏入程式設計這一行,已經十幾年了。無論是否功成名就,對於程式設計師來說,十幾年的工作經驗都能夠算是 資深 了。張愛玲曾經說過 活過半輩子的人,大都有一點真切的生活經驗,一點獨到的見解。他們從來沒想到把它寫下來,事過境遷,就此湮沒了。雖然我的自然年紀遠遠不足半年,但程式設計生涯,無疑早就過半...

ERP顧問的三層境界

寫這篇文之前,我已經準備好了接受扔磚了,希望大家聽我一言,權當茶後笑資。最近碰到很多像我一樣一直在從事erp專案諮詢與服務的人員,偶爾也聊聊天。有些人專案多,挺忙。有些人可能正閒著不忙。但這不是我要說的重點。這裡我想談談的是現在顧問們的存在的這麼三個現象 第一種現象,浮燥。這種現象多存在於剛從事er...

ERP顧問的三層境界

寫這篇文之前,我已經準備好了接受扔磚了,希望大家聽我一言,權當茶後笑資。最近碰到很多像我一樣一直在從事erp專案諮詢與服務的人員,偶爾也聊聊天。有些人專案多,挺忙。有些人可能正閒著不忙。但這不是我要說的重點。這裡我想談談的是現在顧問們的存在的這麼三個現象 第一種現象,浮燥。這種現象多存在於剛從事er...