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