本帖最后由 icecut 于 2013-7-29 23:03 编辑
致像我一样的**Linux者.在这里,依旧把Linux内核/驱动级代码成为神坛.很多没有进入这个行业的人一直在迷茫,我如何才能进入神坛?而另外一些在这个行业中的人,却不知道自己应该做什么? 这类人都有第一个特点,他们都是年轻人. 祝贺你们,因为你们还有梦想. 在这里我准备谈一下这个行业的现状.我要告诉大家那些公司是对初学者有需求的.我要从一个昙花型的公司谈起,其实大家都知道,当年签约约2300名应届毕业生,没等入职,解约一半.我真不希望这些公司拿着应届生的前途开玩笑,为每年大量签约又大量解决的某软公司表示大大的鄙视.但毫无疑问,某W公司为近年来嵌入式驱动培养的大批入门级选手.这些选手离开公司后都月薪过万.但是,这已经不是北京的高工资了.仅仅能够正常生活.此公司具有一定技术实力,有一些年老的技术人员一直呆在里面能够培养新学员.因为着急新产品开发,对人力资源有大量需求.经历融资,有大量的钱可以用于人员储备.最后需要应聘方是可塑之才.而这个公司又没有方案可以买.只有开源方案供参照.这种机会很少,例如小米公司,他们就拿到了很多高通的方案,于是,开发了一个界面就能做手机.现在已经很难找到一个瞬间崛起的公司需要入门级Linux驱动程序员了.没有这么好的机会了.另外这个公司的衰落让北京市场的嵌入式Linux内核开发走入饱和. 下面我谈一下,有比较稳定需求的公司. 1. 手机公司,每年走一两个,然后来一两个,工作内容就是给高通的破裤子缝缝补补. 2. 芯片公司,除了恒定养着那几个薪水不错的程序员之外,在市场赚好的时候有恒定需求,但是,需要你能够阅读大量的陌生代码和陌生文档,因为他们一直在接触新的控制器,因为任何地方都有可能出错,你遇到的都是和文档不一致的bug.虽然不至于吐血,也比较有挑战.当然,你可以不用跳槽就能获得20%的每年加薪幅度. 3. 一些已经使用嵌入式Linux的小公司,无论国外还是国内,都有一定的开发需求,山寨代码会多一些. 4. 想用高端芯片,却技术储备不足的小公司.这些公司需要高技术的人员.可能你去了也不会马上准备Linux开发.还要维护一些原有代码.当然钱会多一些.但是长薪幅度难以和芯片公司抗衡. 下面介绍一下如何能有机会做Linux驱动开发,首先要有强烈的软件功底.能够看得懂代码.而不是问的懂.其次是会大众需求的东西,比如你看看招聘网站,他们要求什么,你就学什么,到时候不能被问倒.我是比较推荐大家将Linux的usb框架看熟练,然后熟练一种底层驱动.例如三星/stm32/Xilinx用的usb控制器,都出自一家.或者ti am335x用的另一家的.例如9g45的usb控制器,还是别看了,太个性了.usb是消费品必备设备,usb3的兴起,给usb技术补充新的活力,而对驱动没有更高的要求. 然后我介绍一下,进入这个行业后你应该怎么做.首先看看这个公司有没有大侠.有大侠就低调多学,但是也要有所思考.多看看别人是怎么重构代码的,这个我可能会在下个月写一篇**介绍.因为有git,别人重构代码的过程完整的展现在你的面前.高手之间的较量,让你心服口服.不过也能看到**的代码.全当碰到一只苍蝇. 以上两步一般需要三年左右的时间,如果成不了高手,就成了混日子的人了. 最后,提醒一下大多数人,这些人共有的特点就是一边在学习,一边在山寨,一直想把书上学的用在驱动上,却不知做的是山寨的代码.我是最看不起这种人的,浪费时间,引入垃圾代码.暂时完成需求,但是长期难以维护,并且功能难以重构.Linux一直在用足够简单的方式完成任务,很多人都在吹嘘其复杂,反而显出他的无能.希望大家引以为戒
|