软件工程师前景
当今社会不论什么职业的都需要一个不断学习的环节,软件工程师也一样。
虽然软件工程师的工作不同于程序员但是一个软件工程师其前身必定是一个优秀的程序员,软件的开发工具、开发技术在不断地发展。
在校学生所能学到的东西很难跟得上发展的需要但是也不能说那些东西完全没有用,只有在完全理解了相应的基本技能之后你才能很轻松地掌握新的技能,软件技术都是一个循序渐进的过程。
所以学好学校所能提供的专业课程是相当重要的。
未来前景:我国软件出口2010年规模达到215亿元,软件从业人员达到72万人,在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观。
毕业生主要在各大软件公司、企事业单位、高等院校、各大研究所、国防等重要部门从事软件设计、开发、应用与研究工作。
有关数据显示,目前我国对软件人才的需求已达20万,并且以每年20%左右的速度增长,而高校计算机毕业生中的软件工程人才还很缺乏,尤其是高素质的软件工程人才的极度短缺。
企业用人主要特征1 外包开发行业快速发展,对“人才”在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高;2 Java和.NET技术在市场上平分秋色,都有大量的岗位需求,同时值得庆幸的是二者在应用层面上的技术差异越来越少;3 软件开发企业对开发人员的基本技术素养强调得越来越多,例如:面向对象的程序设计思想和代码组织方法、HTML/CSS/JavaScript客户端技术;4 为了保证质量和工期,企业中大量使用各种框架技术,要求开发人员至少熟悉一种框架技术;5 CMS,MIS、OA、ERP、CRM、ZW系统集成、物流、进销存、电子政务、网站建设这一类B/S系统,成为软件工程师需求最大的业务领域。
嵌入式软件工程师待遇和发展前景怎么样?
展开全部 发展现状:从中国国情发展需要来看,计算机软件行业的发展对于优化我国产业结构,实现对传统产业的信息化改造,提高经济效益和国际市场竞争力,具有极其重要的作用,是国家重点支持和鼓励的行业。
同时,作为信息化时代的信息传递基础,软件行业还是一个能多方面使用的行业,它与其它各行各业的结合非常多,例如普通的手机应用程序的设计、超市收银系统的设计,此外,常见的红绿灯监控、二代身份证的使用等等都离不开它。
发展前景:1、市场需求大根据知名校园招聘网站“梧桐果”《我国人才缺口最大行业排行榜TOP10》数据统计,与软件开发相关的互联网/电子商务行业、电子技术/集成电路行业、计算机软件行业的人才缺口分别排在第1、第4和第8位。
目前国内IT软件研发人才缺口超过百万,其中软件应用类研发人才缺口至少60万,2、就业范围广现在各行各业,略有规模的大中型企业,基本都会有自己的IT部门或者各类应用管理软件,其中消费电子和通信设备行业,对于软件开发人才的需求尤为旺盛。
3、薪资收入高软件在IT产业里是利润最高的部分,而最大的成本就是工资成本,所以软件开发人才的薪资也相对较高,同比高出其他行业50%左右。
据前程无忧的调查数据显示,2016年IT软件技术研发类岗位的平均调薪幅度为11.1%,薪资上涨幅度也远远超过其他行业。
4、职位晋升快软件开发人才需要的是技术和实际操作,一个熟练的软件开发工程师,特别受用人单位的欢迎,升职加薪非常快。
5、岗位性质重要软件是电子载体的灵魂,软件开发人才的关键性不言而喻。
...
软件工程师主要学什么?
1.网络设备技术,这主要涉及网络的硬件建设,包括路由器、交换机、组局网、广网,这方面有代表性的是CISCO、NORTEL; 2.网络操作系统,这主要涉及操作系统的系统管理与网络管理,这方向有代表性的是WINDOWS 2000、UNIX、LINUX等; 3.网络数据库,这主要涉及应用于网络的数据库,这方面有代表性的是SQL和ORACLE等; 4.网络安全,大家不应把网络安全片面的想成对操作系统、应用系统的安全,其实安全问题在网络的各方面都存在,在这方面国内还没有出现比较好、比较全面的认证; 5.网络管理,这涉及一个局网、广网的综合管理、优化、计费等等,也没有一个综合性的认证; 6.网络应用开发,企业的网站的基本开发、互动性开发,技术有HTML、ASP、JSP、JAVA等等。
这六个方面都是企业信息化必备的因素,所以大家如果要补充自己的知识,可以从这六个方面去补充,自己还要作一个定位,是成为一个全面性的人员,还是专业性的人员。
不过如果能在这个方面打下扎实的基本功,那么再在工作中选择一个方向,会更加厉害。
总之,大家应分步确定自己的方向,然后努力在多方向充实自己 .
.net软件工程师的发展前景
.net软件工程师“钱”景不错。
中国“软件蓝领”等同.net软件工程师。
麦可瑞咨询公司顾问刘忠民这样说,在发达程度高的软件开发团体中,“软件蓝领”是指一线编码人员,就像工厂中的一线生产工人,只要能够按照规范完成自己的编码书写工作就可以了,而.net软件工程师就好像工厂中的“车间主任”,绝大部分精力投入在局部系统的架构设计上。
根据现今中国软件业发展的情况,企业对真正的软件“蓝领”的需求不多,在企业中,要既当软件“蓝领”,又当软件架构员,既要进行软件的架构设计,同时又要掌握实际操作,进行编码测试和软件文稿的书写。
因此,中国“软件蓝领”可以等同于.net软件工程师。
首先,人才需求量大。
我们来看一个数据,据有关权威部门统计,将来几年内我国软件行业的从业机会十分庞大,每年对软件人才的需求将达到35万-40万人,而每年高校培养出来的计算机相关专业的毕业生只有6万人左右,而处于软件人才金字塔结构的底部的软件“蓝领”,需求自然也就是最大的。
其次,较高的就业薪水。
据几位业内人士透露,以一线操作为主的从业人员每月工资应在2500元至6000元左右,在北京地区,职业教育软件相关专业的学生每月平均收入可达到四五千元左右,而具有一定工作经验的编码人员的月薪就可高至七八千元。
他们说,与其成为一个“平庸的管理者”,不如成为一名“出色的操作者”,因此,软件工程师自然是前途无量。
再次,用人单位需求旺盛,用人单位对.net软件工程师的需求可以用“如饥似渴”来形容,用人单位中很多是银行的IT部门和跨国IT企业,对于具有实际操作能力的软件人才是用人单位最为需要的,而且越是上规模的公司,工作的拆分层次越清晰,对于软件人才的需要越大。
最后,软件工厂有大量需求量。
据有关部门了解,由于人才严重不足,不得不从软件人才的培训做起,等到具有了一定的人才储备之后,才能够开始当“软件蓝领”,随着来自印度的IT培训被耳熟能详时,更有重金招募“软件蓝领”的信息地激起人们对该职业的向往。
这就可想而知这个职位的发展前景是如何的广阔了。
系统工程师和软件工程师哪个前景更好(新能
就我所了解的,在现在以及可预见的未来,这个行业对软件工程师的需求绝对是碾压硬件工程师的。
也就是说,招软件工程师的职位比硬件工程师的职位要多的多,而且软件工程师找工作上来说会比硬件工程师更容易。
先从企业的角度来讲讲。
我个人认为造成这个差异的原因,第一个是基本上所有的公司,从初创公司到全球百强,都有对软件工程师的需求。
现在哪个公司不需要几个码农来开发app,或者做个web。
但是做硬件这种工作并不是所有公司会去做的。
举个简单的例子,摩根大通银行在我们学校的招聘会上明确招软件工程师,expedia也明确招聘软件工程师,如果这个两个公司突然说要招电子工程师,这不是逗我吗。
。
而且哪怕是硬件公司,也需要大量的软件工程师来支持硬件前端工作。
第二点我觉得要归功于现在的创业潮。
不管在美国在中国互联网创业都是趋势,但是可以说绝大部分的初创互联网公司做的都是软件方向。
有个点子,有点技术,找几个合伙人抱着电脑就能开干了。
但是初创公司要专注做硬件开发就比较难了,因为成立设计硬件公司的门槛和起步开销比较大。
所以这也导致大部分初创公司以互联网为主,能做的了硬件设计的公司基本上都是处于垄断地位的大企业。
第三个很重要的原因就是硬件设计在现在来看已经是相对成熟的技术,我甚至有ee的同学跟我说大部分硬件的东西已经步入夕阳产业的范畴,因为很多东西已经成了规范,也因为很多东西被自动化所取代。
前一阵子全球大牌的硬件公司才裁了不少人,intel更是裁掉了接近20%的硬件工程师。
但是互联网热从90年代开始到现在热头还没过,而且未来诸多产业如人工智能、机器学习、图像识别、大数据都才刚起步,所以还有一定的上升空间。
还记得当初我们学校的初创公司招聘会上几十家公司只有一家招硬件工程师,而且还是偏软件的硬件工程师,剩下的公司里98%都在找会码代码的人;大企业的招聘会上才能见到nvidia、arm、 intel、 TI 的身影,但是哪怕是这样,基本上所有的公司招牌上都会有大写加粗的招computer science的字样。
。
再从个人的角度来讲。
想成为一名软件工程师找到工作的门槛远比成为一名合格的硬件工程师低很多。
要想以软件工程师的身份混到个饭碗,学两门语言学好,常用的数据结构,刷点题就基本上能找到薪水小几千的岗位。
我甚至知道国内有专门的软件工程师培训机构,那种专门教java和算法,两个月速成班,而且所声称的学生就业率还挺高的。
但是要想成为一名合格的硬件工程师,不是科班出身的不好好学几门模电数电信号逻辑设计的课,没有在学校实验室里自己焊点电路做实践,连简历都发不出去。
而且现在要想学个什么语言框架,网上搜一搜“”xxx语言入门教程“”就有非常丰富的资源,但是要是在网上搜“如何学好超大规模集成电路设计”,要想找到可以受用的资源几乎是不可能的。
而且就我所参加的招聘会来说,如果有招硬件工程师基本都要求有研究生的学位,但是对软件工程师的要求基本上就是熟悉算法数据结构,会web编程有相关经历就够了。
软件工程师很多时候吃的是体力,硬件工程师大部分时候是吃经验,所以硬件工程师一般得有一定的经历积淀才能脱颖而出。
尤其像模电这种上手程度很高的方向,没个十年八年的相关经验根本不算学成出师。
所以说本身对从业者的资质要求更高,也是硬件工程师不好找工作的原因之一。
上面是我所认为的短时间内软件工程师就找工作方面来说会比硬件工程师更容易的原因。
但是这并不意味着会编程就肯定找得到工作,也不意味着硬件产业就会低迷下去。
软件工程师的职位多,但是每年从事这个职业的人也更多,虽然我认为现在软件工程师短期内还没有出现饱和的趋势(毕竟那么高的工资还摆在那),但是总有一天这个行业也会像金融产业一样降温(人才供过于求)。
硬件产业虽然大部分已经有步入夕阳产业的趋势,但是曾经一度被宣称没啥好搞的供电网络最近也被smart grid搞得神乎其神,美国top5的高校都还设立了相关实验室。
此外,现在物联网,车联网,智能家居的概念被炒得火热,我相信等相关成熟的支持技术(能量采集,低功耗通信)以及统一的开发平台一旦出现,硬件工程师的需求只会更多,虽然这些产品依旧只有那些有背景的大公司才做得动(不过因为欧美国家电子产业上的封锁,国家也在硬件设计上砸了很多银子,初创企业也会慢慢增加,相信国内的相关机遇也会更多)。
而且毕竟软件产业还是依靠硬件,如何设计低功耗,高稳定性,能够承载大吞吐量计算量的硬件也是这个产业的挑战,毕竟人工智能,机器学习,视觉处理等领域是很吃硬件计算量的。
没有强大的硬件支持,阿狗要想打败李世乭还是痴心妄想吧。
本人现在在一家为硬件的公司设计软件的百强软件公司实习,做的工作大部分还是偏软件,所以本身对工作常态也并没有非常深入的自己的感受。
但是就我观察身边的同事以及跟别人的交流来看,不管是做软件硬件,都是要:对。
着。
电。
脑。
。
。
软件工程师平时就是上班啊调试程序,比较低级的码农只能给高级软件工程师打打下手,帮他们做测试,实现他们设计好...
软件工程师与程序员的区别?
你好,我是学软件工程专业的,我也在外面的培训机构给人上过课,就是你所说的社会上的技能培训学校,先说软件工程师和程序员的区别,软件工程师,是能够根据客户需求,简单设计软件实现方案和具体细则(其实在正规的大公司里有专人干这个活,就是软件设计人员,有的叫做架构师或全栈工程师),而程序员,就是根据软件工程师所设计的和搭建的框架编写底层代码,也就相当于填砖块的工作,一般大学的软件工程专业,按照培养计划,教出来的应该是初级软件工程师的水平,但是这个具体还要看各自的努力,一般来说,只有少部分学生能够在毕业的时候达到初级软件工程师的水平
软件工程师要先学什么
先学C,再学C++,然后学VB, 现在流行的是Java,然后还有asp,jsp,php等学编程从基础做起!现在流行JAVA,可以直接学请一位好一点的老师,或找个学习班 简单的说,编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
计算机虽然功能十分强大。
可以供你上网、打游戏、管理公司人事关系等等,但是没有程序,它就等于是一堆废铁,不会理会我们对它下达的“命令”。
于是,我们要驯服它,只有通过一种方式——程序,这也是我们和计算机沟通的唯一方式。
那程序到底是什么呢? 程序也就是指令的集合,它告诉计算机如何执行特殊的任务。
打个比方说,它好比指导你烹调菜品的菜谱或指挥行驶一路到达目的地的交警(或者交通路标)。
没有这些特殊的指令,就不能执行预期的任务。
计算机也一样,当你想让计算机为你做一件事情的时候,计算机本身并不能主动为我们工作,因此我们必须对它下达指令,而它根本不会也不可能听懂人类自然语言对事情的描述,因此我们必须使用程序来告诉计算机做什么事情以及如何去做?甚至对最简单的任务也需要指令,例如如何取得击键,怎样在屏幕上放一个字母,怎样在磁盘中保存文件等等。
这么麻烦,连这些东西编程都要考虑!怪不得人家说编程好难!你错了,其实许多这样的指令都是现成的,包含在处理芯片中内置于操作系统中,因此我们不必担心它们工作,他们都是由处理器和操作系统来完成的,并不需要我们来干预这些过程。
上面讲到的计算机本身不会主动的做任何事情。
因此我们要通过程序的方式来让计算机为我们“效劳”。
而这个过程就是我们“编”出来的。
编程可以使用某一种程序设计语言来实现,按照这种语言的语法来描述让计算机要做的事情。
我们这里所讲的语法和外语中的语法完全两码事,这里讲的语法只是读你的程序书写做出一写规定而已。
写出程序后,再由特殊的软件将你的程序解释或翻译成计算机能够识别的“计算机语言”,然后计算机就可以“听得懂”你的话了,并会按照你的吩咐去做事了。
因此,编程实际上也就是“人给计算机出规则”这么一个过程。
随计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。
电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。
所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
计算机所能识别的语言只有机器语言,即由构成的代码。
但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。
目前通用的编程语言有两种形式:汇编语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
它同样需要编程者将每一步具体的操作用命令的形式写出来。
汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言是目前绝大多数编程者的选择。
和汇编语言相比,它不但将许多相关的机器指令合成为单条指令并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
由于省略了很多细节,所以编程者也不需要具备太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的VB、VC、FoxPro、Delphi等,这些语言的语法、命令格式都各不相同。
(1)解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
(2)编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。
现在大多数的编程语言都是编译型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。
这个问题其实很简单。
前面我们讲到,程序是人与计算机进行沟通的唯一方式,因此我们要让计算机为我们服务,就必须有程序,而程序从哪里来?当然是由我们编写出来了。
或许你又会问到另一个问题:现在要什么程序有什么程序,我干嘛还要编程呢?这你就错了,现在的程序虽然很多,需要什么样的程序直接到网上不需要很长时间就可以找到类似的,而且有...