最近电子发烧友(以下称'发烧友')采访了韦东山老师,本文是采访原稿,展示出来让大家更深入了解韦老师的同时也进一步学习嵌入式Linux经验。

机会总是留给有准备的人

发烧友:

为什么要学习掌握ARM裸机?ARM裸机与从事嵌入式工程师职业关联度如何?

韦东山:

我们讲解的ARM裸机,特殊之处在于:不使用IAR/KEIL/MDK等软件,而是在纯粹的linux环境下从0写代码。这些好用的开发工具屏蔽了太多的技术细节,比如:位置无关码、重定位、中断环境的保存与恢复、链接脚本。而这些细节,在后续的bootloader学习中是需要的。

除上述细节外,ARM裸机的学习目的在于:掌握如何编写程序来控制硬件。后续的“Linux驱动=软件框架+硬件操作”,我们先在单纯的裸机学习中掌握硬件操作,在后面的学习中就可以把精力放在驱动软件框架上。

我们学习ARM裸机的目的,是去学习后续的Linux课程,进阶为Linux系统工程师。不是要让你继续从事单片机开发,成为单片机工程师。

在技术层面,Linux系统工程师回头从事单片机开发,轻而易举;但是现在不开始着手Linux的学习,后续转型很麻烦。2004年我们使用51单片机从事车载电话开发,所做的软件已经算是单片机层面顶尖水平了──我们可以在单片机上开发自己的操作系统。

但是,我们同事纷纷感觉到了危机,单片机能做的事情太单一了。当年流行wince,Linux刚起步,我们选择学习Linux,现在wince已经没人提及,而Linux仍如日中天。中兴公司也是在2005年才全面从vxwork切换到Linux的,我有幸进入中兴与他们一起研究Linux。

在收入方面,大家尽可以去51job等招聘网站搜“单片机”、“Linux”,后者一般是前者2倍以上。

在发展方面,有了Linux知识,几乎通吃所有产品。我从事过网络会议系统、监控摄像头、楼宇对讲系统、安防、广告机方面的开发,我只是开发底层系统,不是开发APP,这些产品通通使用Linux。现在兴起的机器人、人工智能,它们要落地的话,运行Linux系统的硬件是必选项。

就身边事例而言,我是2008年离开中兴,随后几年里有几个同科室的同事也都离开了,他们都做Linux系统;现在都做得很不错。有人在联想做Android开发,有人在做POS机,有人自己创业,他们或是团队领导,或是有股份。

发烧友:

根据您的经历及见闻,现在ARM嵌入式工程师前途如何?含金量、薪资待遇呢?

韦东山:

理想很丰满,现实很骨感。所有行业的从事者都是在一个金字塔里,工作好收入高离家近假期多的人,都只是少数。我只能说,平均而言,ARM嵌入式工程师待遇较好,发展前途不受限。

说好话之前,先说丑话。

ARM嵌入式工程师入门门槛高,职位需求相对APP来说是少的,很多职位需要你有经验。

所以,有一部分同学最终只能转行:转而做单片机或APP开发。

但是,ARM嵌入式工程师所处位置非常好,向下跟硬件工程师打交道,向上跟APP工程师打交道,可以参与整个系统的开发,前途不受限。

我是个宅男,只能举身边的例子:我在中兴时从事嵌入式系统的同事,发展都很不错。

我的科长,拥有专业的Linux底层知识的同时,极具大局观,他向上研究APP的相关知识、相关协议,上下兼通,是中兴的产品经理、总工了。

同事A,早年从因POS机开发(用单片机),在中兴里天天加班深研Linux技术,现在在创业公司里当技术头头,有股份。加班多,但是收入高。

同事B,在中兴里是做APP开发,后跳槽到OPPO后,深研底层开发,早几年单是年终将就是我的年薪,现在自己创业。

同事C,女,跑到IBM做服务器相关的工作去了,嵌入式Linux的知识绝对是帮上大忙了。

同事D,深研Linux系统知识,人称大师,从不加班(羡慕死人了),有大BUG必定请他出马、出差。

对于嵌入式工程师,把Linux知识吃透了,可以游走于几乎所有行业,因为这些产品基本上都要用Linux。

想当领导的话,向上学习一下APP、业务知识,你就可以掌握整个产品的开发全流程了。

想创业的话,向下你知道需要什么样的硬件,向上你知道需要请哪方面的APP工程师。

对于暂时找不到嵌入式LINUX职位的同学,不用担心,你总会发现机会的。

做单片机产品的公司,产品升级的话必定要用Linux,到时你就是公司掌握先机的人;做APP的话,如果跟硬件相关,你的嵌入式LINUX知识会提供很多帮忙。

发烧友:

一个合格的嵌入式工程师,需要具备哪些性格和职业特征?一些理工科学生或刚毕业不久的工程师老说迷茫,产生迷茫的原因有哪些,为什么?怎么克服?

韦东山:

嵌入式工程师,必须具备的性格和职业特征:

究根究底:操作系统层面的问题,必须彻底弄清楚原因,彻底解决,否则隐患巨大。

绝对耐心:嵌入式工程师的代码量很少,多数时间是在学习新知识、协助调试。我在中兴工作时,曾经花了一个月来捕捉、解决一个BUG,最能只增加了一条指令。BUG随机出现,我不断地重启系统、重启软件;根据新现象不断地现学现用。

大局观:你写的每一个驱动,功能上要实现,性能上也要实现。需要结合产品的实际需要,根据APP的特点,调整你的程序。调试BUG时,从APP到驱动再到硬件,各种可能的问题都要考虑。

迷茫,唯一的原因就是对未来感到不确定。

我的专业是物理,在大一大二时深感迷茫,不知道毕业后能做什么,我选择了学习第2学位:计算机。

我刚工作时用的是51单片机,对所用的落后技术也深感迷茫,我选择辞职自学Linux。

我在中兴工作时,加班多、工资少、房价高,仍然迷茫,选择创业。

创业过程中,我录制Linux视频,期间iOS火曝、androidAPP火曝,很多人趁着风头做ios、Android培训,我也迷茫,最后选择不跟风:现在这些培训很快就冷却了。

我也算工作15年的老工程师了,也接近40岁了,仍不时觉得迷茫。但是我深信两句话:要收获,必须先付出;吃得苦中苦,方为人上人。

对于迷茫的工程师,我建议:

根据自己的兴趣,选择不太偏门的方向,潜心学习;选定方向后,不跟风不追热门。

发烧友:

您是否遇到过女嵌入式工程师?在嵌入式工程师职业上女性有什么优势和劣势?

韦东山:

我在中兴时就带过一个女同事,但是在这领域女性不多。

我认为嵌入式工程师特别适合女性,相对于APP开发,嵌入式工程师工作中的需求交化不大,代码量也不大,不需要天天加班。

劣势在于,嵌入式工程师入门门槛高,需要硬件知识、良好的英文阅读能力、多层面的软件知识(操作系统、驱动程序、APP开发),学习强度是挺大的。前期需要付出挺多。

名师引导更容易入门

发烧友:

很多新手学习ARM裸机都会很迷茫,请问在学习ARM裸机过程中容易遇到哪些坑?

韦东山:

很多小坑,如果自己去解决的话,估计要花上几个小时,但是有经验的人一眼就能看出来。

最奇葩:拿到开发板,把电源插到耳机孔去了。

大多数:粗心,很多人拼写命令时写错了,结果忙上半天找原因。

储备知识不足:开始学习时,我们只能照着文档写命令,这些命令的作用后面才会说明;如果当场就讲这命令,课程就会又臭又长。

所以,我们都会建议:按着视频学习,不懂的、没讲到的,先放着;后面学完你就全懂了。

发烧友:

成为一名具备一定开发能力的嵌入式Linux开发工程师需要具备哪些知识?

韦东山:

我先说合格的标准吧:能在一个新的板能上搭建出Linux系统,能写出需要的驱动程序。

所以,需要以下知识:

硬件知识:能看懂电路图,看懂芯片手册,看懂硬件协议。

英文阅读:上述资料基本是英文的。

C语言:嵌入式工程师常用语言就是C。

操作系统原理:有助于帮助我们理解Linux源码。

常用驱动程序框架:精通几个驱动程序后,领悟原理后,才有能力开发新的驱动程序

纸上得来终觉浅,你学完后,必须找一块不同的开发板,在上面把所学过的程序自己写出来,这样才能真正掌握──这也是我对新同事的要求。

实际上,很多公司招聘时要求有工作经验。对于嵌入式工程师,这个经验非常容易得到:你换一个不同的板子练习就可以了。

发烧友:

在学习ARM裸机或ARM Linux过程中,得到资深名师或导师的指引有哪些好处?

韦东山:

学习过程中,很多因为粗心导致的问题层出不穷,自己去解决的话很花时间;

嵌入式学习过程中,需要的知识非常广,自己临时去学习的话,进度很慢;能否跳过,自己也不知道。这时候如果能有人指引,效率会很高。

我在2005年学习时,市面上基本没有资料,我学非常痛苦,在论坛上疯狂发贴,那些问题现在回头看非常弱智,但是当时就把我卡住了:茶饭不思,时不时想砸电脑。

发烧友:

请问韦东山老师最终为何选择嵌入式授课教育?

韦东山:

生活与兴趣推着我走上这条路,没什么情怀。

我2005年适职自学Linux时,过程痛苦,把自己的学习所得写了一篇文章:S3C2410完全开发流程,发布在网上;然后就去中兴上班了。

此文流传甚广,人民邮电的编辑联系我,要我出书。

我答应下来,但是因为一边上班一边写书进度缓慢,于是在2007年辞职专心写书。

2008年书出版了,钱花光了,于是接受华清远见的邀请,去做兼职讲师。

讲课过程中,我采用完全不同的风格:从0写代码,边讲边写,大受欢迎,效果超好;慢慢有了名气后,游走于多家培训机构,天天讲课,天天现场写代码。

这样天天做同一件事,天天写同样的代码,实在是烦死人,决定自己录视频算了。

于是2011年底,发布第1套视频,承蒙学生们、工程师们厚爱,他们帮我一起打击盗版,口口传播,于是也就一直坚持到现在。

我发现,我有讲课的能力,可以把复杂的问题讲得非常清楚,非常形象。

我希望,众多像我当年初出校园的学生,他们有学习的渴望,我能帮他们一把。

所以,一直以来,我不吹牛,不强拉人学习,想适合学习的人不强求。

如果你要学习嵌入式系统,而我恰好经验丰富,你愿意的话我就教你。

悦已之作,方能悦人。这是我们公司的格言,如果做出来的产品你自己都不喜欢,别人怎么会喜欢呢。

在工作中,我就经常回头去重看视频(我也会忘记),从未感到脸红,因为我都是用心录制的。

韦东山:机会总是留给有准备的人(转)相关推荐

  1. 韦东山:机会总是留给有准备的人

    最近电子发烧友(以下称'发烧友')采访了韦东山老师,本文是采访原稿,展示出来让大家更深入了解韦老师的同时也进一步学习嵌入式Linux经验. 机会总是留给有准备的人 发烧友: 为什么要学习掌握ARM裸机 ...

  2. 机会总是留给有准备的人--韦东山【转】

    最近电子发烧友(以下称'发烧友')采访了韦东山老师,本文是采访原稿,展示出来让大家更深入了解韦老师的同时也进一步 学习嵌入式Linux经验.机会总是留给有准备的人 发烧友: 为什么要学习掌握ARM裸机 ...

  3. 从技术岗位走向管理岗位:机会是留给有准备的人

    摘要:机会总是留给有准备的人.在被从技术岗位提拔到管理岗位之前,技术人员就要具备管理岗位所需要的基本素质和能力,将功课做在前面,提拔只是最后一步.作者结合自己十年的工作经验谈了自己的看法. 机会总是留 ...

  4. 机会只留给有准备的人

    先前我写了一篇博文,叫"经验重要吗",想告诉大家:一个人的直接经验在其个人和职业发展过程中所起的作用非常有限,更为重要的是主动学习的意识和能力.但是很多人都在评论说很难懂,那么希望 ...

  5. 机会是留给有准备的人的

    机会是留给有准备的人,犹豫给不了你任何的好处. 一次又一次的财富机遇,您有没有发现一个定律,越是犹豫的人越是贫穷, 这是铁的定律,无人能够改变. 在当下咱们创业市场上有很多的风口创业,大多数的风口都不 ...

  6. 榜样访谈| 陈婧:机会是留给有准备的人

    CSDN 高校俱乐部是由 CSDN 于 2009 年发起,大学生自发加入的 IT 技术学习型组织.俱乐部已在全国 100 多所高校建立技术社团.在这些年里,一些优秀的榜样脱颖而出,我们有幸邀请到他们接 ...

  7. 机会永远留给有准备的人

    今天回校办离校手续,我们学校就要赶人啦!东跑西跑的累了一整天,回到住处觉得该休息下了:我要玩网游去了...不知道为什么老觉得心里不踏实. 说实话N久没玩了..也就是个消遣,记得昨天我玩网游的时候,一个 ...

  8. 如何从技术岗位走向管理岗位:机会是留给有准备的人

    机会总是留给有准备的人.在被从技术岗位提拔到管理岗位之前,技术人员就要具备管理岗位所需要的基本素质和能力,将功课做在前面,提拔只是最后一步.然而,从技术岗位走向管理岗位需要具备哪些素质呢?我结合自己十 ...

  9. 保研经验分享 ——机会总是留给有准备的人

    保研经验分享 --机会总是留给有准备的人 从对保研有着无尽的期待到对一个又一个的面试的忐忑不安,再到做出最终决定时的遗憾与喜悦的交织,保研之路就像是一次破茧成蝶的过程,会收获很多,包括经验,包括对自己 ...

最新文章

  1. 接私活渠道,你有技术,就有钱!
  2. Oracle imp字符集转换,imp/exp 字符集转换
  3. canvas 插件_基于Angular的Canvas手写签名插件
  4. 【MySQL】MySQL 8 Show innodb status 命令改变
  5. Java kryo/protobuf/protostuff序列化 or Json 性能对比
  6. Spark SQL面试题
  7. csrss.exe病毒的清除方法
  8. 电子统计台账:中文标记月度流水账格式数据的转换,以及过滤模板的普遍适配性
  9. c2c运营流程图_电商运营流程图模板分享,运营的核心都在这里了,快来拿走吧...
  10. office下载哪个版本比较好
  11. Logback文件详解
  12. 计算机光驱故障分析,光驱故障示例解决
  13. java爬取今日头条_今日头条抓取街拍图片数据集
  14. Centos安装RabbitMQ超详细(必须收藏)
  15. VS2010编译静态链接MFC的OCX遇到的问题:nafxcwd.lib(dllmodul.obj) : error LNK2005: _DllMain@12 已经在 LIBCMTD.lib(dllm
  16. SDL版仙剑奇侠传读后感
  17. nodejs 传递参数
  18. 搜狐html5,手机搜狐率先发力Html5技术
  19. 关于搜索问题答案的方式
  20. PB 饼状图制作过程

热门文章

  1. 他借钱创业成“暴发户”,身价上千亿
  2. 高可靠稳定获利的外汇交易系统
  3. visio反向工程使用mysql
  4. html 在div 底部显示不出来,html 设置页脚div一直在页面底部
  5. Vitamio 打造自己的万能播放器
  6. 全球速卖通为什么在俄罗斯卖得好
  7. TensorFlow入门教程(十五):验证码识别之多任务方式进行训练
  8. 传统的WebService开放接口RPC风格服务和使用restful风格的开放URL服务的用法
  9. pxa920 88pm860x充电
  10. T5557 读写卡详解