嵌入式工资为什么比纯软工资低那么多?下面,谈谈我的个人体会。
记得在1999年的时候,我离开大型国企,进入一家个人小作坊工作,做嵌入式开发,同时做软件开发和硬件设计,月薪是4000元。这对于当时身处四线城市的我来说,感觉已经算很高的收入了。
但后来由于一些原因,我转行到一家纯软件开发公司,工资只有1000元,再加上奖金1000元。当时我就觉得,“软件开发的收入比嵌入式开发要少的多”。
毕竟是小城市出来的,我对于这两个行业,以及软件行业内使用不同语言做开发的收入对比,没有什么具体的概念,只是从个人体会上直接得出的结论。
因为是做派遣的,需要用什么语言,都是由甲方来决定。公司创立初期,没时间给员工做培训,都是自己在私下不断学习。慢慢地就感觉到,从事纯软件开发,是真的需要不断学习的;否则很难在新的语言、新的数据库、新的开发架构下维持开发能力。
而之前从事嵌入式的时候,因为那个时候MCU的种类没有那么多,就是用51系列的单片机。而51单片机在大学学过,所以可以保持几年的开发方式都不变。PCB的设计,开始使用tango,后来改成protel,开发语言一直都用的是汇编,计算机也是一直都用DOS6.22的。实际上,那个时候做软件开发也用过dbase、turbo c、visual basic 2.0等,大学里也学习过pascal、Fortran。而Fortran偏于工程计算,不太常用。
通过这么一对比,我觉得,学习纯软件开发的功夫要比学硬件多太多。而且纯软件的开发种类和方向上,也要比硬件开发多。所以,从成本上考虑,纯软件开发的工资,没有道理比硬件开发低。
但事实上,在2005年以前,从事纯软件开发的我,一直都没有1999年以前我做嵌入式开发时的月薪高。直到我去日本后,这种情况才有所变化。我想,一方面是日本是个发达国家,整体收入偏高;另一方面,作为北方四线城市,无论我咋扑腾,收入也不可能太高。
当时我有一个年长的同事,转去深圳做电源方面的硬件开发,已经可以拿到9000元的收入了(大概是1999年左右,具体年份记不清楚了)。估计当时的深圳,做硬件的收入水平,绝对不低了,这也算是南北差异吧。
在从事软件的期间,我没有时间关心嵌入式开发方面的信息,所以对嵌入式开发方面的薪资情况一无所知。大概是2013年,因为孩子上学的原因,我彻底告别工作,回到国内,成为一名自由职业者。当然,我是软件和硬件都干,实在是因为兴趣所致,不想放弃。
当时曾接过几个私活,有软件的,也有硬件的。作为对比,对我个人而言,还是做纯软件的收入高。原因可能有以下几个方面:
一是,软件做了20-30年,商用的软件开发,其开发单价本身就比较高;
二是,大多数硬件开发公司都不愿意投入太多在研发方面,所以开发人员的收入客观上就被限制住了;
三是,在硬件开发上,虽然MCU一直都在发展中,但对于硬件开发者而言,相对稳定。基本上学会一种体系的开发,那么转到别的体系,也不会那么难。相对于硬件而言,纯软件的无论是发展方向,还是语言种类,都是非常多的,所以学习成本也高。
从我的个人理解来说,学习成本高,会对薪资有一定的作用。这就像招工,对于高中毕业生、普通大学毕业生、重点大学毕业生、研究生、博士生,其收入肯定是不一样的。所以,搞纯软件开发比嵌入式开发的收入高,这算是比较正常的吧。对于纯软件开发而言,由于开发语言的不同,而产生的收入差异也存在,可能也是和学习成本有关。
虽然总体上软硬件开发存在着薪资方面的差异,但有一点是永远不会发生变化的,那就是技术水平高的人,无关软硬件、开发语言、芯片、架构的区别,其收入肯定是最高的。年薪几十万的嵌入式工程师,在北上广肯定不稀奇。只要能付出辛苦、提高自己的知识点,无论做软件也好,做硬件也罢,都会得到理想的薪资。
以上就是我对嵌入式和软件开发方面的一些个人体会,希望这些观点能对大家在工作和学习方面有所帮助。作为这一期的话题,我也是想到哪里说到哪里,没啥条理,希望各位同行别太介意。
最后,对于薪资待遇这件事,大家还有什么不同看法?欢迎留言讨论!
作者:suncat0504来源:21ic论坛