软件?硬件?工程师的职业发展抉择 - 和中兴资深工程师一起大啖Linux的设计与开发

2014年10月15日 12:03 来源:电子发烧友论坛 作者:陈晨 我要评论(0)

标签:Linux(205936)操作系统(121201)

  7、电子发烧友:“电子从业人员的发展方向”大概分为两类:软件工程师、硬件工程师,软件工程师一般又可以分为:底层系统、上层应用。您如何看待这三种方向的职业发展呢?

  韦东山:

  我刚工作时也曾是个硬件工程师,但是发现没人带的话很难有进步,于是转行做软件了。对于他的职业发展,我也只能简单说说。

  不少人问我,到底是学驱动还是学应用?

  我只能说凭兴趣,并且驱动和应用并不是截然分开的

  a. 我们说的驱动,其实并不局限于硬件的操作,还有操作系统的原理、进程的休眠唤醒调度等概念。想写出一个好的应用,想比较好的解决应用碰到的问题,这些知识你应该懂

  b. 做应用门槛低,特别是现在的ANDROID,纯JAVA。做应用的发展路径个人认为有两个方向:一是业务纯熟,二是成为某个专业领域的专家。比如在通信行业、IPTV行业、手机行业,你了解行业的业务需求。所以,当领导的人,多是做业务应用的。另一个方面就是在网络传输、图像处理、人工智能等等领域的钻研,这更多的时候像是在研究学术问题,而不仅仅是写程序。

  c. 做驱动,其实我不想称为“做驱动”,而是想称为“做底层系统”,做好了这是通杀各行业。我工作几年,做过手机、IPTV、会议电视,但是这些产品对我毫无差别,因为我只做底层。他们的业务跟我没关系。

  当应用出现问题,他们解决不了时,我就会从内核角度给他们出主意,给他们提供工具。

  在实际工作中,写驱动的活反而不多,更多的是从系统的角度解决难题。底层涉及的绝不仅仅是驱动,更多在于“系统”:它上接应用,下接硬件。很多疑难问题只能由底层的人解决。做底层的发展方向,个人认为是着眼于整个系统的技术专家。

  d. 其实,做底层还是做应用,之间并没有一个界线,有底层经验,再去做应用,你会感觉很踏实。

  有了业务经验或是掌握某项核心技术,你再了解一下底层,很快就可以组成一个团队。

  e. 我建议你上下兼通,做应用让你视野更广阔,做底层让你技术扎实。

  f. 就职位而言,永远是应用的职位多于底层的职位。所以,如果你找不到底层的工作,完全可以先做应用。在工作中把底层的本领也学会。在公司中,那些被称为“系统工程师”的人绝对是上下兼通的

  8、电子发烧友:工程师经常在谈如何找一个好的平台,您是如何看待这个问题的?

  韦东山:

  找平台,这是个技术活,或是个运气活。我有同学一直在腾迅做游戏,估计身家丰厚;也有朋友在公司分股票之前离职。

  就我个人经验来说,我先是在小公司上班,后来到大公司,各有利蔽:

  · 对于技术能力:在小公司里你会成为多面手,软件硬件生产调试你都会插上一脚,如果能潜心学习,对往后发展有好处。我在小公司里设计过硬件,到中兴做驱动时,可以跟硬件工程师一起研究原理图。现在创业了,还可以自己设计产品。在大公司里,每人专门负责一小块,你可以学得深入,并且有各种设计规范。

  · 对于人际关系:在大公司里,你会认识更多的人,认识各个部门的人,这对今后发展也有帮助。我辞职后接到的猎头电话,都是中兴的同事推荐的。现在缺乏哪方面的技能,也可以向原来的同事请教。

  · 对于收入:呵呵,看运气吧。有人被微软拒绝后成为了亿万富翁,有人则终身在微软里写代码;有人创业失败,有人单凭公司年终奖就资产丰厚。

  根据你的需求,能承担风险的能力,来选择平台──这似乎是废话,确实是。

上一页123全文

本文导航