网站首页 > 家电信息> 文章内容

为什么在中国电子工程师不如搞软件的?

※发布时间:2018-5-9 20:28:25   ※发布作者:habao   ※出自何处: 

  做了9年硬件电设计,5年智能手机,4年医疗器械,看到这个问题,心情很复杂,自己喜爱的工作居然无奈的发展到了这个窘境。

  当初选择硬件是因为不想日复一日的坐在屏幕前面敲代码到天亮,硬件电设计工作中的元素要丰富一些,各种仪器,各种元器件,实验室,工厂,电脑前面画图坐个台,供应商来了再接个客,个人觉的要比枯燥写代码有趣很多。当时硬件还是产品的主要卖点,软硬件算势均力敌。

  但到了现在,依靠国内庞大的用户群,中国站在了全球互联网发展的前列,行业发展速度快,相关人才必定炙手可热,传统制造业与之相比,其实无论软件硬件,跟互联网行业都要差一个档次。问题是传统制造业内部,软件的发展也也要好于硬件,这是为什么呢?

  个人体会这种情况在不同行业情况也不同。消费类电子因为量大,同质化,IC厂家会针对性的提供完善的,集成的芯片解决方案,在早期的智能手机中应用处理器,基带modem,射频单元,音频单元和很多其他功能模块都是分立的,但现在满眼都是集成了各个通信制式和功能模块的单芯片解决方案,设计在这时其实只是应用,别犯错,整机射频音频EMC性能把住关就OK了,当然肯定也没这么简单,但不可否认这样给硬件设计留出的发挥空间少之又少。而硬件同质化之后沦为后台,产品体现差别的是软件,攻城拔寨创收的也是软件,舞台大了自然在公司内更加受重视,待遇和发展自然也好于硬件,但跟互联网和传统行业的差别比,这个差别相对小一些。

  另外一点很尴尬的是,硬件的精深,体现硬件设计水平的一些技术,在消费电子中慢慢变的没必要了,开始我们也研究对标诺基亚,想把质量做到最好,但后来发现手机大家玩一两年就扔了,根本不需要你设计的这么精细,高层领导还嫌增加成本,浪费工时。手机都这样,其他消费类电子更不必说,可以看出这个行业市场对硬件技术能力,需求并不高,此处深深的叹口气。

  在大型设备比如工控和高端医疗器械领域,硬件的处境就好很多,但对知识的要求也会高一些,不光数字电和嵌入式底层软件,模拟电,大功率,高可靠性设计的知识也是必须的。没有现成的芯片解决方案;没有现成设计可供参考,系统的庞大,很长的生命周期,可靠性设计相关的需求(出错可能出人命),都决定了硬件有更大的空间去发挥。深度的硬件技术也有了用武之地,我所在的公司,干了20年以上的大有人在。当时读了项目组里一个硬件系统工程师写的可靠性系统设计文档,自认为不笨,但沉下心读了三遍到现在还没完全搞懂,缜密严谨的逻辑很让人叹服,跟他讲他哈哈大笑,说这个的大部门里也就两个人能搞定,这也就是没法被中国山寨的技术门槛。

  在这种复杂度下,硬件工程师的受重视程度和待遇跟软件相当,我也跟人求证过,在软硬件待遇也处于同一水平。

  1. 互联网正在爆发式增长,风口上连猪都会飞,我们这些腿脚不好使的追不上风口,飞不起来就脚踏实地吧,行业有起伏,说不定哪天你吃饱正睡呢,就被卷了,这个时代,太多不可能成为可能了(诺基亚,呵呵),那天之前,起码,把体重减轻,方便被卷。

  2. 发(gong)展(zi)好坏由市场需求决定,国内企业从事高端制造业的较少,对硬件技术水平的需求不高,自然不愿意付那么高的薪水。

  如果你上了硬件的贼船还不想干技术了,可以考虑转项目经理,硬件跟供应链和其他部门的接触挺多,皮扯多了专业扯皮也没啥问题,职业前景也不错。

  作者:吴笛首先还是看数据:这是根据招聘网站生成的工资趋势图。蓝色是美国电子工程师平均工资,橙色是软件工程师,绿色是系统工程师。

  工资是雇主为员工出的价格。在市场下,决定价格的是供求关系。所以电子工程师的工资(价格)下降,说明电子工程师供过于求。事实上,大量传统上由电子工程完成的工作,正在变成软件工程的工作。硬件变成了软件。为什么呢?

  在远古时代(其实不是很远,15年前),IT行业的硬件初创企业相当普遍。比如,1997年,硅谷的创业传奇华人谢青 (Ken Xie)在车库里创办了NetScreen,一个专注于防火墙的网络安全公司。NetScreen后来被Juniper以40亿美元收购。那个时代,包括NetScreen,大部分硬件产品都是以ASIC和FPGA这类高度定制的芯片为核心的。2000年,谢青离开NetScreen以后,又创立了Fortinet,目前市值约38亿美元,在创立初期时的产品也是以ASIC为核心。

  之所以使用ASIC,当然是因为ASIC这类专用芯片的可定制性,能够专门为某类应用进行优化,实现更高的性能。在性能稀缺的时代,这样的定制是完全不可避免的。谢青的第一家公司,SIS,最终没有获得成功,最大的原因就是当时采用了软件解决方案,而当时的通用处理器能力不足以应对防火墙所需的处理能力。谢青认识到这个问题,自己设计了NetScreen需要的ASIC,仅仅三年就被Juniper收购。

  ASIC性能优秀,但缺陷是生产规模很小,并且需要单独设计,设计费用动辄上千万美元,因此每片芯片的平均价格非常高。

  在2007年前,这些通用芯片的性能都在按照每18个月一倍的摩尔定律高速提升。突然有一天,人们发现很多时候芯片的运算能力似乎够了,市场对更高性能处理器的胃口突然变差。随之而来的,是供应商在性能方面的不思进取:过去几年英特尔的主流芯片运算性能提升几乎处于停滞状态:

  这是英特尔2013年三款主流处理器,其中i7-2600K 发布于2011年1月,i7-3770K 发布于2012年4月,i7-4770K 发布于2013年6月。在这个档次上,过去36个月的处理器性能只不过增加了16%。

  这是2013年中国销量最高的10个台式机配置。里面主流的Celeron G1610之类,性能大概不到i7-2600K的三分之一吧…

  时间到了2000这个十年的中后期,慢慢地人们发现,便宜的、可以大规模生产的芯片的性能已经开始够用了,那么为什么要冒险投资上千万美元,设计一个还不知道能不能卖出去的芯片呢?实际上,过去几年,桌面系统和服务器系统的运算能力已经进入平台期。

  1. 费用:相对于专用ASIC动辄几百万上千万美元的开发费用,一个软件 + 通用硬件平台的前期开发费用也许只要几分之一甚至几十分之一。后期通用硬件的成本也相对专用硬件低得多。

  2. 风险:低廉的前期开发费用让软件方案能够迅速产品化然后得到用户反馈,用户的反馈能很快帮助决策者确定项目是否继续下去,大大降低了资本的风险。

  3. 灵活:获得用户反馈后,通常软件方案较专用硬件更容易修改。和灵活相关的,还有更容易定制,更容易提供App。

  4. 扩展性:市场对通用硬件的供应几乎是无的,而且软件代码可以无成本复制。如果软件 + 通用硬件产品大受欢迎,他们只需要从的市场上采购大量通用硬件就行了;但若是采用专门芯片,通常只能从少数厂商定制,从产品订单到交货之间的时间很长,常常超过一年。

  5. 可移植性:相对于专用硬件,软件代码更容易得到重(chong)用,嵌入另一个软件解决方案里,代码中的算法也更容易跨平台使用。

  有了这么多好处,大多数初创企业,甚至大型企业,都优先采用软件 + 通用硬件的解决方案。实际上,我们在评估风险投资目标或者收购对象的时候,采用专用硬件的公司是要被扣分的。

  我在硅谷从业多年,现在在苹果作软件,从我以往的大小公司的经验,我认为一个企业能做成的东西跟企业文化很有关系,比如谷歌在后台工作上非常出色,而苹果在精工上出类拔萃,但同样的工程师在谷歌做不出苹果的东西,而在苹果也做不出谷歌的东西。我认为归根结底,这是企业文化造成的,而不是能力造成的。

  反观东亚,象日本、韩国和,做硬件非常出色,但是写软件却有些一塌糊涂、无所适从的感觉。象我有个朋友在富士呆了四年,居然搞不出一个软件发布,气得他,现在在谷歌如鱼得水,几年过去,已经发布N次了,他总是说:等富士那个东西发布了,别人已经三代产品过去了。而相形之下,的软件业日新月异,不久前我们在硅谷的从业人员对的软件平台相当看不上,但这两年大家都认同国内的不少平台已经开始渐入佳境了。

  我认为深层次上,这其实不是个技术问题,而是文化问题。我们中国的文化,长处是有战略眼光,我们的历史人物也是那种有战略性眼光的人物,象诸葛亮那种观其大略,未出茅庐而三分天下,千百年来每次被中国知识提及总是神往,但我们的短处是不喜欢精于细工,在细节上总是略逊一筹,我曾经带过一个国内的团队,我的体会就是如果你让国内的团队做产品,他们的就是做到就行,至于你分配下去的步聚,他们往往会忽略,他们总是认为只的目标相同,做法不符合步骤问题是不大的,殊不知有些东西工作是工作了,但后期的扩展和变得相当昂贵;反观日本工程师,我也带过实习生,一样写软件,只要我设计好的东西,可以做得面面具道,绝不马虎细节,我说一二三,他肯定会多做几个半步,写出来的东西看着舒服,也极其好用,可是我让他从头去设计一个产品,就会搞得一塌糊涂,而且受日本文化影响深刻的和韩国同样有这个问题,精于细工,却疏于战略。我总是对国内的团队说:让你们炒个蕃茄炒蛋,我给你们十步,你给我只做了三步,日本人却给我做十二步。他们总是嘿嘿一乐,下次如故。

  而电子工程师和软件工程师却正好是两个不同文化的职业,虽然表面上他们很接近,有很多大学甚至把这两个专业放在一起教授,但事实上硬件文化就是要精于细工,而软件文化却是要有战略性眼光的。

  其实同样的现象在其它领域也体现得出来,比如高晓松说引擎的制造其实不重在技术,而是工艺。这一句话让我醍醐,因为我们可以看到世界上做引擎最好的就是日本和,而这两个民族恰恰就是在细节上不放过任何蛛丝马迹的民族。但同样制造火箭,需要大规模产业链配合的时候,日本就明显不象中国有优势,毕竟大规模集成是要有战略眼光的。

  最有意思的是,这种现象不光体现在工业上,即便是战争也是如此,象著名的日本偷袭珍珠港,从执行角度来说,估计也不会有其他国家执行得比日本军队更出色了,但从战略角度来说,不得不说这是一个很屎的计划。纵观日本在二战中与中国的战斗,其实往往都是赢在战术上,输在战略上,李仁将军说得很清楚,如果日本人有女真人或者蒙古人的全盘出击的草原民族般的豪情,那时的中国是扛不住的,但日本人偏偏是象酱油一样一点点滴进中国这个大缸里,一边滴一边还在研究自己到底做得对不对,最后战败其实是无可避免的。

  有点说远了,不过这是个很有意思的问题,我个人认为这是个文化问题,而不是一个技术问题,是人对技术的态度问题。

  其实现在有很多人对软件行业,包括刚刚从CS毕业的同学们,已经不了解了。在90年代中期,学校的知识和行业是连着的,行业知道的东西并不比学校多多少,基础的CS知识就那些,但是经过这近20年的发展,软件行业已经长足地进步了,但是由于高等教育机制和利益关系,并不适合企业中最优秀的人才回流去学校教研,所以学校和行业已经脱节了。

  有不少同学认为搞一台电脑就可以写软件了,那其实最多也就是写写客户端,写写s。技术是积累的,难度就在于大规模的有效发展和管理。我来举个简单例子,我们所有的人都可以造一堵小墙,就算没学过建筑,只要有板砖和水泥,肯定也可以造得一板一眼的,那我们可以问:造长城有什么稀奇?那不就是一堵大墙么?不是这样的,学过工程的人都知道,要调动上百万人,在几千公里的山脊上,把材料人员和各种设施送到位去做一样的事情,是很难的,尤其是在物资和人员都缺乏的古代,这种社会调动力是叹为观止的。长城绝对是一个伟大的工程,不管你用任何语言去察人类史上最伟大的工程,长城肯定是在里面的。

  再说个简单的事,很多同学面试的时候,喜欢问答算法问题,排序倒背如流,但如果你线%的人会完全茫然失措。软件工程和任何其它工程都是一样的,难的不是造一堵小墙、一个小坝、一辆玩具车,那玩意儿让我说就是沃尔玛的收银员都能干。软件工程最难的事是什么呢?就是你有几亿的用户或者无数的数据的时候,任何事都变得很困难了。

  现在大家再看看“不算什么”的谷歌在干什么呢?他们最基本的产品是索引了全球网站的数据和照片,全球大概有6-7亿个网站,每个网站一般都有几Gb到几Tb的数据(不包括那些视频网站),你们在谷歌搜索的速度是多少呢?半秒以内。谷歌的工程师分1-9级,1级的工资加股票就会有12万刀左右,2级的大概15万左右,到5级大概是25-30万左右,6级以上有不少是50万以上的年收入。象Facebook去谷歌和其他大公司挖人,经常就直接给100万的干股,而谷歌为了留高级工程师(Sr Staff)也会毫不犹豫地给出几百万干股的counter offer。如果软件真是那么容易,那我只好说谷歌脑子短了,这硅谷的资本家都脑子短了。这么多钱,能招到多少沃尔玛的收银员啊,这不打水漂么。

  我不想贬低电子工程师,电子工程师做的东西也是很难的,但是只要有有效设备和资源,多数工作确实只要一两个人就做上去了,这就是一个精益求精的领域,不需要太多宏观策略。

  电子工程和软件工程的区别是其受到挑战的领域不同,千万不要以为软件就是学了一些操作系统、编译器和数据结构的知识就一马平川了,还远着呢。

  作者:上官人拿我上一家公司来说,团队有两个大组,一个做后台数据抽取,一个做前端网站,云平台。后台的复杂度远远超过前台,因为面对上百种软件数百个版本进行数据抽取和清洗,每一个都需要良好的设计。而前台,我以前就是做(前)台的,无数现成的组件来供你调用。

  可是,薪水,关注度高的,都是前端的工程师。后台的默默无闻。前端一个月一次RELEASE,搞得,而后端组不解,那玩意儿我们不是每周都发布么?一到评选励之类,基本都落在前端,后端的基本看不到。

  我们需要明白,一家公司成立的目的是什么,运营的目的是什么。公司的目的,很简单,就是赚钱。运营的目的,都是为赚钱服务。谁为赚钱提供了最大的助力,谁就最受重视。

  销售是进钱的,财务是看着出钱的。这两头你抓住了,公司基本上是赚钱的。我工作过的,两家中型的,半成熟的公司,都是通过大量的销售人员,疯狂的销售模式,实现了疯狂的利润。

  而销售部门最重视的,是客户的体验,这直接影响了客户满意度。客户满意度,那就是销售业绩。所以其次重要的,是市场和TECH I,TECH II.这帮人是次面向客户的。这帮人将能够收集客户的需求信息以及反馈信息,并设计业务。

  而这些业务,被直观的展现给客户的,就是前端组的工作了。这就是同样在技术部,前端和后端的差距所在。说到底,是由于销售部门的需求,决定了技术部门的排序。

  所以,我们最重视的,有时候并不是客户的抱怨,而是销售的抱怨。如果销售抱怨因为某个功能的设计过于我们无法卖出产品,那比现有客户通过TECH I抱怨,优先级可高多了。