net软件工程师就业前景
.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。只有跟得上技术更新的步伐,你才永远保持自己的技术领先地位。