如今的開發(fā)者應(yīng)了解哪些過去聞所未聞的新技能
譯文除了編程技術(shù)之外,如今的軟件開發(fā)者們還需要了解許多在過去聞所未聞的技能
如今的軟件開發(fā)者們已經(jīng)不必像前輩們那樣擔(dān)心諸多因素,尤其是編碼工作中最大限度降低內(nèi)存占用(即使這意味著執(zhí)行時(shí)間將會(huì)大大延長(zhǎng))或者局域網(wǎng)連接最大帶寬不能超過14.4KB每秒等等。(盡管其中有些時(shí)至今日仍然具有一定的指導(dǎo)意義甚至有重新發(fā)揮作用的可能,但畢竟不是主流趨勢(shì)。)
不過從另一個(gè)角度來說,當(dāng)下在軟件開發(fā)、硬件開發(fā)、系統(tǒng)及網(wǎng)絡(luò)管理以及其它IT專業(yè)領(lǐng)域充斥著大量全新的技能乃至業(yè)務(wù)范疇,這些內(nèi)容在過去往往根本不存在(所謂的‘過去’涵蓋很廣,從三個(gè)月之前到五年、十年甚至二十年都說得通),或者只出現(xiàn)于預(yù)算龐大的某些特定機(jī)構(gòu)或應(yīng)用程序當(dāng)中。
“大家可以給自己必需的技能列一張單子,其中具體內(nèi)容的取舍與我們何時(shí)走出學(xué)校、對(duì)待工作是否認(rèn)真以及接受新的技術(shù)、產(chǎn)業(yè)動(dòng)態(tài)與工程發(fā)展的積極性密切相關(guān),”Embarcadero技術(shù)公司開發(fā)部門副總裁兼企宣負(fù)責(zé)人David Intersimone如是說。
無論各位是剛剛躋身于軟件開發(fā)者行列(或者是正有此打算),還是已經(jīng)成為一位經(jīng)驗(yàn)豐富的專業(yè)人士,了解自己需要掌握的內(nèi)容都是很有價(jià)值的。這樣大家才能具備足夠的競(jìng)爭(zhēng)力,輕松自如地選擇繼續(xù)從事這一行業(yè)、重新選擇其它領(lǐng)域或者著力爭(zhēng)取晉升。
因此在這里我要與此前自己編寫的“回顧那些失傳的技能”一文做個(gè)呼應(yīng),著重探討“發(fā)掘全新的技能”——相信我,無數(shù)IT專業(yè)人士們正緊盯這些新興領(lǐng)域,因此同樣身為軟件開發(fā)者的你絕對(duì)不能錯(cuò)過這個(gè)將技能添加進(jìn)自己知識(shí)結(jié)構(gòu)中的機(jī)會(huì)。(聲明:很明顯,大多數(shù)情況下我不會(huì)討論具體某種編程語(yǔ)言的相關(guān)話題)
函數(shù)庫(kù)的靈活使用
第一條沖擊到我傳統(tǒng)觀念的新技能就是,開發(fā)者們對(duì)預(yù)置在新語(yǔ)言中大量分類庫(kù)及模板庫(kù)的把握能力,這一點(diǎn)在Java、C++乃至Python中都表現(xiàn)明顯。如今我們要想完成復(fù)雜的應(yīng)用程序,對(duì)函數(shù)庫(kù)指令加以充分運(yùn)用絕對(duì)是必不可少的能力。如果我們只懂得使用某種語(yǔ)言而不會(huì)使用函數(shù)庫(kù)的話,那么軟件成果只能是空談。
站在用戶立場(chǎng)打造產(chǎn)品
就在兩三年前,“信息架構(gòu)”與“可用性工程”還屬于冷僻詞匯。而到了2010年,圍繞這兩個(gè)關(guān)鍵詞產(chǎn)生的招聘崗位不斷涌現(xiàn)??偨Y(jié)起來,這些技能其實(shí)是用于為用戶打造良好的使用體驗(yàn)——用戶界面設(shè)計(jì)、信息展示架構(gòu)以及獨(dú)特的平面布局,這一切已經(jīng)組成了全新的正規(guī)專業(yè)知識(shí)領(lǐng)域。
異步編程及其它相關(guān)技術(shù)
將業(yè)務(wù)平臺(tái)向云計(jì)算轉(zhuǎn)移主要通過基于Web的接口實(shí)現(xiàn),因此如今異步編程正越來越受到業(yè)界的關(guān)注。眼下即使是最簡(jiǎn)單的應(yīng)用程序也可能會(huì)需要異步編程技術(shù),這一切都?xì)w結(jié)于AJAX的廣泛應(yīng)用,其編程風(fēng)格迥異于以往,因此開發(fā)者們恐怕要投入相當(dāng)大的心力以跟上時(shí)代的腳步了。
擴(kuò)大技術(shù)的涉獵范圍
隨著時(shí)代的發(fā)展,業(yè)界對(duì)技術(shù)的要求也日新月異。如今精通某個(gè)單獨(dú)領(lǐng)域的員工已經(jīng)不那么搶手,能夠掌握自己專業(yè)周邊的各類相關(guān)技術(shù)才足以笑傲職場(chǎng)。客戶的要求越來越多,而那些萬金油式的全面人才已然成為獵頭公司中公認(rèn)的熱門人選。
特色專長(zhǎng)造就全新崗位
在這一話題當(dāng)中,我希望用客觀現(xiàn)狀代表主觀評(píng)述。在下面這份來自某招聘管理者的列表中,羅列出了數(shù)條能夠?yàn)榍舐氄呒臃值募寄軆?nèi)容:
1. 基于語(yǔ)音識(shí)別技術(shù)的非可視化用戶界面設(shè)計(jì)師;
2. 無硬盤大屏幕移動(dòng)設(shè)備軟件設(shè)計(jì)師;
3. 位置及方向響應(yīng)(類似于導(dǎo)航類)應(yīng)用程序設(shè)計(jì)師;
4. 石油及天然氣勘探及地質(zhì)領(lǐng)域的輔助軟件專家;
5. 體內(nèi)嵌入式醫(yī)療器械設(shè)計(jì)專家。
通過這份列表,我們可以看出,除了軟件編寫技能之外,廣闊的IT天地間還有許多特色專長(zhǎng)的用武之地。
開發(fā)工作中的快速反應(yīng)與協(xié)作能力
今天的開發(fā)者們需要對(duì)軟件開發(fā)過程中的快速反應(yīng)具備更詳盡的了解。反應(yīng)速度與協(xié)作能力常常能夠?yàn)槠髽I(yè)提供極大的市場(chǎng)競(jìng)爭(zhēng)優(yōu)勢(shì)。驅(qū)動(dòng)測(cè)試開發(fā)、自動(dòng)化驗(yàn)收測(cè)試、代碼重構(gòu)等等工作內(nèi)容的順利實(shí)施都迫切需要上述能力的支持。
圍繞可部署性、可擴(kuò)展性及可管理性開展開發(fā)工作
系統(tǒng)管理員們比軟件開發(fā)商更了解具體產(chǎn)品,不僅是從業(yè)務(wù)應(yīng)用角度,從企業(yè)負(fù)責(zé)人的采購(gòu)決斷角度更是如此。因此,開發(fā)商應(yīng)該從管理者的立場(chǎng)密切監(jiān)控產(chǎn)品的部署情況、擴(kuò)展性以及管理難度。從這一點(diǎn)出發(fā),企業(yè)的競(jìng)爭(zhēng)力將會(huì)得到大大提升,而且管理員的一句贊許永遠(yuǎn)強(qiáng)過投入巨資打造的廣告。
其它建議
以下是來自專家的其它一些補(bǔ)充內(nèi)容:
◆ 為嚴(yán)格要求可擴(kuò)展性的云計(jì)算提供類似Hadoop的分布式計(jì)算技術(shù);
◆ “大數(shù)據(jù)”分析能力,以應(yīng)對(duì)網(wǎng)絡(luò)及科學(xué)數(shù)據(jù)等帶來的龐大數(shù)據(jù)量,比如說那些用戶數(shù)量驚人的超大型門戶網(wǎng)站。
◆ 為了提高生產(chǎn)力而部署的Web應(yīng)用程序框架,例如Ruby on Rails以及Grails等。
◆ 動(dòng)態(tài)“腳本語(yǔ)言”強(qiáng)調(diào)開發(fā)者在實(shí)時(shí)性能表現(xiàn)方面的生產(chǎn)力,Python、Ruby、PERL、JavaScript以及Groovy(作為Java的替代方案存在)等都在此列。
高級(jí)軟件工程師Amy Unruh還補(bǔ)充說,“當(dāng)下對(duì)于開發(fā)者們來說,了解關(guān)于實(shí)時(shí)搜索、流水線數(shù)據(jù)分析以及活動(dòng)數(shù)據(jù)流管理方面的知識(shí)非常重要。此外大家還應(yīng)該在自己的知識(shí)儲(chǔ)備中時(shí)常添加一些小型體系,包括微格式的使用、服務(wù)相關(guān)API的支持等等,這些都是計(jì)算原則之外頗具價(jià)值的實(shí)用技能?!?/P>
諸位讀者在工作過程中發(fā)現(xiàn)了哪些必不可少的技能,又是如何將相關(guān)學(xué)習(xí)付諸實(shí)踐的呢?
原文鏈接:
http://www.infoworld.com/d/application-development/what-todays-software-developers-need-know-173201?page=0,0
【編輯推薦】