未來5年開發人員必需的10項技能
由於最近經濟形勢的變化,很多開發人 員關注於短期的工作前景。與此同時,保證自己把時間和精力用於學習最能帶來回報的新技術上也是件非常重要的事情。這裡是我們列舉了10種你需要馬上開始學 習的技術,能讓你的簡歷在未來5年不會落伍。當然,這個列表並不完全,有很多業界的領域沒有涉及到(比如Mainframe 開發人員)。盡管如此,對通常的主流開發來 說,學習其中至少7項技能肯定不會錯 ——不但要達到能在面試時侃侃而談的程度,還得能在工作中運用自如。
1: “三大”之一 (.NET, Java, PHP)
除非開發世 界有根本的改變(類似小行星擊中雷德蒙),在不遠的將來,大部分開發人員將需要了解三大開發系統——.NET (VB.NET或者C#), Java, 或者PHP—其中的至少一個。並且只了解核心語言也是不夠的。因為項目會包含越來越多不同的功能,你需要對相關框架和庫有深入的了解。
2: Rich Internet Applications (RIAs)
不管愛她還是恨她,最近幾年,Flash的用途突然間不僅僅是制作政治人物弱智歌曲演唱動畫而已了。Flash也萌生出了以Flex和AIR為形式 的附加功能。Flash的競爭對手,比如JavaFx和Silverlight,也在不停的在特性和性能上加籌碼。HTML5集成了所有RIA的功能,包 括數據庫連接和把正式的W3C印章加到AJAX。在不久的將來,RIA專家將會是簡歷的一個重要篩選條件。
3: Web Devleopment
Web開發在近期內不會消失。很多開發人員滿足於忽略Web或者只是使用他們的框架給他們提供的”基本元素”。但是公司需要越來越多的真正知道怎樣使用底層技術進行“手工編碼”的人。所以要獲得成功請在未來5年裡努力鑽研JavaScript,CSS和HTML。
4: Web Services
REST或者SOAP? JSON或者XML? 盡管選項和答案取決於項目本身,不使用或者創建Web服務對一個開發人員(甚至是那些不做Web應用程序的)來說越來越困難。那些原來采用ODBC,COM或者RPC domains的領域,現在也在某種程度上過渡到了Web服務。不會用Web服務的開發人員將會發現他們被排擠或者淪為維護人員。
5: Soft Skills
有一種已經開始了很久的趨勢,IT在企業內部或者外部變得越來越透明。開發人 員被卷入越來越多的非開發性會議和過程以給與反饋。舉個例子,CFO要改變會計規則不能不依靠IT去更新系統。如果沒有IT去升級CRM的工作流,運營經 理就不能更改呼叫中心的流程。同樣的,客戶常常需要和開發小組一起工作來保證他們的需求被滿足。每一個開發人員都需要找主持人幫助或者去學習《怎樣結交朋 友並影響別人》麼?不是。但是擁有這種能力的開發人員對他們的雇主來說更有價值——並且更搶手。
6: 一種動態的和/或者函數編程語言
像Ruby,Python, F#, 和Groovy這樣的語言並不很主流——但是他們包含的理念卻是。比如說,微軟的.NET中的LINQ系統是函數編程技術的直接產物。Ruby和Python在某些領域很熱門,分別感謝Rails框架和Silverlight。學習其中的一門語言不只會提升你的簡歷;它能開闊你的視野。我見過的每一個頂級開發人員都推薦學習至少一種動態或者函數編程語言,用來理解新的思考方式,個人經驗來講,我可以告訴你確實有用。
7: Agile Methodologies
在Agile Methodologies 剛開始進入主流視線的時候,我持懷疑態度,和其他我認識的很多家伙一樣。它看起來就像某種對傳統的下意識反應,丟掉控制和標准而偏愛混亂。但是隨著時間 的推移,敏捷開發背後的智慧被更好的定義和表達出來。很多團隊不是應用了敏捷開發就是在進行敏捷開發的概念證明實驗。盡管敏捷開發不是治愈項目失敗的終極 靈藥,它的確在很多項目上有一席之地。在未來幾年裡,對有著敏捷開發環境的理解和成功經驗的開發人員的需求將會高速增漲。
8: Domain Knowledge
和敏捷開發密 切關聯,開發小組在項目定義中被越來越多的看做是同伴。這意味著了解問題領域的開發人員能夠用更可見的,高價值的方式給項目作出貢獻。敏捷開發中,一個能 夠說,“從這裡,我們也可以很簡單的添加這項功能,而且這能給我們帶來很多回報,” 或者 “噢,這個要求和我們的日志中顯示的使用模式並不相符” 的人將是優勝者。正如許多開發人員有抵制了解問題領域的想法,不可否認的是越來越多的組織希望(如果不是要求)開發人員至少能理解基本的內容。
9: “清潔”開發
幾年之前,很多(如果不是大部分)團隊都沒有使用bug跟蹤系統,版本控制,和其他類似工具;只有開發人 員和他們選擇的IDE。但是,感謝新的整合套件的開發,比如Microsoft Visual Studio Team System以及高質量開源環境的爆炸性發展,沒用到這些工具的組織變得更不常見。開發人員必須比知道怎麼在代碼控制中提交和獲得代碼或者怎樣用VM系統 配置測試環境了解更多的東西。他們需要在適當的地方養成嚴格的衛生習慣以保證他們和其他的小組恰當的合作。“代碼牛仔”,把所有的東西存放在私人USB盤 上,不把對任務對像的相應改變記錄成文檔,等等的人,在傳統的團隊裡不受歡迎,在需要團隊成員之間緊密合作的敏捷開發環境中更是如此。
10: 手機開發
上世紀90年末代web開發被 主流接受開始在很多領域將傳統的桌面程序邊緣化,在2008年,手機開發開始興起,在未來5年裡,它將會變得越來越重要。當然,手機開發有很多不同的方 法:針對手機設備的web應用程序開發,針對市場的RIAs,和直接在設備上運行的應用程序。不管你選擇了哪個方向,把手機開發加入你的技能集會保證你滿 足未來的需求。
Source: 10 skills developers will need in the next five years , 譯文
Author: Justin James


#1 by Saurooon on April 23, 2009 - 8:54 pm
Greatings, Thank you! I would now go on this blog every day!
Saurooon
#2 by Chowky on April 23, 2009 - 10:08 pm
Thanks for the support~
#3 by yurtdisi egitim on May 6, 2009 - 10:04 am
is this web site availible in English?
#4 by Chowky on May 6, 2009 - 10:27 am
Thanks for you interest. Chowky will consider adding a translator.