计科专业从事嵌入式软件开发多年,当初专业有80个人,从事软件开发的有20多个人,真正从事硬件开发不到3个人,特性上看软件工程师更加容易出成绩,学到了新的技能点能够在电脑上就能展示出来,很快就能培养自豪感。但硬件工程师需要长时间的积累,而且积累了不一定有机会做出自己设计的东西,但并不意味着硬件工程师的重要性不高,目前国内的在顶端的硬件开发设计方面欠缺很多,其实这也是中国的国情所决定,任何事物的发展总会先从简单的普及化程度高的方面入手。
为什么计算机专业的学生选择软件开发而不是硬件?
第一,当前时代对于软件开发岗位的红利较多,而且普及面广,不只是硬件这一个行业转行去干软件,各行各业转行干软件的都不在少数。
第二,硬件工程师门槛较高。在学校学习的时候,模电数电高频信号与系统各种专业课让人闻风丧胆,而且硬件工程师需要借助于工具和外部企业较多,从开始设计到最后作品呈现流程较为复杂,并且硬件作品出来之后还是需要软件工程师去编写代码才能运行。
第三,也是最重要的一点,大多数企业对于软件工程师的需求远远大于硬件工程师,而软件工程师拿一个相对体面的工资也比硬件工程师更加容易,当然,资深的硬件工程师非常吃香,但成材比例太低了。
相对于硬件来讲,软件开发更前沿,有更大的发展空间
我们说,计算机作为人工智能最主要的技术支撑平台,其驱动软件的应用更为广泛,而且其应用的技术也更为前沿!随着社会的不断发展和人工智能的进一步推进,软件开发当然也会拥有更为广阔的发展空间!
软件开发虽然也不容易,但是一旦做好了,收入会很高
正是因为软件开发应用广泛、前景广阔,所以其收入也比较高!我有一个同学的孩子,在大学期间,就开始开发软件,用自己赚的钱完成了学业!毕业后,自己又成立了软件开发公司,短短几天时间,年收入就达到了百万元!
高端硬件的核心技术都掌握在西方人手里,再突破很难
前几年,计算机硬件的主要生产商和核心技术基本都掌握在西方手里,比如英特尔等,又加之当时我们有过“造不如买”的错误观念!所以我们的硬件开发技术并不领先。从事这个技术研发不仅压力大,而且收入低,所以计算机专业毕业后,从事这个行业的人就少!但是随着美国对我国高科技技术企业打压和对芯片等核心技术断供的升级,我国以华为为代表的科技企业已在硬件和其他核心技术方面加大了独立研发的力度!相信今后从事硬件开发的人才也会越来越多!
软件开发学习氛围更加充足,每个人都会有一种从众心理,觉得大部分都选择了软件开发干脆自己选择软件开发了,目前国内的软件开发工程师差不多有500万,如此庞大的基数人群,自然在感召力方面显得特别有说服力。
现在从事软件开发的资料在网络上数量远大于硬件相关开发资料,在网络上找个C语言或者Java的开发群直接搜索会有大把,真正高端硬件少的可怜,这就是生态链概念,也是短时间无法改变的事实。
软件开发更加容易出成绩,硬件需要积累很长时间才能有产出,软件开发有一点非常好,有了想法直接就可以在电脑上编写代码实施,直接在电脑上就能实现了,硬件要真正的实践需要板卡真正的制作,周期长一旦出问题,这个板卡就废弃掉了,而且硬件的好坏需要长时间的验证才能下结论是不是真的能用,目前国内的硬件研发水准相比国际水准差距还不小,特别是在一些尖端技术上都需要突破,国内需要大批真正的硬件技术高手,填补科技空白期,这一点任重而道远。
软件开发工资普遍高于硬件开发工程师,就这一点让很多人直接选择站队软件开发工程师,顶级的硬件开发工程师薪资也很高,但需要积累的周期太长,无法和软件的成长速度相提并论。薪资因素很大程度上能影响到大学生的选择,毕竟在这个日益竞争激烈的社会,大家都会有很强的风险调控意识。
真实故事一:
作为一个从业十几年的开发工程师,对这一点有深刻体会,因为自己就是从原来的嵌入式开发慢慢转为纯软件的linux、web开发上来的,也看到公司一步步丢掉硬件业务,加大软件系统业务开发的。
单方面的说愿意做软件开发而不愿做硬件开发是片面的,这和劳资双方的供需有很大的关系,下面说一下看法。
从业者角度
毫无疑问做硬件开发比做软件开发难度要大很多,即使是硬软件参半的嵌入式开发。一个硬件产品,需求确定后,开始设计外形、画PCB板、焊接零部件、硬件驱动、嵌入式开发等等,有一个很长的开发周期,硬件工程师的技能更加专业, 相对而言软件工程师的技能就通用很多,开发工作与委托单位的行业流程更密切。另外硬件工程师对开发能力有很高的需求,就拿调试程序而言,很多问题就不是软件开发debug能解决的,有时候因为内存里一个字节写错或一个判断语句不够严谨就要 试各种方法定位问题,可能需要花几个人一周的时间才能解决。很多人不愿意从事这种消耗巨大时间和精力却要很长时间才能看到成果的工作。
从公司角度
公司开发硬件产品的投入要比软件产品投入大,承担的风险也大。单纯拿产品开发来说,软件开发投入的主要成本除了一些资质维护,就是人力成本了,开发环境之类大部分是免费的,有付费的也会用盗版,如果被查了,买几套正版对付一下。而硬件产品 的投入,除了软件开发需要的,还有零部件、掩膜费用、外形开模,都是真金白银地砸出来的,比如让别人提供掩膜芯片,是要达到一定数量才能供货的,并且只有大批量订货才会将单位产品价格降下来,还有开模,别看一个小小手持的pos机,没几十万连个 壳也拿不到。虽然硬件产品一旦商用,销量上去利润很可观,但周期太长,很多公司愿意做纯软件的项目,周期短、来钱快,自然提供的硬件开发岗位就少了。
真实故事二:
作为一名电子与通信工程专业毕业,软硬件都曾有过一番尝试且最终选择嵌入式软件行业的学生,发表一下看法。
计算机专业这个范围太宽泛了,缩小到电子信息工程或者通信工程一类的专业或许更能说明问题,因为这类专业确实是软硬兼修且更侧重对于硬件工程师的培养。对于大多数的计算机专业,其实跟硬件开发毫无关系,他们只需要根据成本及性能进行选择,这类人只有从事软件开发或者不从事软件开发这两种选择。
对于专注于培养硬件工程师的专业,比如微电子,电子信息一类,从事硬件开发的人也不在少数,而对于软硬件皆有培养的专业例如通信工程,则大部分会选择软件行业。
就我本人而言,也画过一段时间电路图,尝试干点硬件,但电路图到实际的作品中间路径相比软件而言复杂得多,而且板子出来之后还是得干一些嵌入式软件的活,因为在实验室单纯画板子没有那么多的活可干。所以最后基本上形成了一个人画板子,其他人都干软件的局面(在很多公司也基本类似)。而我,对硬件有一些基本的了解之后,就毅然走上了嵌入式软件开发的道路。
目前国家有意识到这一点也在政策上开始向高精尖的硬件技术倾斜,未来一段时间内可能会迎来国内硬件的爆发期,对于大学生如何选择?
1.兴趣的第一生产力,跟着自己的兴趣走,时间久了有些深层次的积累就会慢慢爆发出来,有了内在的东西在具体执行过程中就能显示出威力
2.根据自己专业选择,对大学生来讲专业是找工作一个非常重要的优势,所以尽量靠近专业来选择。
3.根据市场需求,如果在某一方面市场上有非常迫切,那么就可以毫不犹豫地去做出选择,把握好市场的红利期。
无论做出什么选择,都要发自内心地去喜欢,技术这类工作强迫自己去做很难持久下去,现实中不乏软硬都通的高手,工作过程中不要轻易给自己设置期限,营造好的潜力发挥空间。