本帖最后由 原野之浪 于 2012-9-6 21:18 编辑
单片机(8位/32位)软件编程人员的核心竞争力在哪里?就是说在自己在某一行业里面自己的能力如何能做到难以替代或者说不容易被复制?
如题。
夜深人静,万籁俱寂,正是思考的时间。这几天,我一直在想:什么才是一个嵌入式研发人员的核心竞争力?
核心竞争力是个很有诱惑力的词,它意味着你拥有别人不能简单复制的能力、经验。在职场中,竞争只存在于你和你的同级之间,所以你要有他们没有的核心竞争力。
一.行业找工作时,并不光光是找职位,更重要的是找行业。不同行业中同样的职位需要掌握的知识技能是不一样的,比如同样是嵌入式驱动开发工程师,消费电子可能主要是做BOOT,通信设备就更看重协议和接口的实现。这样过个三五年转行的成本就很高了,因为你在这样行业中大量用到的知识另外一个行业可能基本用不到。
因此,在嵌入式的大家庭中选择一个好的行业尤为重要,就应用领域来说主要有消费电子、通信设备、安检安防、医疗电子、工业控制、汽车电子。总的来说,这几个行业都处于上升期,行业产值快速攀升,除非下一次技术革命到来,否则嵌入式还将继续长大。但如果一个个分开来,区别还是有的。
消费电子伴随着中产阶级的扩大和消费理念的强化在近几年成为成长最快的领域,从硬件到软件,从手机到平板,再到各种智能电视,嵌入式得到迅速普及,大有把你所能碰到的东西都变成电脑的架势,据统计,消费电子五年的复合增长率高达73%,在经济低迷的2012年,国内的消费电子依然有高速的增长。但消费电子升级快、压力大,分子风光,下面分母死伤无数,极高速的增长会不会带来泡沫还需要谨慎观察。
通信设备领域主要是电信基础设施、骨干网设施等组成,其增长的原动力还是网络更好更快更广和国家相关的电信基建计划,3G、4G,LTD都是烧钱的游戏。虽然你从2011下半年开始,华为中兴两个领头羊都出现了利润大幅下滑的现象,这主要是受全球经济不景气的影响,各国纷纷缩减了投资,但在未来2-3年内,收到新一代IPV6网络和3G普及的刺激,通信设备将迎来艳阳天。
工业控制是个很稳重的领域,不像消费电子这么浮躁,也赶不上通信设备升级的速度,工业控制讲究的是实用和稳定,比方说当今大部分工业控制方法都是古老的PID,工控机还装着古老的WIN2000。工控嵌入式的增长完全和工业增长指数联系在一起,越是技术密集型的工业就越需要嵌入式软件来帮助管理,所以最近经济不景气和虚拟经济的畸形发展已经压迫到了实体工业的发展,工控的增长会是一个慢而平稳的长期过程。
安检安防也是一个近几年快速爆发的领域,源动力来源于安全和维稳。一方面是单位需要,比如小区,饭店,学校,银行,另一方面就是城市安全需要,比如交管,街道。前几年在大城市掀起的摄像头风如今广大县城也正在上演,2011是安防行业值得庆贺的一年,这一年,安防从模拟到数字、从单机到网络、从普清到高清,再加之结合“安全城市”、“智慧城市”、“物联网”等概念,虽然现在行业整体产值并不高,但未来10-20年都将是安防设备大普及年。
医疗电子的增长已进入平稳期,盖因大小医院早已完成了设备更新改造,在未来的20年内他们将很少会采购新的设备,最近五年复合增长率为15%,不过医疗电子的增长希望已经转向了便携式医疗设备,就是我们常看到的电子血压计、红外体温计,便携式血糖仪之类的设备,复合增长率为24%,产值达到近40亿美元。但说实话根据生活经验,这些便携设备家里都不怎么用,更多的还是传统设备。当然了,中国有13亿人,随着老龄化加剧和国人健康意识提高,便携式医疗电子会有一个慢慢起飞的过程。
汽车电子适合汽车紧密相连的产业,下面的导航设备,车载娱乐设备,车辆控制系统都是准标配设备,可以说是一荣俱荣,一损俱损。汽车的增长率今年是14-15%,相信汽车电子也会保持一个类似的速度增长。
应该说,每个主要领域都是有不俗的表现的,相比其他落日产业,这几个领域都有个人发挥的足够空间。
二.核心竞争力之行业经验什么东西是不能简单复制的,只要不是书本的就是不能简单复制的。
什么是行业经验呢?我是这样认为的:每个行业都有一条长长的产业链,比如手机,从芯片销售集团或者说解决方案提供商(ARM/INTEL等+TI/高通/MTK等+代理商)到手机设计集团(软件方面:苹果/安卓/WP等,硬件方面:苹果/三星/微软/诺基亚等)再到手机生产集团(很多就不举例了)最后到消费者,这是一条主链条。
你所在的公司一般位于中间某一级别上,这样就出现了你的上游和你的下游,行业经验就是你在你的上游,同级,下游中的形象,更简单地说,你的上游愿意与你长期有诚意的合作,你的同级钦佩你的能力和人品,你的下游认为与你合作有利有信,总之在全行业树立起你的可靠形象是最关键的行业经验,其次就是技巧性的行业经验,比如说合作流程这些可以马上学到的东西。前者将是你的行业名片,后者将为你锦上添花。
但是行业经验并不容易积累,原因在于研发人员一般是铁屁股,没有机会走出去接触行业内部,上游有采购经理,下游有销售经理,你又有项目经理管,你只是执行项目经理和架构师的指令罢了。但如果不深入了解行业,你始终只是IT民工,没有发展的机会。
我觉得,当你投身研发工作3年后,你下面应该有3名小兵,对他们来将,你就是他们的架构师,你要充分把握这一机会减少技术时间,加强学习管理。对下,你需要为你的组员合理分配工作,管理他们的情绪,激发他们的工作热情,完成既定工作。对上,你要为你们组争取利益,并能在所有组面前清楚地表达你的意见和建议,目的只有一个:露脸,使上司认为你是一个综合性的人才。
在往上走,你成为高级技术人员后,你会有很多机会和同行打交道了,比如各种学习会、交流会、展览会,和他们建立融洽的关系很重要。也多和市场销售人员打交道,他们是你在这一时期唯一能获得上下游信息的人。
再往上走,就基本定型了。你可以考虑急流勇退自己创业、也可以走行业内技术专家、也可以走技术与管理结合的路线。总之,拥有哪方面的核心竞争力,你就适合往哪个方向走。
最后我想说一句:别把自己当做机器使,让自己沉浸在技术的世界里,一天到晚干着体力劳动,合理分配技术与社交的时间非常重要,不然最后你很有可能被钉死在一个中层岗位上,更重要的是你可能孑然一身,真爱无觅,孤伴终老。
三.核心竞争力之技术经验一个研发人员得以安身立命的根本就是技术经验。不过可惜的是,技术是很容易复制的。我曾经很自得于自己做过51/430的实际项目,但是说实话,这都不是什么核心竞争力,因为我做的项目也大量参考了网上前辈的代码,有的甚至是直接拿过来用的,我做的工作有大部分是代码的剪裁而已。而这个,我相信一个之前没有经验的电类本科生,一个月的时间也能学会。也就是说,我和他相比,只是多了一个月的优势罢了。这种容易学习,容易复制的经验,不能算是核心竞争力。你在网上找到的一切代码都只能算学习资料。
技术人员除了复制粘贴外,更应该掌握核心的原理性技术。什么是核心技术呢?就是本来没有只能由你创造或只能由你更低成本创造的技术,比如我的公司是一家从事多媒体处理的公司,我们要开发一个自动识别瞳孔的设备,核心就是瞳孔识别算法。这个算法可以从网上拿,从国外买,或者自己研发,网上的算法也许你看得懂,但如果不会优化,只会裁剪那还是白搭的,这就是原理性技术和技巧性技术的区别。从国外买成本高而且得不到源码,这样自主研发就是唯一一条路了,如果整个公司只有你有这样的能力根据客户需求从原理出发设计源码核心,那么恭喜你,你可以理所当让的拿着高薪了。
技巧性技术更多是指一种经验,一种积累。比如我积累了两年的单片机函数库、我在调试放大器时遇到书本中没说的问题等,这些都不是在书上就能学到的内容,而拥有这些经验会让你开发的速度变快。但技巧性技术绝对不是核心竞争力,因为它可以在短期内掌握。但有人会问“IT/电子行业中有些老人随便一句指点就足够让新人琢磨个半年,这种现象是客观存在的,这个不是核心竞争力吗?”,要注意的是,老人和新人是没有竞争关系的,因为他们本来就没在一个等级上,所以这种倚老卖老的行为构不成核心竞争力,核心竞争力只能在同级之间比较。
技巧性技术可以转化为核心技术,比方说我调试放大器时遇到一个诡异的问题,我用结果反推原因,再用理论验证,再而用理论上的调整规避问题,从现象升华到本质,从知道升华到掌握,就是这么一个转化的过程。但是不是所有的技巧性技术都能成功转化,技巧性技术本质上讲就是帮助开发的经验罢了,扎实的掌握原理并能举一反三才是核心技术的源泉。
说了这么多,总结一下。核心竞争力大致分成两个方面:深入的行业经验和扎实的原理技术。前者通过时间慢慢的积累,后者可以通过密集的学习掌握,但两者也都需要长期的实践巩固加强。
四.职位分析嵌入式开发涵盖硬件软件,开发链条很长,要根据自己的实际情况选择适应的职位。
嵌入式的职位大概有:
1.硬件工程师:
负责底层的硬件设计,主要要用到:
1.处理器:ARM9,DSP;Niosoll;FPGA(用于高速特殊场合)
2.PCB:EMC设计与仿真;
3.通讯:IIC,IIS,SPI,UART,CAN总线;RS232、PSTN Modem、网络、GPRS通信;
2.驱动开发工程师:
负责底层和上层的通讯,主要要用:
1.系统:Linux非实时系统/VXworks实时系统+架构/文件系统;
2.内核与BOOT:内核裁剪与移植、boot loader和驱动编写,驱动程序开发
3.上层接口:USB,网口,
4.底层接口:SPI、UART、IIC、I2S,CAN、IDE
3.软件工程师:
负责上层应用软件,主要要用:
1.CPU:51/MSP430/ARM7/ARM9;
2.外设:AD/DA、UART、USB、LCD;
3.总线和通讯接口:I2C,SPI,RS232,RS484,CAN,USB,以太网||||||BACnet、 MODBUS(或有实时性要求)
4.环境:Linux/QNX+ARM汇编;
5.GUI:VC++/VC#/LABVIEW;
4.系统开发工程师:
负责系统架构设计
5.DSP软件工程师:
负责数字信号处理部分,主要要用:
1.CPU:固定为一个小系列(如TI DM642/648/6467、TI C6000、TMS320C5000、Freescale StarCore);2.算法:熟悉图像、音频、视频相关处理算法很重要,要会修改和优化;
3.接口与驱动:网络协议(MAC、IP、UDP、TCP)等;
4.操作系统:架构设计和操作系统配置;
6.FPGA设计工程师:
负责高速信号处理和部分数字信号处理,主要要用:
1.语言:VHDL/Verilog ;
2.环境:modlesim、Synplify、Quartus、ISE、ispleverEDA;
3.调试:设计、仿真、调试能力;
4.算法:数字信号处理、滤波设计等算法;
5.接口:E1 Framer/Deframer、HDLC控制器、以太网MAC控制器、SDH Framer/Deframer、SDH Mapper/Demapper、SPI4.2、HiGig、DDR、PCI、PCI-E、DDR-II、HD-SDI
在一个完整的项目中,每个工程师分工合作,完成架构师分配的模块。每个职位深入研究下去的水都很深,一旦决定很难再顺利转行了,所以毕业选择职位时一定要慎重。总的来说软件方面的需求在国内更大,当然竞争也更加激烈。硬件很多是直接买国外解决方案的,所以硬件职位需求较少,但高级人才非常吃香。
五.结语写完这篇**,我还在犹豫研究生的专业是否要报“模式识别与智能系统”,这个专业偏向DSP和软件方面,究竟是不是自己想做的呢?一直没有内心的声音来拯救我。。。但既然大方向已经确定,我应该朝着更快更高的目标前进。未来有想法的时候在做修正。
最后的最后,祝我能顺利考上 上海交通大学 电院的研究生吧。阿门。 |