我个人对美国的这方面了解比较多,所以先从美国说起。 我相信硬件工程师和软件工程师的就业前景应该是问这个问题的人最想了解的方面。
据我所知,目前以及可预见的未来,这个行业对软件工程师的需求绝对是碾压硬件工程师的。 也就是说,软件工程师的职位比硬件工程师多很多,而且软件工程师比硬件工程师更容易找工作。
我们先从企业的角度来说一下。 我个人认为,造成这种差异的第一个原因是,基本上所有公司,从初创公司到世界前100强,都需要软件工程师。 现在哪家公司不需要几个程序员来开发应用程序或构建网络。 但做硬件工作并不是所有公司都会做的。 举个简单的例子,摩根大通银行在我们学校的招聘会上明确招聘软件工程师,Expedia也明确招聘软件工程师。 如果这两家公司突然说要招聘电子工程师,我岂不是觉得好笑? 。 甚至硬件公司也需要大量的软件工程师来支持硬件前端的工作。
第二点我觉得是由于现在的创业浪潮。 互联网创业无论在美国还是在中国都是一种趋势,但可以说绝大多数的初创互联网公司都是在软件方向。 如果你有一个想法和一些技能,你可以通过找几个合作伙伴并拿着电脑来开始它。 但对于初创公司来说,专注于硬件开发比较困难,因为成立设计硬件公司的门槛和启动成本都比较高。 因此,这也造成了大多数初创公司专注于互联网,而能做硬件设计的公司基本都是具有垄断地位的大公司。
第三个很重要的原因是硬件设计现在已经是比较成熟的技术了。 甚至有ee同学告诉我,大部分硬件的东西已经进入夕阳产业的范畴了,因为很多东西已经成为常态。 ,也是因为很多东西都被自动化所取代。 不久前,全球各大硬件公司纷纷裁员,英特尔解雇了近20%的硬件工程师。 但20世纪90年代以来互联网热潮尚未过去,人工智能、机器学习、图像识别、大数据等许多未来产业才刚刚起步,仍有增长空间。
还记得我们学校的创业招聘会上,几十家公司中,只有一家在招聘硬件工程师,而且是软件方向的硬件工程师。 剩下的 98% 的公司都在寻找会编码的人; 大公司的招聘会网上只能看到nvidia、arm、intel、TI,但即便如此,基本上所有公司的招牌上都会有大写加粗的“计算机科学”字样。 。
从个人角度来说。 软件工程师的找工作门槛比成为合格的硬件工程师要低得多。 如果你想找一份软件工程师的工作,只要学好两门语言,常见的数据结构,回答一些问题,基本上就能找到几千块钱的职位。 我什至知道国内有专门的软件工程师培训机构,专门教授Java和算法,两个月的速成班,号称学生就业率相当高。
但如果你想成为一名合格的硬件工程师,你就必须上几门模拟电信号逻辑设计的课程,并在学校实验室练习焊接电路,甚至连简历都发不出去。 而如果你现在想学习一门语言框架,你可以在网上搜索“xxx语言入门教程”,你会发现非常丰富的资源。 不过,如果你在网上搜索“如何学好VLSI设计”,就能找到可以用的东西。 资源几乎是不可能的。 而且就我参加的招聘会来看,如果他们要招聘硬件工程师,基本上都要求研究生学历,但对软件工程师的要求基本上是熟悉算法数据结构、Web编程和相关经验。
软件工程师往往依赖体力,而硬件工程师则大多依赖经验。 因此,硬件工程师一般需要具备一定的经验才能脱颖而出。 尤其是在像模拟电子这样非常容易上手的领域,十年、八年的相关经验并不算硕士学位。 因此对从业人员的资质要求较高,这也是硬件工程师找工作难的原因之一。
以上就是我认为软件工程师在短时间内会比硬件工程师更容易找到工作的原因。 但这并不意味着会编程就一定能找到工作,也不意味着硬件行业就会衰落。 软件工程师的职位有很多,但是每年都有越来越多的人从事这个职业。 虽然我认为软件工程师短期内不会出现饱和趋势(毕竟这么高的工资还在),但有一天这个行业也会像金融行业一样降温(人才供给超过需求)。
虽然大部分硬件行业已经进入夕阳产业,但曾经被宣告废用的供电网络,最近却被智能电网改造。 美国排名前五的大学也设立了相关实验室。 另外,物联网、车联网、智能家居等概念现在非常流行。 我相信,一旦相关成熟的支撑技术(能量收集、低功耗通信)和统一的开发平台出现,对硬件工程师的需求只会增加。 虽然这些产品仍然只是有背景的大公司做的(但是由于欧美国家对电子行业的封锁,国家在硬件设计上也花了很多钱,初创企业也会慢慢增多。我相信国内会有更多相关机会)。 毕竟,软件行业仍然依赖于硬件。 如何设计出低功耗、高稳定性、能够承载大吞吐量计算的硬件也是这个行业面临的挑战。 毕竟人工智能、机器学习、视觉处理等领域需要大量的硬件计算。 的。 没有强大的硬件支持,阿狗想要击败李世石依然是痴心妄想。
我现在是一家百强软件公司的实习生,为硬件公司设计软件。 我所做的大部分工作都是面向软件的,所以对正常的工作环境没有很深入的体验。 但据我观察身边的同事以及和别人的交流,无论是软件还是硬件,都是有必要的:是的。 和。 电。 脑。 。 。
软件工程师平时上班就是调试程序,水平相对较低的码农只能帮助高级软件工程师帮助他们做测试,实现自己设计的东西。 当然,只有成为高级工程师,才有能力开发设计自己公司的产品。
如果你在初创公司工作,工作节奏比较紧张,赶产品上线可能需要加班调试。 当程序爆炸的时候,你可能需要on call(就是你负责的事情突然出了问题,你的经理会直接给你打电话,你得立即去公司修复bug)。 至少我知道亚马逊有这个机制。 我还没有在纯硬件公司实习过,但从我了解的事实来看,硬件工程师不会比软件工程师容易。 硬件工程师还需要调试电路和脚本,反正也和软件工程师一起工作。 工作环境取决于细分的工作类别。 估计开发FPGA的就跟码农一样坐在办公室,搞MEMS、嵌入式的就长期驻扎实验室了。 因为大多数硬件公司都是比较成熟的大企业,工作节奏一般不会像初创公司那样紧张,但像华为这样的公司却又是另外一回事了。 。 。
当然,无论是软件工程师还是硬件工程师,工作强度都要高于其他行业职业。 毕竟这个行业的竞争会越来越激烈,而这里又是聪明人聚集的地方。 至于薪资,平均而言,美国软件工程师的年薪会略高于硬件工程师(来自glassdoor等门户网站的数据),但软件工程师的收入也较低,而硬件的收入工程师也被软件压垮了。 工程师。 只要你技术好,工资不是问题。
有人说软件工程师的前途更加光明。 我个人的感觉是,无论怎样,这两个行业未来都会有很多很多的机遇和挑战(详细原因见第一点)。 无论是软件设计还是硬件设计,下面还有更多的小分支(比如你设计硬件,你想做vlsi、dsp、处理器设计、通信、fpga开发或者嵌入式软件设计,你想做web开发、应用程序开发、软件开发、嵌入式软件工程师、操作系统或分布式系统)。 就我个人而言,我对这两个主要方向都很感兴趣,但我决定我的最终方向是嵌入式设计和处理器设计。 这两个行业应该被视为夹在纯硬件设计和纯软件设计之间。
尤其是行业对嵌入式工程师的要求更高。 能够自己设计混合信号PCB,能够自己调试应用代码和编写内核代码,能够调试无线通信,基本上意味着一个合格的嵌入式工程师必须对硬件和软件相关方面有足够的了解。 知识。 我个人很讨厌做web开发、app开发和纯软件开发的工作,因为这些工作的门槛太低,非专业出身的人可能混得比你好很多,无法体现自己的价值。 而且我更喜欢手里拿着电路板和各种元件的感觉,而且我发现能设计出可用的硬件时的成就感比调试后的成就感要高。 当你经过大学的培训后发现自己真的有能力学习知识的时候,丰富的网上资源和你自己的积累会让你学习这些web app知识变得非常容易,所以我个人更喜欢底层的硬件,以及硬件处理底层的软件领域。
软硬件课程都不容易,两科的工作量也不是其他学科可比的(学工科的每天做项目呆在实验室,学统计的下课回家看电影。 .)所以一定要学好,还是需要花费一定的精力,特别是美国大学工程系的工作量与国内大学相比有增无减。 确保这是您想要的,然后再考虑一下。
嵌入式的朋友们,看到这里,你是否也认同呢,我对嵌入式工程师的前景是多么的看好啊!