为什么一些计算机专业的学生毕业后愿意从事软件而不愿意做硬件?

计算机专业主修计算机硬件原理、软件编程、编译原理、数据结构、网络等课程,与电有关的,只有数字电路、模拟电路。计算机专业毕业,要做一个合格的硬件工程师,还差很多基础知识,是不行,而不是愿意与否的问题。

计算机专业毕业生的从业方向,集中在操作系统研究、软件编程、系统架构的设计等方向,数字电路能分析明白,偏软件。

计算机专业优势很大。在编程上,一般的软件专业毕业生比不上,特别是做自动控制、通信相关的软件开发,那是为计算机专业毕业生定制的。

在系统架构设计上,计算机专业也有得天独厚的优势, 软、硬件都明白。从软件通讯协议制定,到硬件控制方式,时序分析,数学算法等等,都能很清楚地描述清楚。

很多硬件从业者,在系统结构上,体会的总没有计算机专业毕业生深刻,卡在了软件这一环节,主要是硬件设计者对软件的繁杂的协议搞不明白。

硬件设计主攻电子线路设计、分立器件应用、FPGA/CPLD编程应用等,主攻硬件设计,简单的单片机编程。

硬件用protel设计电路,用VHDL编写FPGA,是时下很时髦的。

但作为一个合格的硬件工程师,这些还远远不够。一般protel设计的PCB板,不可能一次OK,需很多次修改。比如,由于隔离不好,外部电路噪音对PCB板影响,导致误动作,需要进行抗干扰处理;电阻、电容选择不当,可靠性受影响。

看上去简单的问题,没有一定的电路设计水平,是无法解决的。这些小的修修补补,是专业硬件设计者的强项,但对于计算机专业毕业生,也许永远也搞不定。

一名在魔都生活的软件程序员

我是在从事于网站、APP之类的开发,同时我也是一个毕业于一所普通二本院校计算机专业的学生,记得我们刚刚毕业的时候,我们班一共五十多个人,大概有二十多个人选择了从事于软件开发,还有二十个人选择了考研,其他人选择了硬件或者其他行业。我来说说我做软件开发的原因吧。

1,软件开发收入稍微高一点。我老家是农村的,可以说是一个从农村走向大城市的孩子,记得当时我选择到上海来的时候,我妈妈却一直让我待在合肥,一贯比较坚持自己目标的我来到了魔都,开始了自己的魔都生活,的确,在上海的程序员薪资稍微高一点,实习生的时候我月薪是5k,我相信这在二线城市也算是不错的收入了。

2,软件开发感觉高大上一点。我在大学的时候就对编码感兴趣,一直都会去自学一些语言,比如前端、JAVA,每天下课的时候我都会来找空看看视频,去学习学习,而硬件开发我感觉稍微次一点,我不喜欢和硬件打交道。从小对电路板不感兴趣,而且我对硬件开发还有点偏见,说实话,我认为软件开发比硬件开发层次高一点。

3,硬件开发特别费脑子,而且天天和服务器打交道,而且需要经验,工资低。可能我对做硬件开发的不了解,大学的时候上过一些操作系统、集成器的课程,学的我是一脸懵懂,考试估计都是老师给过的,也考过华为认证,但是考了一次没过就不考了。

如果你是一名毕业生,我还是推荐你从事于软件开发,一栋豪华的办公楼,一台apple电脑,一杯咖啡就是你一天的工作,每天接触的都是IT开发工作者,而且工作几年之后没有薪资低于一万的(除非你不爱专研)。如果你是一名从事于软件开发的工作者,我们一起努力,加油。

一个从业七年的硬件工程师

1,硬件太复杂了,至今我还没有见过其他哪一个工种需要这么庞杂的知识体系。高数复变函数积分变换这些工程数学背景需求就不说了,就说工作中用得到的专业的数电模电电磁场电磁波,每一门都比C语言难学,而且C语言硬件工程师也要学,上学时这门课基本上70%以上的学生都能掌握。另外硬件还要学汇编,被广大软硬件工程师视作天书的一门语言,当年秒杀了同届90%以上的同学。

但是你以为学会了这些就够了?图样图森破,等你干了硬件才发现,还有电源系统设计,热设计,结构设计,emc设计,各种元器件和芯片原理以及使用方法和失效模型分析,各种总线接口,pcb知识,pcb布局布线知识,PCB可制造性设计。对了,还有高速信号处理,简直就是一门玄学,你以为你电压电流对了,线路接对了板子就能工作了?幼稚!时序,信号反射,串扰,地弹,开关噪声,差分耦合度,抖动,插入损耗,回波损耗,阻抗匹配的各种问题还在前方等着你,当然这些名词你们可能听都没听过。

可是上大学的时候和入行之前,鬼知道还要学这些啊?截止目前,相信国内还没有哪所大学开这门课。对了,硬件还要做项目周期管理和出BOM(也就是物料清单),产品成本管理,替代料管理,客诉处理,产品生命周期内的部分维护工作。还要懂和会大部分环境测试,可靠性测试,机械测试,兼容性测试,单板功能测试,噪声测试,emc和其他性能测试。

所以大学毕业之后,硬件五年才算入门,如果折算到学历上,最起码等同于硕士学历了,干得好的说博士也不过分(差别只是在于专和精),但是,这也才是入门。软件呢?不说那些培训几个月就上岗的简单工种,就是专业一点的,两年入门。干了这么多年,只看到硬件转软件的,从来没见过软件转硬件的。

2,成本。主要是以上所说的各种测试,便宜一点的设备就万用表,ACDC SOURCE,电子负载仪,其他的随便一台示波器几万几十万,高速的百十万。频谱仪,TDR,矢量网络分析仪,环路稳定性测试仪等等,也是没有一个便宜货。EMC测试的单项测试的仪器每台几十万,总共RE CE RS CS ESD SURGE DFT FLIGHTING等等十几项测试,就是十几种仪器,都没有便宜的,还有安规测试几种设备,这些设备还要配专门的实验室和操技术员(不是一般的技术员,也都是大学毕业的专业从业人员),就算你去租设备和场地,也是一个小时四五百,是的,按小时计费的。

曾经解过一个emc的bug,折腾半年累计测试了两三百个小时,加上人力样机物料等,花了20多万。其他的各种物料成本,小小的导光柱开模好几千,外壳打样一套好几百,开模更可怕,十几万二十万,其他的PCB板厂开机费,贴片厂开机费,钢网开模费等各种成本,一个字,贵!最贵的是项目周期,硬件如果出了问题改一次版本,很多工作和测试从头来一遍,快的话一二十天,慢的话两三个月半年。相比之下,软件出了问题,解解bug,敲敲键盘,成本要小得多。

所以做硬件,真的压力山大,这些年来,很少开心笑过,整天都一脸严肃如临大敌。已经成为一种职业性格了,恐怕一定要等到转行或者退休的那一天才能彻底放松吧。可以说硬件工程师真的是用钱和项目经验堆起来的。

3,地位不如软件,不管是在公司的地位还是社会地位,甚至在相亲市场的地位。说到软件大家都感觉是人才,说到硬件,大家都觉得是打杂的,甚至都没听说过,我已经无数次跟相亲的姑娘们解释自己到底是干啥的了,妹纸们听了半天,哦了一声,再来一句,听不懂你说的啥。

还有就是你听说过软件一怒删库走人然后公司倒闭的,但是你从来没听说过硬件一怒,拿锤子把设备机器砸一砸走人的。动静太大,容易被发现,走不了还要赔钱。软件敲敲delete,换换账号口令,删除几行代码,鬼知道?等到发现的时候,对不起,已经不是贵公司员工了。

4,钱途。你以为你受了那么多苦就要苦尽甘来了?呵呵,相同工龄的硬件工程师大概是软件工程师待遇的一半,真的是操着卖白粉心,挣着卖白菜的钱。

现在,你明白大家伙儿为啥不干硬件干软件了吧?

但是硬件是基础是地基,再屌的软件再高的大厦,都离不开硬件支撑,再复杂的架构再快的协议,最终还是要靠每一个单元门电路实现0和1的翻转。中国的电子科技发展,软件在飞速发展,硬件和芯片发展,还长路漫漫。如果你身边还有坚守在硬件岗位上的兄弟,请珍惜他们,因为软件工程师的每一个秃头和强大里面,都有硬件工程师的一份功劳。

综上所述,计算机专业毕业生,即使想成为一个硬件开发者,也有很大难度;但作一名系统架构师是绝无问题的。至于硬件、软件那个难度更大,真的不好说,但一般的软件工程师薪资高于同级别的硬件工程师,是一个不争的事实。没办法,只能委屈搞开发的硬件从业者了。

(0)

相关推荐