程序員應(yīng)該具備的十項(xiàng)技能
作為一名程序員,如果你想在這個(gè)領(lǐng)域內(nèi)繼續(xù)向前進(jìn)步或者在當(dāng)前的經(jīng)濟(jì)形勢(shì)下保持不被炒魷魚,那么你就決不應(yīng)當(dāng)自滿自足,你需要繼續(xù)學(xué)習(xí)。近日,著名IT評(píng)論員Justin James在他的博客中列出了未來五年程序員應(yīng)當(dāng)具備的十項(xiàng)技能,如果照此實(shí)踐,你未來的工作前景一定一片光明。
當(dāng)前的經(jīng)濟(jì)形勢(shì)下,很多程序員將目光聚焦在短期內(nèi)的工作形式上,但是你仍然要抽出時(shí)間和精力學(xué)習(xí)新的技能。以下是作為程序員應(yīng)當(dāng)即刻學(xué)習(xí)的十項(xiàng)技能,以確保在未來五年內(nèi)你的簡(jiǎn)歷上有真材實(shí)料。當(dāng)然這個(gè)名單很難做到詳盡而沒有遺漏,有些領(lǐng)域沒有涉及到(比如大型機(jī)開發(fā)者)。然而,對(duì)于一般的主流開發(fā)而言,你至少要學(xué)會(huì)以下十條中的七條,而且掌握的程度不是那種你在工作面試上能夠夸夸其談,而是真正能夠用于實(shí)際開發(fā)。
1,三大主流開發(fā)體系之一(.NET, Java, PHP)
除非軟件開發(fā)領(lǐng)域發(fā)生巨大的變革(這機(jī)率好比行星撞擊地球),不然程序員至少需要知道三大開發(fā)系統(tǒng)中(.NET (VB.NET or C#), Java, PHP)的一種。而且僅僅了解核心語言是不夠的,因?yàn)楝F(xiàn)在的項(xiàng)目擁有越來越多的不同功能,這也迫使程序員對(duì)相關(guān)的框架和庫了解得更深。
2,富客戶端應(yīng)用(Rich Internet Applications)
無論你對(duì)Flash是愛還是恨,我們都不得不承認(rèn)在過去的幾年里Flash的發(fā)展壯大已遠(yuǎn)不僅是應(yīng)用于動(dòng)畫制作。Flash以及Flex和AIR都具備越來越多的功能。而Flash的競(jìng)爭(zhēng)者,如JavaFX和Silverlight等也在不斷提升自身的性能和表現(xiàn)。讓富互聯(lián)網(wǎng)應(yīng)用更加活躍的是,HTML 5正整合進(jìn)所有種類的RIA功能,包括數(shù)據(jù)庫連接、將W3C置于AJAX上等。在不遠(yuǎn)的將來,作為一名RIA領(lǐng)域的專家無疑將給你的簡(jiǎn)歷添上濃重的一筆。
3,Web頁面開發(fā)
Web開發(fā)恐怕在未來的很長時(shí)間內(nèi)都是主流技術(shù)之一。許多程序員往往滿足于構(gòu)建后臺(tái)、或者只是專注于框架基礎(chǔ)而忽略了Web。但是越來越多的企業(yè)需要如何在交互代碼(hand code)級(jí)別處理Web技術(shù)的人員,所以掌握J(rèn)avaScript、CSS和HTML必將在未來五年內(nèi)的職場(chǎng)上無往不勝。
4,Web服務(wù)端開發(fā)
REST 還是SOAP? JSON 還是XML?當(dāng)然選擇答案得依據(jù)項(xiàng)目來定,但如果一名程序員不會(huì)創(chuàng)建Web服務(wù)(盡管這個(gè)程序員也許不用寫Web應(yīng)用),那么他在工作崗位上一定倍感艱難。因?yàn)榧幢闶沁^去那些被ODBC, COM或者 RPC主宰的領(lǐng)域現(xiàn)在也轉(zhuǎn)到了一些形式的Web服務(wù)上了。
5,軟性技能
一段時(shí)間以來就有這樣一種趨勢(shì)即:無論在企業(yè)內(nèi)部還是企業(yè)外部提高IT的能見度。程序員被越來越多地帶去參加非開發(fā)性會(huì)議來提供技術(shù)支持。例如,沒有IT升級(jí)系統(tǒng),首席財(cái)務(wù)官不可能改變收支細(xì)則;沒有IT升級(jí)CRM工作流,運(yùn)營總監(jiān)不可能改變一個(gè)中心呼叫進(jìn)程。同樣,客戶經(jīng)常直接與開發(fā)團(tuán)隊(duì)溝通以確保他們的需求被完成。是否每個(gè)程序員都應(yīng)該回去學(xué)習(xí)禮儀課來與別人更好的交往呢?那倒不必,但是程序員的確要提高待人接物的軟性能力,以在職場(chǎng)上獲得更大的價(jià)值。
6,一種動(dòng)態(tài)或者函數(shù)式程序設(shè)計(jì)語言(Functional Programming Language)
類如Ruby, Python, F#和Groovy等的語言雖然不完全主流,但是語言內(nèi)部包含的思想?yún)s是開發(fā)界的主流。比如,微軟.NET中的LINQ系統(tǒng)就是函數(shù)式程序設(shè)計(jì)語言的一個(gè)直接派生。得益于Rails框架和Silverlight的發(fā)展,Ruby和Python語言在一些領(lǐng)域變得很熱門。學(xué)習(xí)這樣一門語言不僅豐富了你的簡(jiǎn)歷,而且會(huì)開闊你的開發(fā)視野。我所遇到的頂級(jí)開發(fā)者幾乎都曾在演講中提到學(xué)習(xí)一門動(dòng)態(tài)語言或者函數(shù)式程序設(shè)計(jì)語言的重要性,就我的個(gè)人經(jīng)歷而言,這確實(shí)很有用。
posted on 2010-02-03 18:08 小飛哥 閱讀(437) 評(píng)論(1) 編輯 收藏 所屬分類: 隨心所欲