软件工程师前途怎么样?以后年纪大了应该怎么发展
1、软件测试工程师在一家软件企业中担当的是“质量管理”角色,他的职责是及时纠错及时更正,确保产品的正常运作。
软件测试是个可以很快入门的职业,门坎不高。
对于刚刚毕业的学生,如果希望今今后事软件开发,那么先从事一段时间的测试可能更有利于今后的编程;而对于具有多年编程经验的程序员,如果改行做测试,更容易提高技术。
2、在北美,软件测试工程师因不同的级别,获取的薪资是不一样的,特别是近几年,由于越来越备受重视,所以薪资也节节高升。
现在起薪已经在5万左右;若经验丰富的话,薪资可以拿到八九万。
实际上,现在就业市场上最难找到的不是最佳程序员,而是最佳软件测试工程师!因为面对软件的规模越来越大,应用的复杂度和集成性越来越高,各种新的软件开发技术不断应用,特别是一些重要领域如国防、银行、金融、通讯、航天等,他们对软件质量要求很高,使得软件测试工程师已变的炙手可热。
目前大中型软件开发与测试人员比率接近1:2,巨大的市场空缺,使软件测试工程师从初级到高级,只需要1年甚至更短的时间来完成。
所以作为一名软件测试工程师,未来的发展空间是非常广阔的。
3、“软件测试工程师是一个越老越吃香的职业。
”著名软件测试专家、清华大学教授郑人杰教授说。
他告诉记者软件测试工作是对质量的把关,其中包含技术及管理等方面的工作,工作相对稳定,对年龄没有限制。
而且随着项目经验的不断增长和对行业背景的深入了解,会越老越吃香。
对于郑人杰教授对测试员的职业寿命的看好,资深测试专家、北大测试负责人肖睿非常赞同。
他认为软件测试员的一生如同一名医生的一生,随着职业阅历和临床经验的丰富累积,到一定的年龄他们通过“望闻问切”就能知道毛病出在什么地方。
因此,有人说软件测试员和医生是最不需要用“青春”来保证和延续自己职业寿命的职业。
4、20多年来郑人杰教授一直软件测试领域工作,如今70多岁的郑教授还在为软件企业“坐诊”。
一些出版社为了出版他的《计算机软件测试技术》几乎成了他家的常客。
作为我国软件测试行业的“泰斗”,他见证了中国软件测试业20年来的发展历程。
“软件测试工程师地位”翻天覆地“的变化,源自信息产业的发展以及软件企业自身、用户成熟度的不断加深。
”郑人杰教授表示。
一方面,计算机使用越来越普及,越来越多的领域使用了计算机,特别是一些重要领域如国防、银行、金融、通讯、航天等,他们对软件质量要求很高。
同时一些重大事故的发生,也引发了人们对软件质量的关注。
如2002年欧洲载重10吨的阿丽亚娜5型火箭发射失败,最后证实是软件质量问题;还有国内的一些银行金融系统,因软件质量问题不得不暂停营业。
毋庸置疑,在经历了长期的不为人知和可有可无后,软件测试工程师目前已变的炙手可热。
随着中国软件市场的发展,越来越多的国外资金投向中国软件行业。
据报道,中国软件外包市场的潜力和机会已远远超过软件王国印度,不过由于软件人才的严重不足致使我国软件发展遭遇“瓶颈”。
国家为了大力培养软件人才,不断采取积极有效的措施。
前不久,国家出台鼓励软件测试等高职业技能政策后,广大青年学生对软件测试的兴趣骤然上升。
5、软件测试是个可以很快入门的职业,门坎不高。
对于刚刚毕业的学生,如果希望今今后事软件开发,那么先从事一段时间的测试可能更有利于今后的编程;而对于具有多年编程经验的程序员,如果改行做测试,更容易提高技术。
6、软件测试是个需求高,就职机会大的职业。
目前,我国具备软件测试能力的人员数量和市场需求相差巨大,巨大的市场空缺,使软件测试工程师从初级到高级,只需要1年甚至更短的时间来完成。
所以作为一名软件测试工程师,未来的发展空间是非常广阔的。
软件实施工程师的地位以及发展前景。
不然,写代码和现场实施,我指的是做事的,都是底层的,没有最不最,同命相连的。
。
。
实施侧重沟通,开发不用说就是技术,两个职位需要的人的性格也不一样,实施需要比开发更开朗一点的人,开发对这方面就没那么多要求了。
。
。
发展是分别两条线,两种都很有前途,如果你能勤奋工作的话。
作为软件工程师应该具备哪些基本素质
1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。
把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。
独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。
2:文档习惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。
缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。
3:规范化,标准化的代码编写习惯 作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。
fans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。
代码具有良好的可读性,是程序员基本的素质需求。
再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。
4:需求理解能力 程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广 告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程 序员,你给他深蓝那套系统,他也做不出太极链的并访能力。
性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。
就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。
5:复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。
复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。
一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。
6:测试习惯 作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早 的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。
测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。
当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到需求理解能力。
7:学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。
善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。
但是学习也要找对目标,一些小coding有些codingTO就是这样的coding上只是一些Cfans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做...
嵌入式的硬件工程师和软件工程师哪个更有前途?
在以及可预见的未来,这个行业对软件工程师的需求绝对是碾压硬件工程师的。
也就是说,招软件工程师的职位比硬件工程师的职位要多的多,而且软件工程师找工作上来说会比硬件工程师更容易1,先从企业的角度来讲讲。
我个人认为造成这个差异的原因,第一个是基本上所有的公司,从初创公司到全球百强,都有对软件工程师的需求。
现在哪个公司不需要几个码农来开发app,或者做个web。
但是做硬件这种工作并不是所有公司会去做的。
2,大部分的初创互联网公司做的都是软件方向。
有个点子,有点技术,找几个合伙人抱着电脑就能开干了。
但是初创公司要专注做硬件开发就比较难了,因为成立设计硬件公司的门槛和起步开销比较大。
所以这也导致大部分初创公司以互联网为主,能做的了硬件设计的公司基本上都是处于垄断地位的大企业。
3,硬件设计在现在来看已经是相对成熟的技术,我甚至有ee的同学跟我说大部分硬件的东西已经步入夕阳产业的范畴,因为很多东西已经成了规范,也因为很多东西被自动化所取代。
前一阵子全球大牌的硬件公司才裁了不少人,intel更是裁掉了接近20%的硬件工程师。
但是互联网热从90年代开始到现在热头还没过,而且未来诸多产业如人工智能,机器学习,图像识别,大数据都才刚起步,所以还有一定的上升空间。
软件工程师俗称程序员,是不是社会地位低,都是屌丝?
屌丝??你确定你的工资能有程序员高?我小姨子2夫妻都是程序员,2个人的工资都是2万几一个月!而且行业内大部分的程序员工资都走在其他行业的前列知道不?看看每年行业工资排名金融下来就是软件程序类的了!国泰君安招程序员年薪都是最少15万以上的。
程序员是白领。
...
转贴:硬件工程师和软件工程师,哪个更有前途
我个人对美国这方面了解更多,就先从美国说一说。
我相信硬件工程师和软件工程师的就业前景应该是提这个问题的人最想知道的方面。
就我所了解的,在现在以及可预见的未来,这个行业对软件工程师的需求绝对是碾压硬件工程师的。
也就是说,招软件工程师的职位比硬件工程师的职位要多的多,而且软件工程师找工作上来说会比硬件工程师更容易。
先从企业的角度来讲讲。
我个人认为造成这个差异的原因,第一个是基本上所有的公司,从初创公司到全球百强,都有对软件工程师的需求。
现在哪个公司不需要几个码农来开发app,或者做个web。
但是做硬件这种工作并不是所有公司会去做的。
举个简单的例子,摩根大通银行在我们学校的招聘会上有明确招软件工程师,expedia在我们学校招聘会上也明确招聘软件工程师,如果这个两个公司突然说要招电子工程师,这不是逗我吗。
。
而且哪怕是硬件公司,也需要大量的软件工程师来支持硬件前端工作。
第二点我觉得要归功于现在的创业潮。
不管在美国在中国互联网创业都是趋势,但是可以说绝大部分的初创互联网公司做的都是软件方向。
有个点子,有点技术,找几个合伙人抱着电脑就能开干了。
但是初创公司要专注做硬件开发就比较难了,因为成立设计硬件公司的门槛和起步开销比较大。
所以这也导致大部分初创公司以互联网为主,能做的了硬件设计的公司基本上都是处于垄断地位的大企业。
第三个很重要的原因就是硬件设计在现在来看已经是相对成熟的技术,我甚至有ee的同学跟我说大部分硬件的东西已经步入夕阳产业的范畴,因为很多东西已经成了规范,也因为很多东西被自动化所取代。
前一阵子全球大牌的硬件公司才裁了不少人,intel更是裁掉了接近20%的硬件工程师。
但是互联网热从90年代开始到现在热头还没过,而且未来诸多产业如人工智能,机器学习,图像识别,大数据都才刚起步,所以还有一定的上升空间。
还记得当初我们学校的初创公司招聘会上几十家公司只有一家招硬件工程师,而且还是偏软件的硬件工程师,剩下的公司里98%都在找会码代码的人;大企业的招聘会上才能见到nvidia, arm, intel, TI 的身影,但是哪怕是这样基本上所有的公司招牌上都会有大写加粗的招computer science的字样。
。
再从个人的角度来讲。
想成为一名软件工程师找到工作的门槛远比成为一名合格的硬件工程师低很多。
要想以软件工程师的身份混到个饭碗,能学两门语言学好常用的数据结构刷点题就基本上能找到薪水小几千的岗位。
我甚至知道国内有专门的软件工程师培训机构,那种专门教java和算法,两个月速成班,而且所声称的学生就业率还挺高的。
但是要想成为一名合格的硬件工程师,不是科班出身的不好好学几门模电数电信号逻辑设计的课,没有在学校实验室里自己焊点电路做实践,连简历都发不出去。
而且现在要想学个什么语言框架,网上搜一搜“”xxx语言入门教程“”就有非常丰富的资源,但是要是在网上搜“如何学好超大规模集成电路设计”,要想找到可以受用的资源几乎是不可能的。
而且就我所参加的招聘会来说,如果有招硬件工程师基本都要求有研究生的学位,但是对软件工程师的要求基本上就是熟悉算法数据结构,会web编程有相关经历就够了。
软件工程师很多时候吃的是体力,硬件工程师大部分时候是吃经验,所以硬件工程师一般得有一定的经历积淀才能脱颖而出。
尤其像模电这种上手程度很高的方向,没个十年八年的相关经验根本不算学成出师。
所以说本身对从业者的资质要求更高,也是硬件工程师不好找工作的原因之一。
上面是我所认为的短时间内软件工程师就找工作方面来说会比硬件工程师更容易的原因。
但是这并不意味着会编程就肯定找得到工作,也不意味着硬件产业就会低迷下去。
软件工程师的职位多,但是每年从事这个职业的人也更多,虽然我认为现在软件工程师短期内还没有出现饱和的趋势(毕竟那么高的工资还摆在那),但是总有一天这个行业也会像金融产业一样降温(人才供过于求)。
硬件产业虽然大部分已经有步入夕阳产业的趋势,但是曾经一度被宣称没啥好搞的供电网络最近也被smart grid搞得神乎其神,美国top5的高校都还设立了相关实验室。
此外,现在物联网,车联网,智能家居的概念被炒得火热,我相信等相关成熟的支持技术(能量采集,低功耗通信)以及统一的开发平台一旦出现,硬件工程师的需求只会更多,虽然这些产品依旧只有那些有背景的大公司才做得动(不过因为欧美国家电子产业上的封锁,国家也在硬件设计上砸了很多银子,初创企业也会慢慢增加,相信国内的相关机遇也会更多)。
而且毕竟软件产业毕竟还是依靠硬件,如何设计低功耗,高稳定性,能够承载大吞吐量计算量的硬件也是这个产业的挑战,毕竟人工智能,机器学习,视觉处理等领域是很吃硬件计算量的。
没有强大的硬件支持,阿狗要想打败李世乭还是痴心妄想吧。
2. 工作常态 现在在一家设计为设计硬件的公司所设计软件的百强软件公司实习,做的工作大部分还是偏软件,所以本身对工作常态也并没有非常深入的自己的感受。
但是就我观察身边的同事以及跟别人的交流来看,...
现在什么职业地位高,待遇好?
软件工程师是一种根据用户需求建造出软件系统或者系统中的软件部分的一种职业。
而软件的开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。
软件一般会通过某种程序设计语言来实现的。
通常采用软件开发工具来进行开发。
软件分为系统软件和应用软件,以及与计算机上运行的程序相关的文件等。
软禁设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。
而在互联网时代,网站俨然已成为企业和个人不可缺少的“电子名片”,软件开发高级工程师的薪资福利一直处于行业领先地位。
中国网民数量已经达到6.68亿人次,规模全球第一,湾站数量413.7万余个,伴随着“互联网+”行动计划的实施,使得传统企业纷纷向互联网转型,这必将引发企业对软件开发高级工程师的极度需要。
长沙的话不是有个新华电脑么,你可以去看看。
...
软件开发工程师,俗称程序员,是不是社会地位低,好骗,属于屌丝群...
1:团队精神和协作能力 把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。
把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。
独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。
2:文档习惯 说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。
缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。
3:规范化,标准化的代码编写习惯 作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。
fans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。
代码具有良好的可读性,是程序员基本的素质需求。
再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。
4:需求理解能力 程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广 告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程 序员,你给他深蓝那套系统,他也做不出太极链的并访能力。
性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。
就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。
5:复用性,模块化思维能力 经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。
复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。
一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。
6:测试习惯 作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。
测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。
当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到需求理解能力。
7:学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。
善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。
但是学习也要找对目标,一些小coding有些codingTO就是这样的coding上只是一些Cfans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名...
薍38218943