.net軟件工程師,他們的工作內容包括完成軟件的設計、實現(xiàn)、測試、修改bug等工作,包括業(yè)務需求的溝通,功能模塊詳細設計,業(yè)務功能實現(xiàn)與單元測試,系統(tǒng)維護;參與產品構思和架構設計等。那么,.net軟件工程師發(fā)展前景如何?.net軟件工程師發(fā)展方向怎么寫?
一、.net軟件工程師發(fā)展前景
.NET 是世界上最大的軟件公司微軟公司花費300億美元精心推出的下一代開發(fā)平臺,可以開發(fā)Web程序、Windows應用程序和Wap 無線網絡應用程序等。.NET在大型系統(tǒng)開發(fā)中占有的開發(fā)份額越來越重。近年來呈現(xiàn)越來越大的用人趨勢,就業(yè)前景非常廣闊。易學、易用、學習周期短,是 .NET最大的優(yōu)勢。根據業(yè)界人士統(tǒng)計,學習.NET所花費的周期比學習Java 的時間少一半,但是.NET初級程序員比Java 初級程序員的薪水要高。
現(xiàn)代信息部門的開發(fā)團隊必須因應高度競爭的商業(yè)環(huán)境,快速進行應用軟件系統(tǒng)的設計、開發(fā)、測試以及部署帶領企業(yè)贏得市場。大部分的軟件開發(fā)團隊,都面臨以下幾項挑戰(zhàn):開發(fā)團隊間的溝通困難,開發(fā)工具形形色色,分散且難以互相整合開發(fā)程序、開發(fā)標準難以建立。因此,.NET高級軟件工程師就顯得尤為重要了,各大企業(yè)全都繼續(xù)軟件開發(fā)人才,IT界.NET軟件工程師缺口非常大,就業(yè)容易但薪資卻很高。
據有關權威部門統(tǒng)計,未來幾年內我國軟件行業(yè)的從業(yè)機會十分龐大,每年對軟件人才的需求將達到 80萬 -100 萬人,而現(xiàn)有行業(yè)從業(yè)人員只有 50 萬人左右,專業(yè)開發(fā)人員不到25萬,目前大部分院校出來的應屆計算機系學生,真正能當年進入軟件公司工作的只有10%~20%左右,缺口很大。所以.net軟件工程師的就業(yè)前景一片光明。
有句話說“跟著微軟準有飯吃”,微軟在軟件行業(yè)的龍頭老大位置沒有任何人能夠否認,她總是引領開發(fā)技術的前沿。如今微軟正高舉.NET大旗繼續(xù)向前,她正努力使開發(fā)變得更加輕松。
.net軟件工程師“錢”景不錯。中國“軟件藍領”等同.net軟件工程師。麥可瑞咨詢公司顧問劉忠民這樣說,在發(fā)達程度高的軟件開發(fā)團體中,“軟件藍領”是指一線編碼人員,就像工廠中的一線生產工人,只要能夠按照規(guī)范完成自己的編碼書寫工作就可以了,而.net軟件工程師就好像工廠中的“車間主任”,絕大部分精力投入在局部系統(tǒng)的架構設計上。根據現(xiàn)今中國軟件業(yè)發(fā)展的情況,企業(yè)對真正的軟件“藍領”的需求不多,在企業(yè)中,要既當軟件“藍領”,又當軟件架構員,既要進行軟件的架構設計,同時又要掌握實際操作,進行編碼測試和軟件文稿的書寫。因此,中國“軟件藍領”可以等同于.net軟件工程師。
首先,人才需求量大。我們來看一個數據,據有關權威部門統(tǒng)計,將來幾年內我國軟件行業(yè)的從業(yè)機會十分龐大,每年對軟件人才的需求將達到35萬-40萬人,而每年高校培養(yǎng)出來的計算機相關專業(yè)的畢業(yè)生只有6萬人左右,而處于軟件人才金字塔結構的底部的軟件“藍領”,需求自然也就是最大的。
其次,較高的就業(yè)薪水。據幾位業(yè)內人士透露,以一線操作為主的從業(yè)人員每月工資應在2500元至6000元左右,在北京地區(qū),職業(yè)教育軟件相關專業(yè)的學生每月平均收入可達到四五千元左右,而具有一定工作經驗的編碼人員的月薪就可高至七八千元。他們說,與其成為一個“平庸的管理者”,不如成為一名“出色的操作者”,因此,軟件工程師自然是前途無量。
再次,用人單位需求旺盛,用人單位對.net軟件工程師的需求可以用“如饑似渴”來形容,用人單位中很多是銀行的IT部門和跨國IT企業(yè),對于具有實際操作能力的軟件人才是用人單位最為需要的,而且越是上規(guī)模的公司,工作的拆分層次越清晰,對于軟件人才的需要越大。
最后,軟件工廠有大量需求量。據有關部門了解,由于人才嚴重不足,不得不從軟件人才的培訓做起,等到具有了一定的人才儲備之后,才能夠開始當“軟件藍領”,隨著來自印度的IT培訓被耳熟能詳時,更有重金招募“軟件藍領”的信息地激起人們對該職業(yè)的向往。這就可想而知這個職位的發(fā)展前景是如何的廣闊了。
二、.net軟件工程師發(fā)展方向
經過一段時間的工作經驗的積累后,可發(fā)展成為高級軟件工程師、算法應用開發(fā)工程師和需求工程師,但需要具有豐富的軟件開發(fā)經驗和相關工作的技術背景。如果想成為技術精英、項目經理,則還需要具有較強的管理和組織等方面的能力。
.NET軟件工程師一般分為WEB應用開發(fā)和桌面程序開發(fā)兩個方向。WEB應用開發(fā)方向將主要從事企業(yè)網站系統(tǒng)開發(fā),是目前比較熱門的方向。
三、.net軟件工程師職業(yè)規(guī)劃
當經歷過數年之后,一些人在.NET軟件工程師的某方面成為了專家,有些人精通數據庫方面,有些人精通web界面設計,有些人精通系統(tǒng)架構。還有一些人是什么都會,但不管哪一方面都算不上精通。當然還有另一些人,他們沒有選擇.NET軟件工程師,他們選擇了java,在若干年之后,他們說:java程序系統(tǒng)比.net系統(tǒng)更穩(wěn)定之類。既然大家都是.net陣營,暫且對他們不予討論,下面就介紹下.NET軟件工程師職業(yè)規(guī)劃。
1.選擇研究方向后不要動搖
對.net好還是java好的問題,我一向的觀點是:它們都好,它們都是軟件開發(fā)領域的杰出工具,它們都能夠做出非常出色的系統(tǒng)。評價一個系統(tǒng)好與不好的標準不在于開發(fā)語言,而在于系統(tǒng)本身,更多地在于這個系統(tǒng)的開發(fā)者-程序員本身。只要你是一個出色的程序員,你完全可以用你擅長的開發(fā)語言開發(fā)出高質量的系統(tǒng),而不管這種開發(fā)語言是.net還是java。而如果你過度地徘徊在研究它們到底誰更好的時候,甚至不斷地在二者之間輾轉的時候,你損失的將是寶貴的時間。
2.盡量縮小研究范圍
.net只是一個大方向,你應盡量將自己的研究范圍縮小,比如專注于數據庫,專注于xml方面,專注于ajax,只要你專注任何一個區(qū)域深入研究,當你成為專家之后,都不會愁飯吃。反之如果你什么都會,而沒有一樣真正精通,那么你可能永遠只能做一個普通程序員。
3.找到正確的入門方法
不管做什么事,方法很重要。特別是入門時的方法。正確的入門方法將大大加快你學習的進度。了解語言本身和前提技術是最先要做的事情,比如你選擇c#方向的asp.net,那么你必須先學習c#基礎語法,和asp.net基礎知識,并實際寫小程序測試你學習的成果。當學會基本語法后馬上找到asp.net的官方入門指導。微軟做得很好的一個地方就是他的幫助系統(tǒng)做得很好。新人容易入門,建議首先從入門教程開始,這個東西就在你的機子上,在Framework SDK的菜單里面。強烈建議把這個教程全部學會。
4.多看別人的成果(源代碼)
這個很重要,如果你是一個團隊的新成員,那么看他們寫好的代碼將是非常好的學習途徑,因為那些都是成功的代碼經驗。如果你還沒有加入團隊,是自學,那么找一個好的學習網站,多看上面的源代碼也是很好的方式。另外一個強烈推薦的途徑:仔細研究微軟的.net StarterKit,個人認為這是.net入門學習途中最大的收獲。
5.敢于接受新項目挑戰(zhàn),敢于嘗試
主動承擔公司的開發(fā)任務,敢于在項目中嘗試你最新的研究成果將對你自身技術水平提高帶來非常大的幫助。記得當初我在做一個建站平臺項目時有過這樣的經歷,之前公司開發(fā)的項目大都在原有技術積累下面用成型的框架做開發(fā),那時我也正在學習asp.net,不過那個項目我是主程序員,因此在開發(fā)上有很大自主性。于是1.0時我嘗試將所有用戶文章保存在web服務器的xml文件里,而不是像傳統(tǒng)項目那樣保存在數據庫里,以希望減少web服務器和db服務器之間的數據傳輸。結果1.0系統(tǒng)實際運行時確實達到了我的目的,雖然隨著數據量的大量增加,最終導致了IO瓶頸。但通過后來對IO瓶頸的優(yōu)化解決,我在文件系統(tǒng)、服務器進程、xml應用、代碼規(guī)范和性能優(yōu)化等方面學到了很多東西,倘若當初按原來的模式寫程序,將錯過學習這些知識的很好機會。
6.不斷推翻自己,敢于重構
這是對程序質量的要求,我認為只有不斷地優(yōu)化和改造自己的程序代碼,才能最終寫出高質量的程序,做出高質量的系統(tǒng),最終使自己的技術水平提高。通常我會把實現(xiàn)一個功能的代碼量作為衡量代碼質量的標準,代碼越少,越精簡,同時又具有良好的可讀性,就越理想。重構需要幾個前提:首先是項目時間允許,然后是確實找到更好的代碼組織邏輯,如一種很好的結構模式,更合理的面向對象調用方式等等。只要找到更好的解決辦法,那么勇敢地推翻原來的程序框架,重構它,經過不斷地重構后,有一天你回過頭去看之前自己寫的程序時會有一個感嘆:哇,怎么以前我的程序寫的這么爛阿。
7.跟上技術更新的腳步
軟件技術更新速度有時真的讓人很郁悶,經常聽人說,剛學會.net1.0,馬上就出了1.1,1.1剛完成一兩個項目,又出了2.0,用2.0不到一年已經出了3.5,但現(xiàn)實就是這樣,你必須得跟上腳步,當使用asp.net的時候,你就不能再像以前用asp那樣去寫程序,當使用.net2.0的時候,你要敢于使用masterpage,skin去代替原來的usercontrol模式,原來的網站皮膚實現(xiàn)模式。而現(xiàn)在出3.5了,你必須馬上學習vs2008,學習Silverlight。只有跟得上技術更新的步伐,你才永遠保持自己的技術領先地位。