【轉帖】未來五年程序員應當具備的十項技能

【Csdn 4月9日編譯】作爲一名程序員,如果你想在這個領域內繼續向前進步或者在當前的經濟形勢下保持不被炒魷魚,那麼你就決不應當自滿自足,你需要繼續學習。近日,著名IT評論員Justin James在他的博客中列出了未來五年程序員應當具備的十項技能,如果照此實踐,你未來的工作前景一定一片光明。

當前的經濟形勢下,很多程序員將目光聚焦在短期內的工作形式上,但是你仍然要抽出時間和精力學習新的技能。以下是作爲程序員應當即刻學習的十項技能,以確保在未來五年內你的簡歷上有真材實料。當然這個名單很難做到詳盡而沒有遺漏,有些領域沒有涉及到(比如大型機開發者)。然而,對於一般的主流開發而言,你至少要學會以下十條中的七條,而且掌握的程度不是那種你在工作面試上能夠誇誇其談,而是真正能夠用於實際開發。

1,三大主流開發體系之一(.NET, Java, PHP)

除非軟件開發領域發生巨大的變革(這機率好比行星撞擊地球),不然程序員至少需要知道三大開發系統中(.NET (VB.NET or C#), Java, PHP)的一種。而且僅僅瞭解核心語言是不夠的,因爲現在的項目擁有越來越多的不同功能,這也迫使程序員對相關的框架和庫瞭解得更深。

2,富客戶端應用(Rich Internet Applications)

無論你對Flash是愛還是恨,我們都不得不承認在過去的幾年裏Flash的發展壯大已遠不僅是應用於動畫製作。Flash以及Flex和AIR都具備越來越多的功能。而Flash的競爭者,如JavaFX和Silverlight等也在不斷提升自身的性能和表現。讓富互聯網應用更加活躍的是,HTML 5正整合進所有種類的RIA功能,包括數據庫連接、將W3C置於AJAX上等。在不遠的將來,作爲一名RIA領域的專家無疑將給你的簡歷添上濃重的一筆。

3,Web頁面開發

Web開發恐怕在未來的很長時間內都是主流技術之一。許多程序員往往滿足於構建後臺、或者只是專注於框架基礎而忽略了Web。但是越來越多的企業需要如何在交互代碼(hand code)級別處理Web技術的人員,所以掌握JavaScript、CSS和HTML必將在未來五年內的職場上無往不勝。

4,Web服務端開發

REST 還是SOAP? JSON 還是XML?當然選擇答案得依據項目來定,但如果一名程序員不會創建Web服務(儘管這個程序員也許不用寫Web應用),那麼他在工作崗位上一定倍感艱難。因爲即便是過去那些被ODBC, COM或者 RPC主宰的領域現在也轉到了一些形式的Web服務上了。

5,軟性技能

一段時間以來就有這樣一種趨勢即:無論在企業內部還是企業外部提高IT的能見度。程序員被越來越多地帶去參加非開發性會議來提供技術支持。例如,沒有IT升級系統,首席財務官不可能改變收支細則;沒有IT升級CRM工作流,運營總監不可能改變一箇中心呼叫進程。同樣,客戶經常直接與開發團隊溝通以確保他們的需求被完成。是否每個程序員都應該回去學習禮儀課來與別人更好的交往呢?那倒不必,但是程序員的確要提高待人接物的軟性能力,以在職場上獲得更大的價值。

6,一種動態或者函數式程序設計語言(Functional Programming Language)

類如Ruby, Python, F#和Groovy等的語言雖然不完全主流,但是語言內部包含的思想卻是開發界的主流。比如,微軟.NET中的LINQ系統就是函數式程序設計語言的一個直接派生。得益於Rails框架和Silverlight的發展,Ruby和Python語言在一些領域變得很熱門。學習這樣一門語言不僅豐富了你的簡歷,而且會開闊你的開發視野。我所遇到的頂級開發者幾乎都曾在演講中提到學習一門動態語言或者函數式程序設計語言的重要性,就我的個人經歷而言,這確實很有用。

7,敏捷開發

當敏捷開發第一次衝擊主流的開發意識時,我跟許多開發者一樣持懷疑的觀點。因爲它拋棄了控制、標準等,看起來是一種完全與傳統方法相悖的開發方法。但隨着時間的發展,敏捷背後的思想被定義的越來越好,應用得也越來越棒。許多開發或者採用敏捷,或者在敏捷開發的實驗階段。儘管敏捷不是失敗項目的萬靈藥,但它確實在軟件開發中有一席之地。那些對敏捷有很好的理解並且有應用經歷的開發者必將在未來五年內成爲搶手貨。

8,業務領域知識

開發團隊越來越被看做是項目的合作者,這意味着瞭解該領域的開發者將對該項目的貢獻更大。有了敏捷,開發者可以說我們可以在這兒很簡單地增加這個功能,而這將讓我們的產品更具價值。或者這個要求不符合我們日誌顯示的常用類型。由於越來越多的程序員反對必須瞭解該領域內的所有問題(實際上也不可能做到),所以不可否認的是越來越多的企業希望開發者起碼瞭解該領域內的基礎知識,越多越好。

9,質量控制

幾年前的時候,很多企業和產品沒有bug跟蹤系統、沒有版本控制和其他類似的工具,所寫出的代碼和產品都只是跟程序員和他所用的IDE有關。幸而開發領域有了新的、集成的工具如Microsoft Visual Studio Team System,而且產品、代碼高質量及可用性的透明度提高,開源環境等,現在沒有這種工具的企業已經越來越少稀少。開發者除了知道如何源代碼控制、如何使用VM系統構建測試環境之外,還要做更多的質量控制工作,並具備很好的清潔意識來確保他與他的團隊協調一致。那些將代碼處存在個人硬盤中,沒有記錄代碼變更、任務目錄等的開發者,不但在傳統的開發環境中不受歡迎,在敏捷的開發環境中也不受歡迎。

10,移動開發

在上世紀90年代末,Web開發一躍成爲主流並且將原來傳統的桌面應用開發邊緣化。在2008,移動開發大肆進入人們的視野,而且至少在五年內移動開發都將是開發領域的重中之重。當然移動開發的方式有很多種,但無論你選擇哪一種都將令你成爲未來的搶手貨。(譯/王玉磊)

(責編/楊東傑)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章