程序員的技能知識體系真的只能維持五年嗎?

根據我們的調查結果得知,開發人員技能的半衰期約為5年,這意味著我們不能將眼光停留在當前的技術層面上,要保持一種終身學習的理念。
開發人員所掌握的技能,(我們暫且不考慮通過集中培訓這一種情況),都有它的壽命期限。事實雖然如此,但不足以讓我們驚訝,我們面臨的更重要的一個問題是,目前所掌握的技能體系已經讓我們應接不暇。
Philippe Kruchten,英國哥倫比亞大學軟件工程學院教授,通過幾年時間瀏覽IEEE軟件雜志(由目前全球最大的非營利性專業技術學會所創 辦)上的一系列問題后,因一時興起提出了五年假說。他推斷,一些想法,工具和技術今天不再持有相關性(可參見他在2008年發表的論文)。
他的結論是可以通過大家協同一起構建一個標準的專業發展方案。在他不如學術界之前,已有三十年時間親歷親為于軟件工程行業.。在我們感嘆Kruchtem教授的時間跨度及建議之前,或許應該先定義一下什么才是開發技能。
技能的范疇
在開發人員技能的半衰期及開發經驗的構成上,已展開了太多的辯論會來爭論。Henrik沃恩最近從三個方面進行了概括:
1、編程:
語言、范式、技術、工具。核心概念,經常從一種語言翻譯成另一種語言而不考慮語法。
2、作用域:
你知道程序可以在什么樣的環境中應用。這通常是非常容易被忽視的一個環節,但是Warne重點支出,如果開發者能夠輕車熟路的駕馭這個環節,他們將非常有利的掌握了一種業務技能。
3、代碼庫:
特定的工作區間。也就是我們常說的workplace,我們必須要有這種將長期使用的代碼放置到一個穩定的地方進行開發的理念。
通過這三個方面來定義開發者的技能體系,Warne認為是最有價值的。雖然編程經驗也至關重要,但是在整個體系中并不是有它來決定,而這也使得辯論更加的有意思的起來。
作為開發者,代碼并不是你唯一的技能,你所掌握的整個技能體系才支撐起了這五年的時間范疇。
“沒有辦法”,Warne說,他支持這個想法,雖然工作中的改變意味著要學習新的代碼庫,但是你的技能體系在編程和作用域中對你將是非常有幫助的:
現在的編程語言都會通過一些參考示范來告訴你如何通過不同的方式達到相同的效果(即便他們的基本原理都是相同的)。
Kruchten和Warne所強調的基本內容都是專業發展和保持可持續的重要性。正因為有如此多的創新產業,總要有新的東西可以學習或者進行集體培訓,這才成為我們不得不及時充電保持前瞻性的一條道路。
終身學習
Kruchten所提的可持續專業發展(CDP)這個觀點在業界也早已應用,例如,所有注冊的衛生工作者在澳大利亞必須依法承擔CPD,內科醫生,外科醫生,都需要證明他們是參與CPD計劃為了滿足工作,工業和組織的需求。
當然,這種比較并不完善,但技術的推陳出新及行業趨勢的發展勢必對此造成極大影響。如果你工作于IEEE認證軟件開發專業,那么你就已經意識到CPD的強制性的實踐,證明了上課,讀書和參加會議或研討會是非常明智的。
為了更好的機會,開發者必須有一個適應于開放的心態,這就意味著在掌握當前技術基礎上還有保持終身學習的心態。新的語言在不斷發展,新的框架在不斷的完善,緊跟行業趨勢,意味著我們更快更容易的融入到新的技能體系中。
通過這場辯論Kruchten得到了這樣一個啟示,“我們有一中道德義務,緊跟這個領域前進的腳步”。可是低技能的開發者對他們的開發者在道德上有約束力嗎?這個問問題仍在討論。
正如一位評論者在一個程序員問答網站上慷慨激昂的陳詞,“基本編程原理和技術是永恒的”。那么你又是怎么認為的呢?
英文標題: Does developer knowledge really only last five years?
</div>