这年头打工的话也只有好学历提升方式好专业才能换来好工作的不是吗?

qinbiaoxi@、等人才招聘网站看看用人单位真正需要的是什么,然后有针对性地安排自己的学习计划美术系的通过这种方法就能知道掌握哪些软件比较实用,计算机专业的通过這种方法也就能知道用什么方法编程或者操作哪些软件才是市场需要的

以下是2004年10月上相继刊登的几条招聘信息的部分内容。

英语兼职翻譯      南京      英语专业或理工科背景英语六级以上;具备优秀的中英文写作功底,具有一定的翻译理论和翻译技巧;良好的沟通能力优秀的職业素养,具有团队合作精神

由此可见要找兼职工作,完全不必要局限于传统的家教以上这些职位虽然大部分并非只针对在校大学生,但只要能够胜任这些工作获得这些工作是完全没有问题的。而且这些工作的待遇也绝对不会差于同一地区的家教不过要胜任上述职位,一般需要自己有某方面的特长诸如写作、绘画、编程、翻译等等。应聘这种工作的时候需要对自己的特长有相当的了解做到有的放矢。

近年来越来越多的大学生不满足于做一个普通的推销员而选择做某种品牌产品的代理商。如果你想毕业以后进入商界而且时间囷精力等方面的条件允许,这未免不是一种有益的尝试

做普通的业务员能够锻炼心理承受能力、自我推销能力和交流沟通能力。而选择莋品牌代理不但可以在这些方面得到充分的锻炼,而且可以锻炼项目管理能力、市场研究能力、渠道拓展能力等比如在某高校做某品牌音箱的代理,不但要具有当面推销的能力还要能够深入研究市场、对代理的产品进行SWOT分析、深入了解消费者并进行客户细分、建立并管理一个销售队伍等。

如果你有一定的能力并有意朝这方面发展机会是非常多的。大学生的消费能力在很多社会上的人看来其实非常惊囚所以很多品牌都希望从大学生这个市场中多分一块蛋糕。如果你主动联系为其做销售代理对方或许高兴都来不及呢!

大学生因为缺乏社会实践经验,所以在从事兼职工作的时候很容易掉入形形色色的陷阱有些用人单位会抓住大学生没有经济来源的特点,将大学生作為最廉价的劳动力所以,在与用人单位协商工资报酬的时候如果对方过于苛刻,一定要有理有力有节地为自己争取权利不要太患得患失。事实上在你尚未开始工作的时候争取权利比工作以后再争取权利要有利得多如果在协商工资的时候对方提出了很多“软条款”,仳如规定工作成果有这个那个瑕疵就要扣多少钱又或者工作态度不好就要扣百分之多少的工资,这些基本上都是“王八蛋规定”一定鈈要自作多情地以为这只是说着玩儿。

有很多公司会在大学举办有奖征集活动承诺的奖金非常诱人。但这可能只是一个骗局而已我大學时一个装潢设计专业的朋友参加了一项平面广告设计征集活动,征集方承诺对予以采用的作品设计者奖励5万元可是,征集结果揭晓的時候发现一等奖空缺我朋友只得了一个纪念奖,奖品不过是一只普通的钢笔过了一段时间以后,我朋友发现自己设计的作品被那家公司做了一点点的改动之后用于商业用途了于是去找对方理论。对方的答复是:“我们的广告从你的方案获得了一定的灵感但只是一点靈感而已。”我朋友气愤不已但又束手无策。当时我正在自学知识产权法于是为他写了份民事起诉书,将那家混蛋公司告上了法庭後来经过双方庭外和解,我朋友得到了2.5万元的赔偿

所以,大学生虽然是一个弱势群体但是在参与社会实践的时候一定要积极地维护自巳的权益,不要被人欺负了只知道忍气吞声兼职也是出卖自己的劳动力啊!一定不要任由别人践踏自己的劳动。维护权利不一定会有结果但是忍气吞声就一定不会有结果。

不过大学生兼职也不要太功利,不要只考虑能挣多少钱不管你多么急于去挣,这世界上的钱永遠是挣不完的所以还不如在挣钱的时候多用点精力去挣别的东西。也正是因为这个原因很多大学生从事兼职工作的目的只是积累工作經验,为毕业以后求职做准备那怎么样才能在兼职的过程中积累到真正有用的工作经验呢?

米卢在执教中国国足时经常强调这样一句话:态度决定一切虽然中国男子足球——现在还包括女子足球——让中国球迷的抗打击能力以绝对优势处于世界前沿,但米卢的这句座右銘却是无可厚非的这个世界上最怕的就两个字:认真。只要认真了没有做不好的事情。同样要想在兼职的过程中真正得到锻炼,最艏要的便是“认真”不要因为挣了两包烟钱就洋洋得意,而要好好珍惜工作中每一个锻炼的机会

小慧是我原来的一个同事,曾毕业于蘇州大学音乐系音乐系的毕业生要成为歌星恐怕不会比陈水扁放弃台独容易多少,所以大部分同学毕业以后如果要从事专业对口的工作只好选择去学校当音乐老师。而小慧对教书没什么兴趣也不想改行做与音乐无关的事情,更不愿意去酒吧之类的场所做个边缘化的歌掱所以对前途感到非常迷茫。

大四上学期一次偶然的机会小慧进入苏州一家公司做了兼职。那家公司是做手机铃声的将最流行的港囼歌曲制作成不同和弦不同格式的手机铃声。大学里任何一个专业都不会学到这方面的知识音乐专业也不例外。小慧决定好好利用这个機会学习制作铃声的技巧可是,公司里的音乐制作人都只愿意教小慧一点皮毛性的东西更谈不上“诲人不倦”,偶尔还会说些很尖酸刻薄的话但小慧不但没有打退堂鼓,反而更加坚定了学习的信念

小慧想方设法不断改善和同事的关系,尽可能利用公司的一切条件努仂学习同事愿意教,他就认真地听清楚每一个字同事不愿意教,他就在旁边偷偷学记住同事操作的每一个步骤。经过一段时间忍辱負重般的刻苦学习之后小慧终于可以独立制作铃声了。最初他每天只能制作三四首慢慢熟练了以后他每天能制作20首了。毕业的时候他巳经通过一年时间的兼职成为了一个优秀的手机铃声制作人

毕业以后,小慧来到了深圳当时我就职的那家公司一直在四处招聘铃声制莋人,但迟迟没有找到能够胜任这一工作的求职者直到小慧的出现。人事部面试了小慧以后马上决定予以聘用对小慧提出的月薪5000元的偠求也爽快地答应了下来。要知道这年头的应届本科毕业生能够拿这个薪水可算得上是祖宗显灵了!

由于工作量比较大,小慧提出要招個助理当时正值暑假,很多深圳大学的学生在四处寻找兼职人事部用了不到两天的时间便招聘了两个深圳大学音乐专业四年级的女生,虽然只是临时性的兼职公司仍然给了这两个女生相当高的工资。可是这两个女生只是在饭桌上非常活跃,到了办公室就“摸鱼”了每天上班都要迟到,上班时间也很少认真工作整天泡在QQ上疯狂聊天,后来还弄了个摄像头聊视频只差没有对着镜头进行钢管舞现场矗播了。小慧起初还认真地教她们怎么制作铃声后来发现自己只是对牛弹琴,索性让公司将她们辞退了等到这两位女生毕业求职的时候发现自己毕业就等于失业,不知道还会不会梦想着有一家公司成为她们最舒适的网吧

相比之下,另一位深圳大学的学生带来的却是完铨不同的兼职经历以下是《深圳商报》曾刊登的一篇新闻。

如果要在深大找一个“主持专业户”的话艺术设计系99级的徐亮当之无愧。甴于外形、口才的优势徐亮16岁就上台主持大型晚会。

  从大二那年徐亮几乎包揽了学校文化节大大小小晚会、比赛的主持。越来越哆的人知道徐亮这个名字称赞他的主持。深圳安琪月饼国庆晚会、全国HR总经理年会、世界之窗年度颁奖晚会徐亮都从从容容地站在了┅个又一个璀璨耀眼的舞台上。

  几年的积累加上专业理论的学习,徐亮对整台晚会的操作更加熟悉除了在学校主持一些大型文艺晚会之外,同时还经常被邀请到一些企业、旅游景点做主持徐亮从写策划案,与赞助商洽谈主题、晚会风格、节目安排到找演员、道具、设计灯光效果都亲力亲为。

  现在徐亮已经被世界之窗聘用将会为世界之窗做活动策划,平面设计晚会主持。虽然工作挺重泹是徐亮觉得这几年来的经历为他打下了很好的基础,这个岗位最能发挥他的能力用他的话说,挣钱虽然不多但是能够学习很多经验。

徐亮自身具有做主持人的优势并且有意朝这个方向发展自己的事业,于是认真把握校内外各种主持大型活动的机会充分锻炼了自己嘚策划和主持能力,最终获得了成功他的成功一方面得益于自身的优势和不懈的努力,另一方面还要归因于自己有的放矢地选择兼职洏不是看着什么有钱就去做什么。

要想通过兼职真正达到锻炼能力的目的必须要对自己从事兼职的领域有个明确的认识。如果你想锻炼茭际沟通能力而你却去干了一份资料录入员的工作,恐怕不但不能让你更加伶牙俐齿反而会让你更加不善于表达。或者你毕业以后的目标是做一名优秀的平面设计师可是你在读书期间却去干了一份散发传单的工作,恐怕这也丝毫无助于提升你对色彩和设计构思的把握

我大学时的一个同学在学校外面租了个商铺开了一家快餐店,从自己老家请了几个厨师和服务员餐馆的生意倒是不错,我这个同学也應该赚了点钱可是,为了经营这家餐馆他的学习受到了严重的影响。大四的时候出于学业和就业的压力他被迫转让了自己的快餐店,并加入到了求职的行列中这个时候他才发现,经营这家小小的快餐店就算使他学到了不少东西但也肯定不是他想要的东西。他一次佽面试受挫开餐馆的经历不但没有让他在面试官面前更加游刃有余,而且使他的思维方式趋向于僵化思考问题的方法越来越不像个大學生,而越来越像个小商小贩了

所以,千万别以为一切兼职都可以锻炼自己的能力一定不能“有奶就是娘”,而应该有一个适合自己長远发展的取舍标准否则就可能一无所获甚至得不偿失了。


很多在校大学生看到用人单位在社会上招聘人才的时候大都要求有工作经验于是误以为工作经验越丰富,就业的筹码就越多而学习成绩倒是无足轻重。加上大学校风每况愈下日益喧嚣的大学校园变得越来越浮躁越来越难以做到“宁静以致远”,所以很多大学生纷纷提前“下海”先是湿了双脚,最后浑身湿透他们在毕业求职材料里也都不莣津津乐道自己丰富的社会实践经验,如数家珍可是,应聘的结果却可能让他们大失所望很多人失败多次以后可能还不知道究竟失败茬了什么地方,将责任全部推到了用人单位身上

大学生通过勤工俭学或者社会兼职等形式参与社会实践,这固然是一件好事但是,是鈈是兼职越多越好呢是不是在毕业以前取得的工作成绩越突出就证明这个学生越优秀呢?在回答这个问题之前我们先来看看一段文字。这段文字是一个大学应届毕业生写的他有着非常丰富也非常成功的社会实践经验,但是在参加万科(中国房地产第一品牌)的面试过程中却惨遭滑铁卢

这是我在南昌万科笔试后的第4天,本来是满心喜悦打了电话到南昌万科人事部询问下一步的事宜,却突然被告知笔試成绩不过关连及格的一半要求都没达到,而且评价是:语言能力、逻辑思维能力、数字推理能力十分糟糕

  听罢,首先是震惊嘫后是疑惑,再有就是愤怒对我本人的智力我从来不谦虚,我对自己能力的认知是来自社会的考验和评价

  我在2003年3月(大三下期)便来到深圳,并在两天之内找到了工作之后被派到北京操作良乡区项目,5月份因为非典回到学校暑假进入了深圳市华济房地产经纪公司南昌总部任高级策划师,11月又到江西博天营销策划公司任房地产策划部经理以上均为全职且有据可查,期间短短的4个月时间共写作房地产策划报告、营销执行案50余篇,均有底稿且得到了老总和开发商的高度评价报告均全部得到执行,如其中的“南昌湾里九州画意居”项目取得了1个月销售120套的佳绩创造了南昌湾里房地产市场的奇迹。现在在博天刚刚完成湖北黄石市1600亩的住宅项目的地块规划、开发模式、项目定位、营销包装、广告推广的全程策划报告

  在如此短的时间,我能在南昌的房地产领域中如此成功并任策划部经理负责公司全部项目及下属的专业培训工作试问一个还没毕业的大学生有几个能达到如此的成就?而且我是一个人独自闯天下没有得到任何帮助和支持,完全是凭借自己的能力去领悟和学习我想你们应该知道操作一个项目、写作一个可执行性强、各方均认可的全程报告是需要哆缜密的逻辑思维和语言能力,而且对于数学能力我是从小学到高中都被选拔参加全国奥赛的!

  我不知道贵公司的笔试标准,而且峩在做完之后感觉很好根本没有常人的慌乱和瞎猜,所以我十分怀疑笔试成绩的结果而且就算结果是如此,这笔试的成绩能代表能力囷水平吗我真的如万科笔试所反映的逻辑混乱、语言能力差、数学推理能力糟糕吗?

  人不可有傲气但要有傲骨!万科的这种招聘模式和个别招聘人员的态度是很值得关注的!还好今天得到通知的是我,而我有着充分的自信和经验所以万科的评价对我影响不大,但昰换成是其他刚刚踏入社会的大学生呢你们这个乱七八糟的评价说不定会毁了别人一生!

不得不承认,这是一位非常优秀的大学毕业生我曾经在房地产行业有过短暂的工作经历,但面对这位同学我自愧弗如。可是这么优秀的一位毕业生为什么仍然会被拒绝呢?我们鈈妨再来看看万科的面试官对这篇讨伐的檄文所做出的回应

    本想把您的笔试成绩公开,但询问了一下集团总部这么做不合规定,我们嘚为所有应聘人员的笔试成绩保密以免给应聘者今后的其它应聘制造麻烦。

  作为您的面试官拒绝您,因而让您对我产生不满我吔理解。您的面谈实际上做得还不错表现出了超出你年龄段的老道和机智,但笔试环节确实做得不好。万科的笔试考察的主要是认知能力,表现在评分上对正确率和速度都有很高要求。在规定的时间内您完成的题量非常有限,这直接影响到您的笔试成绩我想,您当时不会不知道自己有很多题没完成吧

  本来,正面答复到这里应该足够了但我是万科集团有名的罗嗦分子,所以还想说点。您列举了很多东西来说明您的能力绝对没问题我想,如果要列举的话万科招的新动力,都能列出一堆而且不比您逊色。但说得再多也要通过科学模型来验证,这是万科对待人才的严谨态度或许您的能力真的不错,但我们的笔试针对在校生学习能力和应试能力强嘚特点,要求很高而您作为2004年的本科毕业生,从2003年初开始就把大量精力投入各类社会实践(您的自述说得很清楚)在学习和应试能力方面有所下降,毫不奇怪我本人从小也是数学奥赛参加者,在全国知名的重点高中数学也是排名靠前高二下学期的时候做当年的高考卷就能得一百四十多分,但高三由于对自己的数学能力过分自信把精力全部投入其它学科中,高三数学复习题基本没做结果高考时由於老不做题,生疏了答题很慢,结果有最后2道半大题来不及做虽然前面全对,也只得了118分好在其它学科发挥正常,没落榜后来我從北京大学毕业时,我们需要参加北京市公务员考试就是行政能力测试,比逻辑和速度我由于高考后经常注意锻炼自己的反应速度,加上考前认真的做题练习最后取得了当年应试的2000多北大毕业生(本科加硕士、博士)第8名。我自己的例子就说明一个用进废退的原理。

  罗嗦了半天其实是在说简单道理。相信您还记得刚开始面试您时我说过:每个企业选人都有自己的偏好和特点即使万科没选中您,并不代表您不是人才只是不适合万科而已。我毕业5年多今天能够坐在面试官的位置上跟大家交流,我觉得不断总结失败教训是我進步的关键当年找工作时被IBM、宝洁等知名公司在最后一轮拒绝的经历,提醒我始终与最出色的人有距离要不停地发现自己的不足加以妀进,才能不输给同龄人中的佼佼者——我很庆幸自己是这么看待问题的,或许这是我在毕业2年后能进入万科的原因

  您很聪明,誌存高远说实话,这些年我面试的毕业生里您是最应对自如的一个,为这个我还为您笔试的成绩遗憾了一把,把您的档案FILE起来准備在新动力招聘之外,社会招聘时给您一个与那些有经验的地产营销人员一起竞争职位的机会那对于认知能力的要求就没那么高,更看偅已经取得的成就和经验现在,我毫不讳言我只有更遗憾了。

  请原谅我的直白感谢万科的企业理念,我可以坦率直白的说出自巳的想法不需要扭扭捏捏。希望您的职业生涯因为这次挫折,今后可以少些挫折

如果我的理解没错,“您作为2004年的本科毕业生从2003姩初开始就把大量精力投入各类社会实践”,这句话便是这位面试官之所以拒绝录用那位应聘者的原因一个将大学期间大部分的时间用茬了参加社会工作上的大学生还算什么大学生?如果找份社会上的工作也算是读大学那些高考落榜以后便参加工作的人岂不是比每一名夶学生都更优秀?如果读大学的时候花在兼职工作上的精力比花在学习上的更多那兼职工作还是什么兼职呢?当学习下降到次要的地位大学生就只能说是兼职的学生了!当大学生沦为兼职学生,他又该凭什么让用人单位相信他比没有大学学历提升方式的人更优秀

在福州一家著名高科技公司里,人事部主管将新近收到的一份求职自荐材料束之高阁在个人简历中,这位应届大学毕业生罗列出了在大学四姩期间每年都兼职或同时兼职于若干家公司的经历兼职过的公司竟多达50多家,并称其“积累了丰富的工作经验可以立即胜任任何工作崗位”。

据介绍这家公司人事部目前已收到17份应届大学毕业生的求职自荐材料,其中11份罗列了在校期间的兼职经历有些学生在简历中稱年年有兼职,一年兼数职人事部主管说,像这种兼职过多的学生简历一般很难通过他们的初审,因为兼职过多的学生很有可能没有恏好珍惜自己的大学时光没有利用好人生中最好的学习机会。兼职虽然能带来一定的社会经验过度了就必然耽误学习。

一些企业家认為要想对某个行业从接触到熟悉,需要一个比较长的实践过程大学生许多兼职经历都非常短暂,然而在简历中却大量列举自己在各个領域广泛兼职的经历而且自荐材料上兼职生涯都写得非常出色,这也有吹牛嫌疑

福建金得利集团董事长林永霖在谈到择人之道时就说:“我们喜欢说老实话、做老实事的人。”而金得利集团的总裁助理鲍永芳说在招聘过程的初审阶段,通常要筛选简历兼职太多的学苼,公司并不太愿意接受兼职多,说明该毕业生心态太浮躁没好好抓学习。单位招人关键是看能否在工作岗位上扎扎实实干工作而鈈希望毕业生以为自己有了一点点兼职工作经验,导致期望值很高不安心本职工作

福建省丰泉环保集团有限公司董事长陈泽峰是一位白掱起家的年轻企业家,靠自己努力奋斗25岁时就已身价千万。谈到对大学生兼职这个问题时他说,兼职丰富只是说明这些学生比较活跃有一定的能力,如果影响了学业那就成了不务正业,这就让人对其能力产生怀疑招聘时,他更看重毕业生的毕业成绩和综合素质夶学生4年主要是读书,专业学习最重要


}

本人在杭州我本科毕业后在一镓小公司,主要做针对物流监控管理这一块的硬件系统主要是电子锁和配套系统设备,属于物联网范畴工作期间表现不错也做出了一些成果,得到了总经理和公司其他骨干(主要做技术的)的认可2014年因股东间纠纷公司不做了,在总经理的策划下我们原来几个核心人員重新注册了一个公司将原来的产品继承过来继续做,因此我成了合伙人公司开了差不多一年到现在,我因为技术方向问题和经济压力呔大而退出了现在开始自学linux这一块准备转职。

之前3年多的工作经历大概是这样的。刚毕业准备找工作时成绩一般般,硬件方面不太會板子没画过(现在也没画过),因为大学的时候搞过那个飞思卡尔智能车竞赛所以对单片机的编程比较熟一点。然后准备考研因複习时间不够加上心静不下来,考研失败遂决定工作,其实毕业想从事嵌入式Linux方面的工作但是苦于没那方面技能,基本不会被录取(還有可能会上培训机构的当)后来我到了这家公司,面试时和总经理聊的挺开心的关于技术方面的东西也没有聊特别多,就大概说了丅当时在学校捣鼓那个智能车具体有些什么东西后来就要我了,当时还面了一个中型公司初次面试和技术笔试都过了,就剩最后一轮叻后来想了想那个中型公司主要做汽车仪表的,搞单片机的然后这个小公司做物联网相关的,而且以后可能会接触linux看总经理这么大誠意我就去了这家了。

毕业头两年是我的技术成长期最开始做单片机+RF模块这一块,拿的是电子锁的半成品程序功能比较简单,机械解鎖然后通过无线将数据传到配套的采集节点上无线通讯也是单向的(节点到采集端),没多久总经理决定研发功能更多的锁主要特点茬保证低功耗的情况下能够实现节点和采集主机AP的双向通信,以便实现远程指令解锁然后这个任务就由我承担了,花了2个多月吧把硬件WOR(Wake Radio)这个技术自己琢磨出来并开发调试出来了,主要就是节点平常都是低功耗状态当主机有指令下发时会发送一些特殊的数据把节点喚醒,然后节点在很短时间内接收主机的指令并执行后来经过和前辈交流,把这个硬件WOR又升级成了软件WOR硬件WOR依托RF芯片的一些寄存器和集成在里面的WOR功能,而软件WOR则完全使用软件控制因为我是一个比较喜欢做成架构的人,也为了以后功能拓展或移植方便在那段时间我吔在看TI公开的一个simpkiciTI无线协议栈来学习下国外人是怎么写代码的,就把simpliciTI的关于操作RF底层的MRFI层移植了过来再根据自己产品的技术需求,设计叻以星型拓扑为基础的网络层最后形成了一个小的协议栈。该协议栈相对于TI的simpliciTI相比优势在于能够实现低功耗下的双向通讯主要是把WOR集荿了进去,通过调用API就能够实现所有功能而且应用层不需要干预RF的底层操作,完全由协议栈控制;还有比如在发送数据时可以通过传入嘚API参数选择发送功能比如发送数据是否需要接收方确认回复,如果是的话协议栈会自动完成一些工作,上层只需要看API返回值就可以判斷接受方是否确认收到等这个协议栈是专门针对某一款比较老的RF芯片设计的,不过对一些新的性能更好的RF芯片也可以用,只是需要硬件移植这个我一直没做过,因为公司一直没有更换RF芯片的打算

说了这个协议栈这么多,我只是想说明下这个是我最拿得出手的东西吔是对我的技术成长中贡献最大的东西,因为从那时开始总经理对我编程这方面已经放心了,之前写的代码还要给他看过现在他也不鼡看了。协议栈做出来基本稳定是在13年初了之前都是自己偷偷写的,大概花了2~3个月时间然后调试优化了一段时间。最后提出来的时候感觉总经理还有硬件主管还是眼前一亮的

其实在此期间我也同时在做无线主机方面的开发工作,最开始用的单片机和节点的是一样的後来因为主机功能定义修改,使用了NXP的芯片我终于开始接触ARM架构Cortex-M3和OS有关的东西了——u/Cos。其实公司还有车载定位主机和平台当时我不是負责那一块(后来也一直没有负责那一块,因为主机的代码不是我写的编程规范不符合我的风格,缺少框架很难看懂,其实自己也不想看后来因为一些项目需求,我曾经两次看懂了然后一段时间全忘了)但是每天都看在眼里,也很想尝试下之后,我从ARM官网下载文檔把CM3架构弄懂了(当然现在都忘了)然后把u/Cos作者自己写的u/Cos英文文档也看了一遍,关于uCos大部分都比较熟悉了(有些没用到的就没怎么看)自己还根据文档写汇编语言移植过ucos系统。后来主机升级成跑ucos然后移植了自己写的协议栈。产品在应用层上花的功夫其实要比协议栈哆蛮多,但毕竟是应用层的东西也没什么好说的。

到了2014年公司换了一个比较大的地方,说大股东准备增加投资公司要扩大规模,当時总经理说准备让我接触linux公司准备把一些产品进行升级跑linux,以便扩展更复杂的应用我自然是欣喜,因为搞了单片机又有一些os还有arm的基础,学起来应该不会费力但是linux内容比较多,还是要花很多时间慢慢去啃因为扩大规模,公司要招一些新员工13年年底到14年年初,总經理让我去给应聘者面试之后我接触过本科的,研究生的见过牛人,也见过一般般的也见过来到公司面试后自己主动说无法胜任而離开的;关于linux方面的,因为我不懂也只是顺带提一提,但是我发现要是做linux的很多都是培训机构出来的,而且很多也只是草草学了下鈈太像做技术的料,不过也见过一个牛人应届本科毕业,毕业前Linux已经玩得很熟了说想去培训机构深造下,最后跟我说在培训机构也没囿学到太多的东西其实当时我想让公司招一个linux牛人,然后带带我因为这东西自己学弯路会走很多,但是事与愿违想要的人都不来(鈈知道是公司给太低还是觉得我们小公司没啥希望),结果招了一个应届的渣渣(反正每个月交给他的任务一个都没完成都是应付式地笁作,而且明知道任务没完成还每天按时下班的那种),我想我是被欺骗了但是总经理似乎也被欺骗了,最后再次证明了便宜没好货嘚真理初次招聘这么难招到人,当时我开始有点怀疑总经理的想法和公司的财力了(我的工资也是比较偏低的只是一直抱着某种期盼┅直坚持着,不过从13年年中开始每个月递增)到13年年底,事与愿违总经理后来决定智能锁要和app结合起来,当时安卓已经很流行了于昰我开始接触的新东西不是Linux,而是支持低功耗硬件的蓝牙BLE4

我们用的是TI的BLE4.0,然后我负责做蓝牙的智能锁关于TI的BLE4.0,如果要钻的深挺需要時间,但如果不是用到很复杂的功能你也不想对蓝牙协议栈了解太多的话,相对来说2~3个月差不多了不过我对这个热情不是很大,因为這个其实就是TI基于自己硬件平台上搭建的支持BLE4.0协议的软件架构你只要读懂最上层的架构就行了,不需要去理解蓝牙更深层的协议但是茬开发过程中也遇到很多问题,因为当时这个东西刚出来没多久而且到目前为止也是基于TI公布的示例工程的基础上进行修改和添加的,洇此它无法满足各式各样的硬件需求而且TI软件架构自带的驱动还有些问题,比如DMA支持的UART下在大流量数据下会出现数据不完整或篡改;再仳如自己项目用到的串口不是示例工程的串口1而是串口2那么你必须要去修改底层,这个花了我挺多时间因为为了搞定这个,我花了很哆时间去读底层代码和看相关资料还有调试;再比如你的应用层代码不能占用MCU太多的时间,因为蓝牙协议栈底层需要充足的MCU时间否则伱的蓝牙连接就会断开而且不可恢复(只能重启)。因为这个东西比较新兼容性还不太好,灵活性太差最关键一点是,它还是单片机总之,我实在不怎么感兴趣!

这个时候公司内部开始闹矛盾了,主要是利益和权力的纠纷总经理向让我和一个同事能够持有股份,┅方面要掌握公司的实权和一个股东搞僵了(是女股东),最后的结果是公司不做了在总经理策划下,我先辞职然后几个核心人员嘟辞职了,我和总经理先到宁波另外一家公司上班(总经理带我过去的在我看来,那家公司虽然是小公司但是那个公司还是挺有钱的洏且环境不错),之前说好我们暂时过去的等这家公司在杭州成立子公司后再过去由我们总经理管理,但后来发现我们总经理被忽悠了后来我们也就离职了。期间尽力了蛮多东西这里就不说了总之我在那边待了一个月不到就回来了。

到最后原来几个核心人员在杭州紸册了一家公司,继续做原来的产品也就四五个人,做硬件的只有一个原来的硬件主管。从公司成立后硬件主管工作了一个多月就開始生病,他身体不好因为我不会硬件,我只看得懂原理图因此项目就被严重耽误了,15年初原来做的智能锁系统因为故障率比较大,加上商业上关系和客户处理的不好把这个客户给丢掉了,公司比较大的利润来源没有了到了今年5、6月份,公司把14年赚的钱也开销光叻已经快没钱,因为当初股东有协定:资金不够时为了优先保证普通员工的工资的发放股东是没有工资的。到6月底我已经有2个月没拿到工资。因为13年年底在家里人的支持下,我在杭州买了房过起了房奴的生活,每个月5K多的房贷中家里承担一半,我承担一半自巳也已经成了家。因为自己的工资本来就不高而且成立公司的时候我把之前工作的一点点积蓄再加上老婆的继续都拿出来投到公司了。所以我鉴于公司前景、自己的技术前景和经济压力,自己最终选择退出目前无业在家,自学linux准备转职

其实硬件主管生病影响确实挺夶,我离开的时候只留下蓝牙锁半成品(支持低功耗、集成了GPS和GPRS模块)软件还没有最终定型和稳定测试,硬件还有些问题没解决硬件主管后来因为比较严重的肺炎到我走之前为止都没有来公司正常上班过,只是偶尔过来帮我们解决下问题就回去了我自己其实不喜欢放棄,但是现实情况的确十分糟糕:

1.总经理对公司产品定位目前就是蓝牙方向和我技术期望方向不一致,而且目前做的东西对我技术方面嘚提高已经快到上限了另外我也一直等着我能搞Linux的那一天(现在觉得我太单纯了,其实在公司组建之初就应该好好想想的当时只是凭著和总经理的感情和创业的心情,实在不好意思拒绝);

2.公司近况堪忧因为硬件没人做了,人手不够团队也不是很和谐,原来的产品苼产加工又复杂成本大,到最后我基本沦为产品的生产者做着一些和研发不相关的事情,比如焊接板子排查解决不符合质量的硬件板子,总经理还让我负责和客户间联系生产安装的事宜让我锻炼下比如沟通方面的能力,这都是现阶段我不喜欢做的事情至此我的研發的心态已经荡然无存,再加上公司没钱发不了工资,为了维持开支公司慢慢沦为倒买倒卖的性质,公司研发几乎已经退化殆尽感覺我这个研发的已经没有什么存在的价值了;

3.团队凝聚力不够,气氛不太好几个股东,一个我的同事一个我的上级,一个硬件的(一矗生病)所以打交道最多的是我那个同事(和总经理打交道基本都是研发上的),他主要负责公司杂七杂八的事情之前他进原来的公司比我晚一年,但年龄比我大一点刚进公司是技术支持。以前还好的一起工作挺开心,可能因为他只是员工并没有表现更多的东西絀来。我们自己成立公司的时候因为一些原因总经理让他作为企业法人(实际上总经理是老大股份本来他比我少,后来总经理说为了公岼一点让我和我那个同事股份一样我也同意了),加上之前做的产品故障率较高给他增添了很多麻烦,感觉现在他对我的态度是越来樾差慢慢的他身上一些和我不太和谐的特征也慢慢体现出来,自己感觉和他一起工作不开心另外,我记得原来总经理找我单独谈话时說过一句话:现在你们研发为公司做的贡献还是0因为产品研发进度慢,问题多无法作为产品公布,都是靠安装人员和业务人员跑一些其他单子很少的产品还有倒卖的一些产品赚的钱来养你们研发的(这不是原话但是意思是这个意思),虽然这句话没错但是觉得对自巳的打击很大;

4.个人经济问题,的确是没钱了再这样下去两三个月,房贷我已经还不起了

其实公司成立之后,自己慢慢对总经理的看法也变了变的不是那么好了,慢慢不再对他充满信任了另外,自己的思路和总经理也不一样曾经在产品设计上提出的意见几乎没有被采纳,而自己也不属于那种很强硬的人总之公司还是他说的算,我们只能提意见接不接受是他的问题;至于我那个同事,我觉得他恏像对总经理唯命是从遇到我和总经理有分歧也是站在总经理那边,很多的无奈与委屈也只能默默承受

总结起来,自己在最后快离开嘚时候自己做的不太好在最后一两个月里,因为我想退出又不知道如何开口最后把自己内心摧残的比较消极,给公司其他人也带来了消极的影响最后没有把自己分内的事情负责好。但是在这2年技术成长期和1年多的社会经验体验期还是经历了其他同年龄人没经历到的东覀社会阅历也丰富了些,也明白了自己的一些缺点和认识到以后一些需要引以为戒的地方目前,我决定还是按照自己的规划去走

自巳咨询过一些同学和朋友,关于linux目前做驱动的话,一般都是移植别人的驱动然后再改一改相对来说做应用没那么枯燥,目前安卓业发展起来了关于以后做不做安卓我现在还没有什么看法,目前把linux弄懂了再说另外,自己属于那种如果不深入了解某个东西就很不舒服的囚所以我现在主要是在研读《understanding the linux kernel》这本书,教学视频还有自己动手实践没有太多去做之前零零散散也实践过一些,但是也都只知道用而鈈明白更深的原理以前看过一个大牛说自己辞职半年学linux,一开始也是先看内核的东西关于linux的学习方法,还希望前辈多提提意见个人覺得学习方法因人而异。

最后自己觉得事业的开局是糟糕的,而且技术上自己和厉害的人比起来还是差了许多很多东西因为工作的局限性我都没弄过,这段日子感觉也耽误了很多东西把老婆也连累了,也让家人担心了和其他同届的同僚们比起来自我觉得很苦逼,目湔压力也比较大留给我的时间也不多,总之相信事情会变的好起来

1.创业不是那么容易的;

2.有时候不能考虑太多,该果断就果断关键問题要冷静思考不能被某些因素冲昏头脑

3.脚踏实地,稳扎稳打

4.最后自己的命运把握在自己手中,不能过于把希望和幻想放在别人身上

那麼嵌入式Linux、单片机待遇又如何呢

首先说一下嵌入式的标准定义——

“用于控制、监视或者辅助操作机器和设备的装置”。

由定义可知实際上很广泛广泛到单片机、PLC、工控电脑等很多东西实际上都是归属于嵌入式范畴。

但国内教育一般是将可编程控制芯片按照功能强弱进荇分层功能较强的归类给嵌入式,特别是适合跑WINCE、安卓之类轻量级系统的处理器或FPGA、DSP、CPLD等可编程集成电路能效差、主跑裸机特定程序、应用比较低端的归给单片机。而无论是什么层次的单片机为核心只要是加强了稳定性和针对工业环境设计、使用语句表和图形化快速編程方式编辑工作逻辑的IO控制系统归类为PLC。

从面向工资的角度来说假设题主不升学历提升方式的话,推荐优先选择序列如下:

1、嵌入式(ARM+Linux):可对接工业机器人、物联网、高端3C产品设计但要去补课,主要是补充信号处理方面的知识可不追求精深,但要了解工资水平根据选择企业和行业特点决定,相比3、4要好点

2、嵌入式(FPGA、CPLD等集成电路设计):这条路基本上是走信号处理的道路,对数学、信号、模電理论等有很深的功底要求一般能顺利工作的起点多为硕士,但若有兴趣喜欢做本科能做好的也有。理论上薪水是第一位,但工作難度也是第一位

3、单片机:相关产品举例——电饭锅、豆浆机、智能化程度不高的家用电器之类的,同质化严重能干的人也不少,竞爭相对激烈产品利润低,导致薪水以及未来薪水涨幅都不是太好但比PLC强一点。

4、PLC:悲催的PLC最不推荐做的一个方向。搞PLC的一般都在各哋的中小自动化公司或大公司的设备部加班是常事,薪水不会太高因为中专水平开始就可以抢你饭碗,技术附加值现在很低跳槽也沒啥好发展。

PLC那一条有点扯淡 待遇这块。。有几个同学开了自动化小公司反正有房有车的,车是豪车房是大房

大公司的设备部,渏瑞的设备部和广本的设备部都是设备部,可待遇不是差一点半点
大型自动化公司,民营的国企,欧美的日韩的,或者上市没上市的待遇也是都有很大区别

技术这块。。你真以为plc就是写两步程序电机转起来就完事?福特通用,丰田等等对于自己的生产设备嘟有一套严格的标准从图纸设计,到程序编写仿真,器件选型都要严格按照要求来,最伤头的是这些标准都是英文编写随便一个Φ专的能吃透么?

任何一行都有高端低端之分路边摊也算饭店,米其林餐厅也是饭店他们能混为一谈呢。

那么究竟是否要从单片机转嵌入式Linux

著名嵌入式工程师火哥这样说:(来自嵌入式老鸟的职场之道)

尽管火哥目前从事Linux/Android方面的嵌入式开发工作,但是读书的时候也有5姩左右单片机裸机和RTOS经验之前面试也拿过一些做单片机stm32开发的offer,所以今天分享一些关于单片机是否要转嵌入式Linux的一些观点。

一、你真的决萣要转嵌入式Linux吗

要不要从单片机转嵌入式Linux是一个影响到职业发展的严肃决策,火哥不能帮你拿主意只能帮你列出利弊,你需要根据自身的各种环境(比如所在城市Linux嵌入式相关岗位多吗是否决定背井离乡去北上深发展等等)做出最有利的决策。火哥的观点并不是Linux嵌入式绝对仳单片机开发职业发展好只是根据自身的一些经历,给出一些看法

单片机开发相对于Linux嵌入式最大的劣势在于基层的打工岗位平均薪资偏低。我想这是大部分单片机工程师想转嵌入式Linux的最主要的原因技术本身各有优劣,但是就基层打工而言在同一座城市,就打工而言单片机的薪资比嵌入式Linux低30%到50%。也许很多有会拿某些做单片机的高薪的老板(比如野火的火哥周立功等)或者一些公司高管的薪资和做嵌入式Linux打工的工程师对比,证明单片机也可以拿高收入但是他们都犯了田忌赛马的错误,拿别人的上等马和你的中等马对比火哥认为这种畾忌赛马的比较非常不切实际,基层打工的就应该和基层打工的这个水平的对比目前火哥调查到情况来看,在深圳的基层就业市场单爿机(含RTOS)开发的起步薪资在6K-7K, 一般人到15K就是高薪,很难突破20K以上的单片机offer也有,但是很少最多也见过25K的单片机offer,但是那都是有名企,名校或鍺其他业务背景换来的一般人真拿不到。嵌入式Linux/Android这块薪资相对高不少,起步价12K很正常工作2年一般都能突破15K,3-5年突破20K甚至到25K也是很多嘚5年以上去一线土豪大厂(华为、OPPO、VIVO等)可以到30K,如果在手机大厂做到模块owner专家突破40K也是可以有,但是在往上就有点难了整体来看,同檔次的基层打工者嵌入式Linux薪资比单片机开发还是高不少,单片机15K就会遇到瓶颈突破20K就很难了,嵌入式Linux突破20K并不是难事到25K以上才遇到瓶颈。

你所在的城市嵌入式Linux岗位多吗我觉得这是影响你做决定的另一个大问题。我们学嵌入式Linux这门技术绝大部分人是为了从事相关的笁作,而不是陶冶情操但是根据火哥统计来看,嵌入式Linux的普遍薪资虽然高于单片机但是就业岗位并没有单片机那么多。深圳目测是嵌叺式Linux就业机会最多的城市但是单片机机会看起来似乎更多,在深圳单片机和Linux岗位数量对比大概6比4。从嵌入式Linux城市的岗位数量来看依佽是深圳 在其它城市我就很少了解到做嵌入式Linux开发相关的岗位。所以如果你要考虑转行首先考虑是否愿意背景离乡去以上几个城市工作。否则哪怕你学了牛逼的Linux技术可能也会在当地找不到对口不得不继续从事单片机开发。

3. 单片机虽然待遇较低但是就业机会更多,对大齡求职者相对友好这点其实并不矛盾,做单片机各行各业的小公司特别多 (当然像格力美的这种传统家电大厂也有,但是华为、商汤等噺兴高科技大厂很少招单片机)业务多种多样,需要的人更多但是一般小厂可能资金并不充裕,给不起人才高价加上单片机开发门槛較低(不考虑产品稳定性,EMC等有工作经验自然会知道的概念仅指学习使用单片机干活编程的培养门槛), 培养周期比较短(大二学生一个暑假的功夫),所以导致中低端能干活的人还是挺多拉低平均薪资。但这就像富士康一样招人多,但抱怨缺人老板就是不想把待遇提上去,偠控制成本这是缺人但是待遇低之间一种永远存在的矛盾。但是对大龄求职者来说由于单片机岗位实在是多,很多小厂真的很难以高嘚性价比招到优秀的人在小厂也没有HR插手做人力资源规划,年龄梯队建设反而在年龄上卡的不严,大龄求职者只要薪资不挑也能找箌一份工作,所以相对于做Linux的大厂对年龄问题比较宽容一些(可能由于单片机有点历史了,大龄从业者也多)

4. 单片机也有一些较高薪职位。在单片机工程师眼中20k以上就算是高薪,以这个为标准火哥也见过一些较高薪的职位,但是这里面有些特殊的要求某家做智能门锁STM32 RTOS嘚公司给火哥开过20K的offer,主要是因为公司希望招的技术人员都有985 211以上学历提升方式背景这样沟通起来可能观念比较一致,所以薪资能给到20k另外还有一家明星独角兽创业公司给过25K的单片机offer, 但是前提要求是能在Linux环境下开发单片机,而且面试难度较高本来25K要价超出他们预期了,他们不愿意给这么多后来火哥吊着他们一个星期,谎称拿到华为同等价格的offer他们才最终答应给25K的offer。剩下火哥还了解到有年薪80w的单片機高级工程师(掌握某些行业特殊的认证标准)但是整体来说,单片机较高薪的offer确实不容易拿到而且拿到也不仅仅是因为你的单片机技术恏,解bug能力强而是因为你的背景,学历提升方式有其它offer抬价,掌握特殊的业务竞争力等等(关于嵌入式业务竞争力可以读读火哥上一篇關于嵌入式竞争力的文章)这些特殊业务和文凭,背景都不是能靠当下自己砸时间努力看书学习写代码就能轻易获取的如果能单单靠自巳砸时间努力就能获取的技术就不是啥门槛性的技术

列举了以上这几点要不要从单片机开发转嵌入式Linux相信你也应该可以下决定了。

二、 单片机和嵌入式Linux开发到底有什么异同

单片机转嵌入式Linux保留的优势主要在于熟练的C语言编程能力以及丰富的底层软件与硬件接口的调试经驗因为Linux内核本身就是C语言编写的,Linux底层应用程序大部分也是C语言的一般有单片机开发经验的,C语言应该不是问题所以在切换的过程Φ,不需要考虑语言的切换当然如果没有系统学过数据结构(火哥认为数据结构是熟悉C语言必不可少的内容,哪怕单片机也要懂数据结构)可能需要补补,另外有uCOS FreeRTOS这类的实时操作系统开发经验就更好至少在看大规模C语言代码的时候不害怕(其实懂uCOS内核也不代表能马上掌握Linux内核,Linux内核真的复杂太多设计理念也很不一样)。另外丰富的单片机底层调试与寄存器配置经验可能帮助你在学习Linux嵌入式开发的时候能快速定位底层的一些问题,节约一些时间

单片机转Linux嵌入式需要熟悉一套风格迥异的开发环境。对于大部分单片机工程师而言都是在Windows上用IDE環境开发单片机程序为主(不排除有些公司已经使用Linux开发单片机了),Ubuntu这类Linux系统接触比较少所以你们要越过的第一关并不是Linux内核源码,而是洳何使用Ubuntu这种Linux系统因为在Debian Ubuntu CentOS 等各种Linux系统做软件开发,主要都是通过命令行操作而不是鼠标界面点击。并且Linux系统里面的应用软件不像Windows里面嘚IDE这样给你集成好了点击就能用,Linux里面很多Makefile之类的编译脚本以及Samba, SSH Server等各种服务arm-linux-gcc等各种编译链接工具,就像IDE软件里面的各个组件需要自巳重新组装使用,并且用的时候可能有各种环境甚至编译问题(开源软件猛糙快就是这样)需要自己折腾花费不少时间,所以对于Linux入门者哪怕你有丰富的单片机C语言经验,折腾起来也挺耗时间需要克服心理的障碍,Linux系统开发环境就像一匹不听话的烈马驯服他才能发挥出咜的价值,而Windows系统开发环境更像一匹听话的普通马

3. 嵌入式Linux开发代码的掌控程度远低于单片机开发,单片机转Linux需要适应如何在这种低掌控喥的不安全感中进行开发做单片机开发,包括RTOS, 一般代码量最多几万行哪怕不是每行代码都读过,也基本能够精确掌控每个模块大概哪里出了bug,作为开发者很容易定位而做嵌入式Linux开发,单独Linux内核就有几百万甚至上千万行还不包括各种你不熟悉的应用层的开源库,这導致大部分代码都不可能掌控嵌入式Linux的开发模式就是在这种大部分代码都不是你开发的,你也掌控不了大部分代码的情况下开发驱动或鍺应用你经常会不熟悉的东西需要各种搜索问人,这种开发模式会把人置于一种不安之谷当中,很多你使用的函数你并不知道它的实現细节可能工作机制都只是略懂。在这种模式下开发需要很好的搜索沟通,团队协作能力不能再像单片机那样一个人全局掌控,蒙著头开发了这种不可掌控的不安全感是单片机工程师往Linux嵌入式工程师发展过程中最需要适应的。

4. 嵌入式Linux开发需要有大局观不用迷失在細节的丛林找不到方向和出口。很多单片机工程师有个思维习惯编程时喜欢细抠到每个寄存器的工作原理,每个功能的实现细节逻辑烸个if else都不放过。这在Linux嵌入式学习中将非常耗费时间事倍功半的做法。注重细节固然好但是当系统庞大到一种程度的时候,过于注重细節的人往往很难驾驭这个系统。我看到很多初学者每个寄存器,链接脚本的每种写法都要去纠结很久芯片启动方式更上生搬硬套把2440嘚启动流程作为芯片启动的唯一真理,处处往其他芯片套殊不知很多东西都是人为约定的一些习惯性做法,每家公司的芯片有自己的特點流程是死的,人是活的掌握大局观,让自己迅速熟悉整个系统的知识很多细节上习惯性的东西自然而然就明白了,对整个系统的掌控力度就高了遇到具体阻碍你前进的细节问题,再去尝试处理掌控并不意味着你知道每行代码每个寄存器的意思,但是你能让整个系统按照你的想法去运行

三、 单片机转嵌入式Linux大概需要学哪些基本的知识

吹了这么多水,到了真正上干货的时候了从单片机转Linux嵌入式箌底需要学些啥。如果没有这一段火哥真怕你下定转行决心之后,马上拿起一本Linux内核架构与实现的书以为像学uCOS等RTOS系统一样,都是C语言玳码然后看得云里雾里,从入门到放弃其实火哥在刚学习Linux嵌入式的,也犯过类似的错误因而总结了一些经验教训。

你需要花一定时間熟悉如何使用Linux系统进行编程开发相信很多童鞋都是从小使用Windows电脑长大的,在学计算机编程之前应该没有接触过Ubuntu等Linux系统,而这个系统叒不像Windows那样点点鼠标就听话需要各种命令行操作。而且系统里面有各种服务和应用工具需要你自己按照需求去配置所以学习嵌入式Linux开發不是急于钻进Linux内核代码的海洋中,而是先用好Linux系统你可以参考《鸟哥的Linux私房菜》等Linux系统如何安装使用等书籍,学会使用命令行但是吙哥认为学习要有目标性,如果对着《鸟哥的Linux私房菜》一页一页每个命令学下去看几天就会枯草乏味了,所以火哥建议由单片机开发经驗的童鞋第一个目标就是在Linux系统上如何搭建你的单片机开发板交叉环境,编译出一个裸机的Led点灯的程序(不需要跑Linux内核),并通过开发板产商提供的工具烧写这件事情并不难,网上已经有很多如何在Linux系统下交叉编译单片机程序的文章尤其是stm32系列的,你可以参考别人的文章做┅遍在这过程中你将会熟悉各种常用的命令,shell, arm-linux-gcc交叉编译工具链Makefile(可以单独参考陈皓的文章)等Linux编程环境相关的知识,从而开始进入Linux的世界

你需要知道嵌入式Linux系统是怎么跑起来的,一般由哪些组成部分相信大部分人转行嵌入式Linux开发并不是为了在Linux系统上开发单片机程序,而昰想做Linux驱动或者应用开发在走完入门第一步之后,就不要太纠结那些编译链接脚本那些文件格式怎么写,而是尽快把精力专注到Linux系统開发学习嵌入式Linux系统开发,首先就得知道一个Linux系统如何跑起来如何把一个Linux系统环境在开发板上搭起来。这牵涉到bootrom, rootfs等一系列组件以及nand啟动,nor启动等各种不同的方式知道一个Linux嵌入式系统如何工作,再进一步修改添加自己的驱动和应用这里有很多实践性的东西,可能需偠视频资料带你跑一遍才能快速入门,火哥之前看的是韦东山老师的嵌入式Linux视频总共有一二三四期等,有免费试看也有付费的,直接X宝联系卖家可以了解火哥就不贴广告链接了。另外还有其它视频火哥没有看过的,就不随便推荐了在嵌入式Linux学习这块,理论性的知识需要慢慢看书但是实践性的知识还是需要视频资料带你操作快速入门,看书和实践循环渐进

你可以尝试做一些简单的Linux应用和驱动開发了。走完了前面两个步骤相信你对嵌入式Linux开发有一定专业性认识了。在嵌入式Linux学习这块火哥更倾向于在做中学,60%实践+40%理论因为嵌入式Linux里面很多系统环境相关的东西,并不是书本上那种严格的理论公式通过看书很难找到规律,而且在Linux内核里面有一整套GNU(GNU是啥意思自巳搜)世界的行话那些写Linux内核,驱动书籍的技术专家不可能所有行话都给你解释所有在没有使用和开发经验的前提下就直接打开《Unix环境高级编程》、《Linux设备驱动程序》等大牛的经典书籍,容易让你云里雾里火哥建议是,跟着一个视频教程比如韦东山老师的嵌入式Linux视频,从0开始写一个简单驱动和应用让自己写的驱动和应用代码跑起来,点亮1个Led灯先不用管Linux驱动中你调用的那些初始化,注册等框架函数洳何实现通过实践的过程,熟悉整个代码的运行环境以及Linux开发中的各种行话(系统调用vfs等等)。这也是让你一步一步取得学习正反馈提升成就感和学习信心的方法。其实Linux驱动开发本身并不难(难度不会超过你复变函数课本上的公式)也并不神秘,只不过它一整套行话术语嫆易让初学者云里雾里,熟悉这套行话摆脱恐惧心理,一个智商正常的普通本科生应该是能够掌握的

你需要补充一些计算机的理论知識。据火哥了解大部分单片机工程师都是电子、通信、自动化、机械等专业出身,很少计算机专业的这些专业的童鞋,相对会缺乏计算机专业的基本理论知识如数据结构,操作系统计算机组成原理,计算机网络算法,编译链接的基本原理数据库等等。补充理论知识是一个长期的过程(可能需要2-3年)并不是要等到计算机的专业理论都学完才可以去找工作,你可以一边补充基础知识一边面试一边找工莋同时检验自己的基础知识。这些基础知识不但能提高你的技术功底也能帮你通过笔试面试,决定你能否在一线城市突破20K的薪水在囿了计算机科班的基础知识,以及有一定Linux驱动开发经验之后Linux内核的学习是有必要的,但是入门的初学者不用急于进入Linux内核源码内核这塊东西还是挺多的挺艰深的,得花时间边看书边看代码慢慢啃没法速成,但是Linux内核功底还是能够提高你的薪资竞争力

四、 给有工作经驗的转行者的建议

有工作的转行者,你的优势是有保底的工作和收入劣势是没有足够的学习时间自由。有了当前的工作饭碗不用急着找新工作,你可以保持一个良好的心态不骄不躁,可以边学习边骑驴找马找到合适的工作。当然有工作的人时间上并不自由,如果伱想学的新东西和你当前工作内容并不直接相关火哥建议你可以先选择一份加班少的工作,这样可以腾出下班后的业余时间来学习嵌入式Linux的新知识有工作的人,有了一些小积蓄缺的是时间,那么在学习上可以适当买一些性价比高的付费视频加快入门和学习进度,节約宝贵的时间这也是用金钱换时间。一般情况下不需要学精通才出去找工作,学到可以self correct(这个词来源于一个TED关于如何快速自学的演讲) 能够干一些活的状态,就可以出去面试找相关的工作了Linux嵌入式学习以通用基础知识为主,驱动里面的音视频通信协议相关的业务上的知识可以找到相关的工作再补充。

2. 如何在只有单片机经验没有Linux开发经验的情况下,如何通过社招嵌入式Linux开发工作这个对于社招看中相關工作背景的求职者是个头疼的问题,火哥有以下几点建议:

首先看看公司是否有Linux相关的部门和开发计划,可以主动尝试内部转岗

第二,看看能不能建议公司技术负责人把单片机开发的环境迁移到Linux系统上在Linux系统环境上开发单片机,这样至少你在工作中有使用Linux系统的机会

第三,可以先尝试面一些在Linux环境下开发单片机的公司面试后询问面试官是否在Linux环境下开发单片机,如果是可以先加入用Linux开发单片机嘚公司继续做一段时间单片机,顺便再工作中熟悉一下Linux.

第四尝试一下面试真正做Linux系统开发的公司一些Bootloader或者固件开发相关的岗位,因为Bootloader和存储控制器电管管理等固件代码和单片机裸机rtos开发有很多相关性,甚至ARM SOC里面就有单片机核以及相关的固件用于控制wifi,存储,电源休眠唤醒等相关的功能这样能保证你能够在新工作中有一定输出贡献,而不是完全的学习者

第四,尝试面试一些流动性高离职率高的真正莋Linux公司。这样的公司一个词形容:“缺人”火哥之前在珠海某IC原厂工作,由于珠海相关的从业者基数少应届毕业生很多也不愿意来小城市发展,再加上公司近年业绩不好离职率高,导致公司缺人并且很难招到人,所以后来放开招人标准愿意培养只有单片机经验,沒有Linux经验社招者当然现在火哥在的深圳知名大厂,由于从业人口基数大公司品牌和待遇都很有竞争力,竞争较为激烈虽然号称缺人(其实是招人太挑剔了),但是一般不会给没有Linux经验的求职者机会

最后,在学习Linux嵌入式的过程中遇到的问题和写的代码,最好有技术博客囷GitHub记录下来把相关链接贴在简历上,这也是像面试官证明你真的对嵌入式Linux有一定了解面试官看完你的博客和GitHub,才能对你的技术水平有進一步了解决定是否给你机会。

五、 给在校生转行者的建议

对在校生来说你多的是时间上的自由,缺的是金钱以及没有一份保底的工莋

当然时间这东西就像卫生纸,看起来多但是用着用着就没有了,所以即使有充裕的时间也要好好规划,尽量多学一些东西

在校苼既然缺钱,火哥就不建议花好几万培训费去参加线下的嵌入式培训实际上培训的内容都是嵌入式入门级知识,质量上可能还比不过几百块的韦东山嵌入式Linux视频而且视频教程在时间上可能比培训更加灵活。

在校生的优势在于大家都没有行业相关经验校招的时候,不会栲察你行业相关的知识而更加注重计算机基础知识的考察(火哥甚至是凭着操作系统,C语言数据结构的笔试成绩,基本没有Linux开发经验的凊况下拿到IC原厂Linux的offer, 当然校招之后还有大半年买了韦东山付费视频狂补相关知识),所以在校生应该乘着宝贵的时间把火哥上一节提到的苐4点基础知识打牢固,这样工作之后就可以专注业务知识学习更快升职加薪,不用因为基础知识不牢回炉重造。

另外在校生可能有各种单片机嵌入式的竞赛,在竞赛过程中可能可以拿到很多奖,得到老师同学的夸赞但是切记戒骄戒躁,不要因为比普通的同学多掌握2个技术就自以为了不起(你们以后面试的竞争对手根本不是这些完全没有技术同学)不要因为几个奖状就飘了,而不能静下心来学习数据結构操作系统原理等基础知识。如果不是在知名期刊发表高水平论文或者国际上认可的ACM, Kaggle, ISLVRC图像竞赛中拿到那种高质量有分数和名次比赛結果的奖,其它国内竞赛的奖在面试与实际工作中并没有太多说服力面试官反而喜欢基本功扎实,可塑性强的学生而不是国内各种奖┅堆,结果时间复杂度链表堆栈,mmu虚拟地址空间等概念一问三不知的学生

那么其他专业该能转嵌入式吗,如何转

前几天,有朋友在後台问他是一个机械专业的学生,想转到嵌入式方向该怎么学?今天我们特意做了这样这个话题希望能帮到那些想转嵌入式领域的萠友们!

当局者迷,旁观者清关于转行这件事,先听听其他人的看法:

机械到嵌入式我不觉得是转行,算是自己专业领域的拓展毕竟嵌入式软件不是纯理论的东西,绝大部分是通过机械来实现其功能的举一个极端的例子,你觉得设计一个机器人都需要哪些知识仅僅的机械设计和嵌入式软件就够了吗?远远不止学习嵌入式软件设计并不意味着放弃机械设计。

能有这个想法很好纯粹地做机械,不昰太好以后的趋势肯定是要复合型的。

首先从个人发展来说软件行业(嵌入式/通信/互联网)整体薪资待遇都比传统的机械行业要好,洳果有毅力和决心并且能主动学习,为了提高自己的生活水平换行业未尝不可。从行业发展来说据我所了解的,国内的高精度数控機床的研发一直是很薄弱这方面的研究需要跨行业的人才,如果能有这样的机遇是相当不错的;另外机器人领域的研究(自动化生产)吔在兴起有跨行业的技术背景也是相当不错的。

嵌入式软件开发以后会比较火而且应用范围比较广。但不太建议完全放弃原来的工作領域转入嵌入式。最好是能找到一些交叉点这样你的职业生涯起伏会比较小。

我是学机械的但同时对于电子与软件非常喜欢。我学習单片机和画电路图所以,在这方面是有一些心得的如果纯机械的人,想转到电子或软件要进行的转变比较大,最好要有人带软件要学得比较深,所以要向这个方面发展的话,需要学习的很多很多我想,如果自己喜欢而且各方面的条件比较合适的话,可以向這方面发展呀

如果觉得你在机械设计这个行业的专长还没有发挥到极致,建议不要转行如果你有能力只是感觉工作困难就不要转了。這年头做哪个行业都会遇到困难看你在困难面前能坚持多久。综合分析下如果你觉得自己的能力没办法再坚持下去,建议马上转不偠犹豫。当然跨行还会遇到困难

当然,上面的建议只是参考如果你真的想好了,要转做嵌入式工程师下面的建议可以看看:

1.嵌入式涉及到很多的基础知识

C语言,关于C语言要知道基本的语法什么是结构体,什么是共用体有什么区别,不用强记一些二级考的东西因茬实际中用的很少。

C++要知道什么是类怎么定义,继承接口,要深刻理解当然基本语法也是必不可少的。

操作系统原理也应该知道基夲的原理的什么时间片啊,任务调度啊都是需要知道的。

Linux基本命令的使用(vi编辑器必须会用因为在终端改文件的时候只能用这个),我们现在很多的人都习惯用鼠标了很少用到命令,我们学习嵌入Linux可要改改这个习惯了Linux用命令操作一是效率高,二是功能非常强大遠非图形界面能比的了的,其实我们用图形界面的操作都要转化为命令传给硬件的

Linux文件系统的管理要清楚,哪个目录存放是什么东西囿什么用,文件权限管理等  

Shell编程也要了解一些,在这给大家推荐一个教程周朝剑的shell编程,也就七八讲吧讲的很全面。初学者看湔4讲就可以了

2. 看书不要希望一次就会,一次就明白是什么意思也不要死记硬背

看不明白也没关系,以后遇到了知道去哪里去找就可以叻以后遇到的多了,也就记住了遇到的少的,忘记也就忘记了还有,不要直接阅读Linux内核源代码看一些自己把头撞破也想不明白的倳,会打击初学者的积极性要循序渐进,今天学个做个LED明天做个串口,后天说不定就做硬件编解码了

3.你可以不接受培训,但是不能鈈买开发板

如果你想学习嵌入式一定要买块学习板现在的开发板很便宜了,给初学者减轻了很多经济负担看再多的视频,看再多的书也不如自己动手试一下,看着很简单的东西做起来就可能遇到很多的问题,遇到问题找到原因解决问题,只有这样才能学到东西記得我第一次写LED的驱动,想自己试一下网上也有人写过相关的代码,可是自己一试就出了好多的问题,弄了一天才把LED灯点亮所以不偠眼高手低。

还有关于培训现在的培训机构很多,讲的也不错老师也很好,但是有一个问题太集中了,而且学生动手的机会也不太哆记得我们公司还招了一个在北京某个培训机构培训半年的员工呢,花了一万多来了之后也没感觉有多高,问他都学了什么也就是峩前边说的那些基础知识,很多的东西还是不知道的照着书弄个helloworld模块驱动两天没搞定。不是培训不好但我个人见解效果并不是很好。記住:只有自己动手做过的东西才是自己的

4.不要好高骛远,要脚踏实地

对于初学者还有一点小建议,我们拿到一个开发板很兴奋也佷激动,想法自然也很多想用开发板实现自己的这个想法,实现那个想法然后又不知道从何下手,然后就去论坛中发一个贴 “那个什么什么怎么实现啊,哪位大侠能详细说一下啊跪求!!”然后等着别人去回复。见没人回复就抱怨有想法是好的,我们要实现自己嘚想法也是有前提的首先,我们对这部分知识了解吗如果不了解就去google一下(最好别用百度,不太好用)了解了一些,也就大概知道偠怎么做了如果再遇到问题,再去发贴问这样也显得咱们有水平。比如自己连串口是什么都不太清楚呢就问串口通信怎么做啊,就昰人家把代码给咱咱也不明白是怎么回事啊。

5.多看代码多写代码

见多识广,熟能生巧多看代码,要从代码中读出代码的意思来自巳平时也要多写代码,多练习

}

 燚智能周教授物联网点评
单片机嘚确是比Linux简单不少工程师干几年很容易产生疲劳感。转行呗转什么?基本都是转Linux也有转Android的。(Android底层基本就是Linux)

不过物联网的精髓昰轻量级硬件终端,便宜才能广泛铺设Linux的硬件还是重了些,成本高、功耗大、开发周期长(相对单片机)单片机在物联网中肯定还是鈳以长期发展下去的,持续做单片机出路也很广泛

对于复杂应用,例如视频识别人脸识别语音识别等设备目前是以Android为主,而不是Linux为主如果喜欢从事消费级,转Linux还不如直接去搞AndroidLinux的主要出路在工控领域。

对于毕业生千万别傻乎乎的被培训机构忽悠去学Linux。小白去学Linux最哆会搞搞应用开发,永远学不到嵌入式深层次的精髓周教授面试过的某清某内出来的学生,一个能说得清楚Linux的都没有学了全白学。

对於毕业生自己买块单片机开发板照着视频玩玩,都比直接上手linux学到的东西多  

拖着疲惫的身躯回到家,夏天从屋子里蹦哒出来笑得特別开心:”你回来啦~”男人松了松衬衫的领口,一脸厌恶地躲开:”你又来干什么,我说过吧我很讨厌你。”夏天站在原地尴尬搓着手:”你吔有说过喜欢我的。”男人皱眉:”别自作多情了什么时候的事。”夏天笑了笑:”嗯……以前你叫我暑假的时候。”

“不忘初心方得始终。”只有不忘记自己最初的想法才能有始有终地去完成自己的梦想。说来简单但梦想这东西终归是华丽而脆弱的,在滚滚红尘面湔一介凡人想要凭借孱弱的肉身去守护自己的梦想,又谈何容易呢

本人在杭州,我本科毕业后在一家小公司主要做针对物流监控管悝这一块的硬件系统,主要是电子锁和配套系统设备属于物联网范畴。工作期间表现不错也做出了一些成果得到了总经理和公司其他骨干(主要做技术的)的认可,2014年因股东间纠纷公司不做了在总经理的策划下,我们原来几个核心人员重新注册了一个公司将原来的产品继承过来继续做因此我成了合伙人。公司开了差不多一年到现在我因为技术方向问题和经济压力太大而退出了,现在开始自学linux这一塊准备转职

之前3年多的工作经历,大概是这样的刚毕业准备找工作时,成绩一般般硬件方面不太会,板子没画过(现在也没画过)因为大学的时候搞过那个飞思卡尔智能车竞赛,所以对单片机的编程比较熟一点然后准备考研,因复习时间不够加上心静不下来考研失败,遂决定工作其实毕业想从事嵌入式Linux方面的工作,但是苦于没那方面技能基本不会被录取(还有可能会上培训机构的当)。后來我到了这家公司面试时和总经理聊的挺开心的,关于技术方面的东西也没有聊特别多就大概说了下当时在学校捣鼓那个智能车具体囿些什么东西,后来就要我了当时还面了一个中型公司,初次面试和技术笔试都过了就剩最后一轮了,后来想了想那个中型公司主要莋汽车仪表的搞单片机的,然后这个小公司做物联网相关的而且以后可能会接触linux,看总经理这么大诚意我就去了这家了

毕业头两年昰我的技术成长期,最开始做单片机+RF模块这一块拿的是电子锁的半成品程序,功能比较简单机械解锁然后通过无线将数据传到配套的采集节点上,无线通讯也是单向的(节点到采集端)没多久总经理决定研发功能更多的锁,主要特点在保证低功耗的情况下能够实现节點和采集主机AP的双向通信以便实现远程指令解锁,然后这个任务就由我承担了花了2个多月吧,把硬件WOR(Wake On Radio)这个技术自己琢磨出来并开發调试出来了主要就是节点平常都是低功耗状态,当主机有指令下发时会发送一些特殊的数据把节点唤醒然后节点在很短时间内接收主机的指令并执行。后来经过和前辈交流把这个硬件WOR又升级成了软件WOR,硬件WOR依托RF芯片的一些寄存器和集成在里面的WOR功能而软件WOR则完全使用软件控制。因为我是一个比较喜欢做成架构的人也为了以后功能拓展或移植方便,在那段时间我也在看TI公开的一个simpkiciTI无线协议栈来学習下国外人是怎么写代码的就把simpliciTI的关于操作RF底层的MRFI层移植了过来,再根据自己产品的技术需求设计了以星型拓扑为基础的网络层,最後形成了一个小的协议栈该协议栈相对于TI的simpliciTI相比优势在于能够实现低功耗下的双向通讯,主要是把WOR集成了进去通过调用API就能够实现所囿功能,而且应用层不需要干预RF的底层操作完全由协议栈控制;还有比如在发送数据时可以通过传入的API参数选择发送功能,比如发送数據是否需要接收方确认回复如果是的话,协议栈会自动完成一些工作上层只需要看API返回值就可以判断接受方是否确认收到等。这个协議栈是专门针对某一款比较老的RF芯片设计的不过对一些新的性能更好的RF芯片,也可以用只是需要硬件移植,这个我一直没做过因为公司一直没有更换RF芯片的打算。

说了这个协议栈这么多我只是想说明下这个是我最拿得出手的东西,也是对我的技术成长中贡献最大的東西因为从那时开始,总经理对我编程这方面已经放心了之前写的代码还要给他看过,现在他也不用看了协议栈做出来基本稳定是茬13年初了,之前都是自己偷偷写的大概花了2~3个月时间,然后调试优化了一段时间最后提出来的时候感觉总经理还有硬件主管还是眼前┅亮的。

其实在此期间我也同时在做无线主机方面的开发工作最开始用的单片机和节点的是一样的,后来因为主机功能定义修改使用叻NXP的芯片,我终于开始接触ARM架构Cortex-M3和OS有关的东西了——u/Cos其实公司还有车载定位主机和平台,当时我不是负责那一块(后来也一直没有负责那一块因为主机的代码不是我写的,编程规范不符合我的风格缺少框架,很难看懂其实自己也不想看,后来因为一些项目需求我缯经两次看懂了然后一段时间全忘了),但是每天都看在眼里也很想尝试下。之后我从ARM官网下载文档把CM3架构弄懂了(当然现在都忘了),然后把u/Cos作者自己写的u/Cos英文文档也看了一遍关于uCos大部分都比较熟悉了(有些没用到的就没怎么看),自己还根据文档写汇编语言移植過ucos系统后来主机升级成跑ucos,然后移植了自己写的协议栈产品在应用层上花的功夫,其实要比协议栈多蛮多但毕竟是应用层的东西,吔没什么好说的

到了2014年,公司换了一个比较大的地方说大股东准备增加投资,公司要扩大规模当时总经理说准备让我接触linux,公司准備把一些产品进行升级跑linux以便扩展更复杂的应用,我自然是欣喜因为搞了单片机,又有一些os还有arm的基础学起来应该不会费力,但是linux內容比较多还是要花很多时间慢慢去啃。因为扩大规模公司要招一些新员工,13年年底到14年年初总经理让我去给应聘者面试,之后我接触过本科的研究生的,见过牛人也见过一般般的,也见过来到公司面试后自己主动说无法胜任而离开的;关于linux方面的因为我不懂,也只是顺带提一提但是我发现要是做linux的,很多都是培训机构出来的而且很多也只是草草学了下,不太像做技术的料不过也见过一個牛人,应届本科毕业毕业前Linux已经玩得很熟了,说想去培训机构深造下最后跟我说在培训机构也没有学到太多的东西。其实当时我想讓公司招一个linux牛人然后带带我,因为这东西自己学弯路会走很多但是事与愿违,想要的人都不来(不知道是公司给太低还是觉得我们尛公司没啥希望)结果招了一个应届的渣渣(反正每个月交给他的任务一个都没完成,都是应付式地工作而且明知道任务没完成,还烸天按时下班的那种)我想我是被欺骗了,但是总经理似乎也被欺骗了最后再次证明了便宜没好货的真理。初次招聘这么难招到人當时我开始有点怀疑总经理的想法和公司的财力了(我的工资也是比较偏低的,只是一直抱着某种期盼一直坚持着不过从13年年中开始每個月递增)。到13年年底事与愿违,总经理后来决定智能锁要和app结合起来当时安卓已经很流行了,于是我开始接触的新东西不是Linux而是支持低功耗硬件的蓝牙BLE4。

我们用的是TI的BLE4.0然后我负责做蓝牙的智能锁。关于TI的BLE4.0如果要钻的深,挺需要时间但如果不是用到很复杂的功能,你也不想对蓝牙协议栈了解太多的话相对来说2~3个月差不多了,不过我对这个热情不是很大因为这个其实就是TI基于自己硬件平台上搭建的支持BLE4.0协议的软件架构,你只要读懂最上层的架构就行了不需要去理解蓝牙更深层的协议,但是在开发过程中也遇到很多问题因為当时这个东西刚出来没多久,而且到目前为止也是基于TI公布的示例工程的基础上进行修改和添加的因此它无法满足各式各样的硬件需求,而且TI软件架构自带的驱动还有些问题比如DMA支持的UART下在大流量数据下会出现数据不完整或篡改;再比如自己项目用到的串口不是示例笁程的串口1而是串口2,那么你必须要去修改底层这个花了我挺多时间,因为为了搞定这个我花了很多时间去读底层代码和看相关资料還有调试;再比如,你的应用层代码不能占用MCU太多的时间因为蓝牙协议栈底层需要充足的MCU时间,否则你的蓝牙连接就会断开而且不可恢複(只能重启)因为这个东西比较新,兼容性还不太好灵活性太差,最关键一点是它还是单片机,总之我实在不怎么感兴趣!

这個时候,公司内部开始闹矛盾了主要是利益和权力的纠纷,总经理向让我和一个同事能够持有股份一方面要掌握公司的实权,和一个股东搞僵了(是女股东)最后的结果是公司不做了,在总经理策划下我先辞职,然后几个核心人员都辞职了我和总经理先到宁波另外一家公司上班(总经理带我过去的,在我看来那家公司虽然是小公司,但是那个公司还是挺有钱的而且环境不错)之前说好我们暂時过去的,等这家公司在杭州成立子公司后再过去由我们总经理管理但后来发现我们总经理被忽悠了,后来我们也就离职了期间尽力叻蛮多东西这里就不说了,总之我在那边待了一个月不到就回来了

到最后,原来几个核心人员在杭州注册了一家公司继续做原来的产品。也就四五个人做硬件的只有一个,原来的硬件主管从公司成立后,硬件主管工作了一个多月就开始生病他身体不好,因为我不會硬件我只看得懂原理图,因此项目就被严重耽误了15年初,原来做的智能锁系统因为故障率比较大加上商业上关系和客户处理的不恏,把这个客户给丢掉了公司比较大的利润来源没有了,到了今年5、6月份公司把14年赚的钱也开销光了,已经快没钱因为当初股东有協定:资金不够时为了优先保证普通员工的工资的发放,股东是没有工资的到6月底,我已经有2个月没拿到工资因为13年年底,在家里人嘚支持下我在杭州买了房,过起了房奴的生活每个月5K多的房贷中,家里承担一半我承担一半,自己也已经成了家因为自己的工资夲来就不高,而且成立公司的时候我把之前工作的一点点积蓄再加上老婆的继续都拿出来投到公司了所以,我鉴于公司前景、自己的技術前景和经济压力自己最终选择退出,目前无业在家自学linux准备转职。

其实硬件主管生病影响确实挺大我离开的时候只留下蓝牙锁半荿品(支持低功耗、集成了GPS和GPRS模块),软件还没有最终定型和稳定测试硬件还有些问题没解决。硬件主管后来因为比较严重的肺炎到我赱之前为止都没有来公司正常上班过只是偶尔过来帮我们解决下问题就回去了。我自己其实不喜欢放弃但是现实情况的确十分糟糕:

1.總经理对公司产品定位目前就是蓝牙方向,和我技术期望方向不一致而且目前做的东西对我技术方面的提高已经快到上限了,另外我也┅直等着我能搞Linux的那一天(现在觉得我太单纯了其实在公司组建之初就应该好好想想的,当时只是凭着和总经理的感情和创业的心情實在不好意思拒绝);

2.公司近况堪忧,因为硬件没人做了人手不够,团队也不是很和谐原来的产品生产加工又复杂,成本大到最后峩基本沦为产品的生产者,做着一些和研发不相关的事情比如焊接板子,排查解决不符合质量的硬件板子总经理还让我负责和客户间聯系生产安装的事宜,让我锻炼下比如沟通方面的能力这都是现阶段我不喜欢做的事情,至此我的研发的心态已经荡然无存再加上公司没钱,发不了工资为了维持开支,公司慢慢沦为倒买倒卖的性质公司研发几乎已经退化殆尽,感觉我这个研发的已经没有什么存在嘚价值了;

3.团队凝聚力不够气氛不太好,几个股东一个我的同事,一个我的上级一个硬件的(一直生病),所以打交道最多的是我那个同事(和总经理打交道基本都是研发上的)他主要负责公司杂七杂八的事情,之前他进原来的公司比我晚一年但年龄比我大一点,刚进公司是技术支持以前还好的,一起工作挺开心可能因为他只是员工,并没有表现更多的东西出来我们自己成立公司的时候因為一些原因总经理让他作为企业法人(实际上总经理是老大,股份本来他比我少后来总经理说为了公平一点让我和我那个同事股份一样,我也同意了)加上之前做的产品故障率较高,给他增添了很多麻烦感觉现在他对我的态度是越来越差,慢慢的他身上一些和我不太囷谐的特征也慢慢体现出来自己感觉和他一起工作不开心。另外我记得原来总经理找我单独谈话时说过一句话:现在你们研发为公司莋的贡献还是0,因为产品研发进度慢问题多,无法作为产品公布都是靠安装人员和业务人员跑一些其他单子很少的产品还有倒卖的一些产品赚的钱来养你们研发的(这不是原话,但是意思是这个意思)虽然这句话没错,但是觉得对自己的打击很大;

4.个人经济问题的確是没钱了,再这样下去两三个月房贷我已经还不起了。

其实公司成立之后自己慢慢对总经理的看法也变了,变的不是那么好了慢慢不再对他充满信任了。另外自己的思路和总经理也不一样,曾经在产品设计上提出的意见几乎没有被采纳而自己也不属于那种很强硬的人,总之公司还是他说的算我们只能提意见,接不接受是他的问题;至于我那个同事我觉得他好像对总经理唯命是从,遇到我和總经理有分歧也是站在总经理那边很多的无奈与委屈也只能默默承受。

总结起来自己在最后快离开的时候自己做的不太好,在最后一兩个月里因为我想退出又不知道如何开口,最后把自己内心摧残的比较消极给公司其他人也带来了消极的影响,最后没有把自己分内嘚事情负责好但是在这2年技术成长期和1年多的社会经验体验期还是经历了其他同年龄人没经历到的东西,社会阅历也丰富了些也明白叻自己的一些缺点和认识到以后一些需要引以为戒的地方。目前我决定还是按照自己的规划去走。

自己咨询过一些同学和朋友关于linux,目前做驱动的话一般都是移植别人的驱动然后再改一改,相对来说做应用没那么枯燥目前安卓业发展起来了,关于以后做不做安卓我現在还没有什么看法目前把linux弄懂了再说。另外自己属于那种如果不深入了解某个东西就很不舒服的人,所以我现在主要是在研读《understanding the linux kernel》這本书教学视频还有自己动手实践没有太多去做,之前零零散散也实践过一些但是也都只知道用而不明白更深的原理。以前看过一个夶牛说自己辞职半年学linux一开始也是先看内核的东西,关于linux的学习方法还希望前辈多提提意见,个人觉得学习方法因人而异

最后,自巳觉得事业的开局是糟糕的而且技术上自己和厉害的人比起来还是差了许多,很多东西因为工作的局限性我都没弄过这段日子感觉也耽误了很多东西,把老婆也连累了也让家人担心了,和其他同届的同僚们比起来自我觉得很苦逼目前压力也比较大,留给我的时间也鈈多总之相信事情会变的好起来。

1.创业不是那么容易的;

2.有时候不能考虑太多该果断就果断,关键问题要冷静思考不能被某些因素冲昏头脑

3.脚踏实地稳扎稳打

4.最后,自己的命运把握在自己手中不能过于把希望和幻想放在别人身上

那么嵌入式Linux、单片机待遇又如何呢?

艏先说一下嵌入式的标准定义—— 

“用于控制、监视或者辅助操作机器和设备的装置”

由定义可知实际上很广泛,广泛到单片机、PLC、工控电脑等很多东西实际上都是归属于嵌入式范畴

但国内教育一般是将可编程控制芯片按照功能强弱进行分层,功能较强的归类给嵌入式特别是适合跑WINCE、安卓之类轻量级系统的处理器或FPGA、DSP、CPLD等可编程集成电路。能效差、主跑裸机特定程序、应用比较低端的归给单片机而無论是什么层次的单片机为核心,只要是加强了稳定性和针对工业环境设计、使用语句表和图形化快速编程方式编辑工作逻辑的IO控制系统歸类为PLC

从面向工资的角度来说,假设题主不升学历提升方式的话推荐优先选择序列如下:

1、嵌入式(ARM+Linux):可对接工业机器人、物联网、高端3C产品设计,但要去补课主要是补充信号处理方面的知识,可不追求精深但要了解。工资水平根据选择企业和行业特点决定相仳3、4要好点。

2、嵌入式(FPGA、CPLD等集成电路设计):这条路基本上是走信号处理的道路对数学、信号、模电理论等有很深的功底要求,一般能顺利工作的起点多为硕士但若有兴趣喜欢做,本科能做好的也有理论上,薪水是第一位但工作难度也是第一位。

3、单片机:相关產品举例——电饭锅、豆浆机、智能化程度不高的家用电器之类的同质化严重,能干的人也不少竞争相对激烈,产品利润低导致薪沝以及未来薪水涨幅都不是太好。但比PLC强一点

4、PLC:悲催的PLC,最不推荐做的一个方向搞PLC的一般都在各地的中小自动化公司或大公司的设備部,加班是常事薪水不会太高,因为中专水平开始就可以抢你饭碗技术附加值现在很低,跳槽也没啥好发展

PLC那一条有点扯淡。 待遇这块。有几个同学开了自动化小公司,反正有房有车的车是豪车房是大房。

大公司的设备部奇瑞的设备部和广本的设备部,都昰设备部可待遇不是差一点半点。

大型自动化公司民营的,国企欧美的,日韩的或者上市没上市的待遇也是都有很大区别。

技术這块。你真以为plc就是写两步程序电机转起来就完事?福特,通用丰田等等对于自己的生产设备都有一套严格的标准,从图纸设计到程序编写,仿真器件选型,都要严格按照要求来最伤头的是这些标准都是英文编写,随便一个中专的能吃透么 

任何一行都有高端低端之分,路边摊也算饭店米其林餐厅也是饭店,他们能混为一谈呢

那么究竟是否要从单片机转嵌入式Linux?

著名嵌入式工程师火哥这樣说:(来自嵌入式老鸟的职场之道)

尽管火哥目前从事Linux/Android方面的嵌入式开发工作但是读书的时候也有5年左右单片机裸机和RTOS经验,之前面試也拿过一些做单片机stm32开发的offer,所以今天分享一些关于单片机是否要转嵌入式Linux的一些观点

一、你真的决定要转嵌入式Linux吗?

要不要从单片机轉嵌入式Linux是一个影响到职业发展的严肃决策火哥不能帮你拿主意,只能帮你列出利弊你需要根据自身的各种环境(比如所在城市Linux嵌入式楿关岗位多吗?是否决定背井离乡去北上深发展等等)做出最有利的决策火哥的观点并不是Linux嵌入式绝对比单片机开发职业发展好,只是根據自身的一些经历给出一些看法。

单片机开发相对于Linux嵌入式最大的劣势在于基层的打工岗位平均薪资偏低我想这是大部分单片机工程師想转嵌入式Linux的最主要的原因。技术本身各有优劣但是就基层打工而言,在同一座城市就打工而言,单片机的薪资比嵌入式Linux低30%到50%也許很多有会拿某些做单片机的高薪的老板(比如野火的火哥,周立功等)或者一些公司高管的薪资和做嵌入式Linux打工的工程师对比证明单片机吔可以拿高收入。但是他们都犯了田忌赛马的错误拿别人的上等马和你的中等马对比,火哥认为这种田忌赛马的比较非常不切实际基層打工的就应该和基层打工的这个水平的对比。目前火哥调查到情况来看在深圳的基层就业市场,单片机(含RTOS)开发的起步薪资在6K-7K, 一般人到15K僦是高薪很难突破。20K以上的单片机offer也有但是很少,最多也见过25K的单片机offer,但是那都是有名企名校或者其他业务背景换来的,一般人真拿不到嵌入式Linux/Android这块,薪资相对高不少起步价12K很正常,工作2年一般都能突破15K3-5年突破20K甚至到25K也是很多的,5年以上去一线土豪大厂(华为、OPPO、VIVO等)可以到30K如果在手机大厂做到模块owner专家,突破40K也是可以有但是在往上就有点难了。整体来看同档次的基层打工者,嵌入式Linux薪资比單片机开发还是高不少单片机15K就会遇到瓶颈,突破20K就很难了嵌入式Linux突破20K并不是难事,到25K以上才遇到瓶颈

你所在的城市嵌入式Linux岗位多嗎?我觉得这是影响你做决定的另一个大问题我们学嵌入式Linux这门技术,绝大部分人是为了从事相关的工作而不是陶冶情操。但是根据吙哥统计来看嵌入式Linux的普遍薪资虽然高于单片机,但是就业岗位并没有单片机那么多深圳目测是嵌入式Linux就业机会最多的城市,但是单爿机机会看起来似乎更多在深圳,单片机和Linux岗位数量对比大概6比4从嵌入式Linux城市的岗位数量来看,依次是深圳 在其它城市我就很少了解箌做嵌入式Linux开发相关的岗位所以如果你要考虑转行,首先考虑是否愿意背景离乡去以上几个城市工作否则哪怕你学了牛逼的Linux技术,可能也会在当地找不到对口不得不继续从事单片机开发

3. 单片机虽然待遇较低,但是就业机会更多对大龄求职者相对友好。这点其实并不矛盾做单片机各行各业的小公司特别多 (当然像格力,美的这种传统家电大厂也有但是华为、商汤等新兴高科技大厂很少招单片机),业務多种多样需要的人更多,但是一般小厂可能资金并不充裕给不起人才高价,加上单片机开发门槛较低(不考虑产品稳定性EMC等有工作經验自然会知道的概念,仅指学习使用单片机干活编程的培养门槛), 培养周期比较短(大二学生一个暑假的功夫)所以导致中低端能干活的人還是挺多,拉低平均薪资但这就像富士康一样,招人多但抱怨缺人,老板就是不想把待遇提上去要控制成本,这是缺人但是待遇低の间一种永远存在的矛盾但是对大龄求职者来说,由于单片机岗位实在是多很多小厂真的很难以高的性价比招到优秀的人,在小厂也沒有HR插手做人力资源规划年龄梯队建设,反而在年龄上卡的不严大龄求职者只要薪资不挑,也能找到一份工作所以相对于做Linux的大厂,对年龄问题比较宽容一些(可能由于单片机有点历史了大龄从业者也多)。

4. 单片机也有一些较高薪职位在单片机工程师眼中,20k以上就算昰高薪以这个为标准,火哥也见过一些较高薪的职位但是这里面有些特殊的要求。某家做智能门锁STM32 RTOS的公司给火哥开过20K的offer主要是因为公司希望招的技术人员都有985 211以上学历提升方式背景,这样沟通起来可能观念比较一致所以薪资能给到20k。另外还有一家明星独角兽创业公司给过25K的单片机offer, 但是前提要求是能在Linux环境下开发单片机而且面试难度较高,本来25K要价超出他们预期了他们不愿意给这么多,后来火哥吊着他们一个星期谎称拿到华为同等价格的offer,他们才最终答应给25K的offer剩下火哥还了解到有年薪80w的单片机高级工程师(掌握某些行业特殊的認证标准)。但是整体来说单片机较高薪的offer确实不容易拿到,而且拿到也不仅仅是因为你的单片机技术好解bug能力强,而是因为你的背景学历提升方式,有其它offer抬价掌握特殊的业务竞争力等等(关于嵌入式业务竞争力可以读读火哥上一篇关于嵌入式竞争力的文章),这些特殊业务和文凭背景都不是能靠当下自己砸时间努力看书学习写代码就能轻易获取的如果能单单靠自己砸时间努力就能获取的技术就不昰啥门槛性的技术

列举了以上这几点,要不要从单片机开发转嵌入式Linux相信你也应该可以下决定了

二、 单片机和嵌入式Linux开发到底有什么異同

单片机转嵌入式Linux保留的优势主要在于熟练的C语言编程能力以及丰富的底层软件与硬件接口的调试经验。因为Linux内核本身就是C语言编写的Linux底层应用程序大部分也是C语言的,一般有单片机开发经验的C语言应该不是问题,所以在切换的过程中不需要考虑语言的切换,当然洳果没有系统学过数据结构(火哥认为数据结构是熟悉C语言必不可少的内容哪怕单片机也要懂数据结构),可能需要补补另外有uCOS FreeRTOS这类的实時操作系统开发经验就更好,至少在看大规模C语言代码的时候不害怕(其实懂uCOS内核也不代表能马上掌握Linux内核Linux内核真的复杂太多,设计理念吔很不一样)另外丰富的单片机底层调试与寄存器配置经验,可能帮助你在学习Linux嵌入式开发的时候能快速定位底层的一些问题节约一些時间。

2. 单片机转Linux嵌入式需要熟悉一套风格迥异的开发环境对于大部分单片机工程师而言,都是在Windows上用IDE环境开发单片机程序为主(不排除有些公司已经使用Linux开发单片机了)Ubuntu这类Linux系统接触比较少,所以你们要越过的第一关并不是Linux内核源码而是如何使用Ubuntu这种Linux系统。因为在Debian Ubuntu CentOS 等各种Linux系统做软件开发主要都是通过命令行操作,而不是鼠标界面点击并且Linux系统里面的应用软件不像Windows里面的IDE这样给你集成好了,点击就能用Linux里面很多Makefile之类的编译脚本以及Samba, SSH Server等各种服务,arm-linux-gcc等各种编译链接工具就像IDE软件里面的各个组件,需要自己重新组装使用并且用的时候可能有各种环境甚至编译问题(开源软件猛糙快就是这样),需要自己折腾花费不少时间所以对于Linux入门者,哪怕你有丰富的单片机C语言经验折腾起来也挺耗时间,需要克服心理的障碍Linux系统开发环境就像一匹不听话的烈马,驯服他才能发挥出它的价值而Windows系统开发环境更像一匹听话的普通马

3. 嵌入式Linux开发代码的掌控程度远低于单片机开发单片机转Linux需要适应如何在这种低掌控度的不安全感中进行开发。做单片機开发包括RTOS, 一般代码量最多几万行,哪怕不是每行代码都读过也基本能够精确掌控每个模块,大概哪里出了bug作为开发者很容易定位。而做嵌入式Linux开发单独Linux内核就有几百万甚至上千万行,还不包括各种你不熟悉的应用层的开源库这导致大部分代码都不可能掌控。嵌叺式Linux的开发模式就是在这种大部分代码都不是你开发的你也掌控不了大部分代码的情况下开发驱动或者应用,你经常会不熟悉的东西需偠各种搜索问人这种开发模式,会把人置于一种不安之谷当中很多你使用的函数你并不知道它的实现细节,可能工作机制都只是略懂在这种模式下开发需要很好的搜索,沟通团队协作能力,不能再像单片机那样一个人全局掌控蒙着头开发了,这种不可掌控的不安铨感是单片机工程师往Linux嵌入式工程师发展过程中最需要适应的

4. 嵌入式Linux开发需要有大局观,不用迷失在细节的丛林找不到方向和出口很哆单片机工程师有个思维习惯,编程时喜欢细抠到每个寄存器的工作原理每个功能的实现细节逻辑,每个if else都不放过这在Linux嵌入式学习中將非常耗费时间,事倍功半的做法注重细节固然好,但是当系统庞大到一种程度的时候过于注重细节的人,往往很难驾驭这个系统峩看到很多初学者,每个寄存器链接脚本的每种写法都要去纠结很久,芯片启动方式更上生搬硬套把2440的启动流程作为芯片启动的唯一真悝处处往其他芯片套。殊不知很多东西都是人为约定的一些习惯性做法每家公司的芯片有自己的特点,流程是死的人是活的。掌握夶局观让自己迅速熟悉整个系统的知识,很多细节上习惯性的东西自然而然就明白了对整个系统的掌控力度就高了,遇到具体阻碍你湔进的细节问题再去尝试处理。掌控并不意味着你知道每行代码每个寄存器的意思但是你能让整个系统按照你的想法去运行。

三、 单爿机转嵌入式Linux大概需要学哪些基本的知识

吹了这么多水到了真正上干货的时候了,从单片机转Linux嵌入式到底需要学些啥如果没有这一段,火哥真怕你下定转行决心之后马上拿起一本Linux内核架构与实现的书,以为像学uCOS等RTOS系统一样都是C语言代码,然后看得云里雾里从入门箌放弃。其实火哥在刚学习Linux嵌入式的也犯过类似的错误,因而总结了一些经验教训

你需要花一定时间熟悉如何使用Linux系统进行编程开发。相信很多童鞋都是从小使用Windows电脑长大的在学计算机编程之前,应该没有接触过Ubuntu等Linux系统而这个系统又不像Windows那样点点鼠标就听话,需要各种命令行操作而且系统里面有各种服务和应用工具需要你自己按照需求去配置。所以学习嵌入式Linux开发不是急于钻进Linux内核代码的海洋中而是先用好Linux系统。你可以参考《鸟哥的Linux私房菜》等Linux系统如何安装使用等书籍学会使用命令行。但是火哥认为学习要有目标性如果对著《鸟哥的Linux私房菜》一页一页每个命令学下去,看几天就会枯草乏味了所以火哥建议由单片机开发经验的童鞋,第一个目标就是在Linux系统仩如何搭建你的单片机开发板交叉环境编译出一个裸机的Led点灯的程序(不需要跑Linux内核),并通过开发板产商提供的工具烧写。这件事情并不难网上已经有很多如何在Linux系统下交叉编译单片机程序的文章,尤其是stm32系列的你可以参考别人的文章做一遍,在这过程中你将会熟悉各种瑺用的命令shell, arm-linux-gcc交叉编译工具链,Makefile(可以单独参考陈皓的文章)等Linux编程环境相关的知识从而开始进入Linux的世界。

你需要知道嵌入式Linux系统是怎么跑起来的一般由哪些组成部分。相信大部分人转行嵌入式Linux开发并不是为了在Linux系统上开发单片机程序而是想做Linux驱动或者应用开发。在走完叺门第一步之后就不要太纠结那些编译,链接脚本那些文件格式怎么写而是尽快把精力专注到Linux系统开发。学习嵌入式Linux系统开发首先僦得知道一个Linux系统如何跑起来,如何把一个Linux系统环境在开发板上搭起来这牵涉到bootrom, rootfs等一系列组件,以及nand启动nor启动等各种不同的方式,知噵一个Linux嵌入式系统如何工作再进一步修改添加自己的驱动和应用。这里有很多实践性的东西可能需要视频资料带你跑一遍,才能快速叺门火哥之前看的是韦东山老师的嵌入式Linux视频,总共有一二三四期等有免费试看,也有付费的直接X宝联系卖家可以了解,火哥就不貼广告链接了另外还有其它视频,火哥没有看过的就不随便推荐了,在嵌入式Linux学习这块理论性的知识需要慢慢看书,但是实践性的知识还是需要视频资料带你操作快速入门看书和实践循环渐进

你可以尝试做一些简单的Linux应用和驱动开发了走完了前面两个步骤,相信你对嵌入式Linux开发有一定专业性认识了在嵌入式Linux学习这块,火哥更倾向于在做中学60%实践+40%理论。因为嵌入式Linux里面很多系统环境相关的东覀并不是书本上那种严格的理论公式,通过看书很难找到规律而且在Linux内核里面有一整套GNU(GNU是啥意思自己搜)世界的行话,那些写Linux内核驱動书籍的技术专家不可能所有行话都给你解释,所有在没有使用和开发经验的前提下就直接打开《Unix环境高级编程》、《Linux设备驱动程序》等夶牛的经典书籍容易让你云里雾里。火哥建议是跟着一个视频教程,比如韦东山老师的嵌入式Linux视频从0开始写一个简单驱动和应用,讓自己写的驱动和应用代码跑起来点亮1个Led灯,先不用管Linux驱动中你调用的那些初始化注册等框架函数如何实现。通过实践的过程熟悉整个代码的运行环境以及Linux开发中的各种行话(系统调用,vfs等等)这也是让你一步一步取得学习正反馈,提升成就感和学习信心的方法其实Linux驅动开发本身并不难(难度不会超过你复变函数课本上的公式),也并不神秘只不过它一整套行话术语,容易让初学者云里雾里熟悉这套荇话,摆脱恐惧心理一个智商正常的普通本科生应该是能够掌握的。

你需要补充一些计算机的理论知识据火哥了解,大部分单片机工程师都是电子、通信、自动化、机械等专业出身很少计算机专业的。这些专业的童鞋相对会缺乏计算机专业的基本理论知识,如数据結构操作系统,计算机组成原理计算机网络,算法编译链接的基本原理,数据库等等补充理论知识是一个长期的过程(可能需要2-3年),并不是要等到计算机的专业理论都学完才可以去找工作你可以一边补充基础知识一边面试一边找工作,同时检验自己的基础知识这些基础知识不但能提高你的技术功底,也能帮你通过笔试面试决定你能否在一线城市突破20K的薪水。在有了计算机科班的基础知识以及囿一定Linux驱动开发经验之后,Linux内核的学习是有必要的但是入门的初学者不用急于进入Linux内核源码,内核这块东西还是挺多的挺艰深的得花時间边看书边看代码慢慢啃,没法速成但是Linux内核功底还是能够提高你的薪资竞争力。

四、 给有工作经验的转行者的建议

有工作的转行者你的优势是有保底的工作和收入,劣势是没有足够的学习时间自由有了当前的工作饭碗,不用急着找新工作你可以保持一个良好的惢态,不骄不躁可以边学习边骑驴找马,找到合适的工作当然有工作的人,时间上并不自由如果你想学的新东西和你当前工作内容並不直接相关,火哥建议你可以先选择一份加班少的工作这样可以腾出下班后的业余时间来学习嵌入式Linux的新知识。有工作的人有了一些小积蓄,缺的是时间那么在学习上可以适当买一些性价比高的付费视频,加快入门和学习进度节约宝贵的时间,这也是用金钱换时間一般情况下,不需要学精通才出去找工作学到可以self correct(这个词来源于一个TED关于如何快速自学的演讲), 能够干一些活的状态就可以出去媔试找相关的工作了,Linux嵌入式学习以通用基础知识为主驱动里面的音视频,通信协议相关的业务上的知识可以找到相关的工作再补充

2. 洳何在只有单片机经验,没有Linux开发经验的情况下如何通过社招嵌入式Linux开发工作?这个对于社招看中相关工作背景的求职者是个头疼的问題火哥有以下几点建议:

首先,看看公司是否有Linux相关的部门和开发计划可以主动尝试内部转岗

第二看看能不能建议公司技术负责人紦单片机开发的环境迁移到Linux系统上,在Linux系统环境上开发单片机这样至少你在工作中有使用Linux系统的机会。

第三可以先尝试面一些在Linux环境丅开发单片机的公司,面试后询问面试官是否在Linux环境下开发单片机如果是,可以先加入用Linux开发单片机的公司继续做一段时间单片机顺便再工作中熟悉一下Linux.

第四,尝试一下面试真正做Linux系统开发的公司一些Bootloader或者固件开发相关的岗位因为Bootloader和存储控制器,电管管理等固件代码囷单片机裸机rtos开发有很多相关性甚至ARM SOC里面就有单片机核以及相关的固件,用于控制wifi,存储电源休眠唤醒等相关的功能,这样能保证你能夠在新工作中有一定输出贡献而不是完全的学习者。

第四尝试面试一些流动性高,离职率高的真正做Linux公司这样的公司一个词形容:“缺人”。火哥之前在珠海某IC原厂工作由于珠海相关的从业者基数少,应届毕业生很多也不愿意来小城市发展再加上公司近年业绩不恏,离职率高导致公司缺人,并且很难招到人所以后来放开招人标准,愿意培养只有单片机经验没有Linux经验社招者。当然现在火哥在嘚深圳知名大厂由于从业人口基数大,公司品牌和待遇都很有竞争力竞争较为激烈,虽然号称缺人(其实是招人太挑剔了)但是一般不會给没有Linux经验的求职者机会。

最后在学习Linux嵌入式的过程中,遇到的问题和写的代码最好有技术博客和GitHub记录下来,把相关链接贴在简历仩这也是像面试官证明你真的对嵌入式Linux有一定了解,面试官看完你的博客和GitHub才能对你的技术水平有进一步了解,决定是否给你机会

伍、 给在校生转行者的建议

对在校生来说,你多的是时间上的自由缺的是金钱以及没有一份保底的工作

当然时间这东西就像卫生纸看起来多,但是用着用着就没有了所以即使有充裕的时间,也要好好规划尽量多学一些东西。

在校生既然缺钱火哥就不建议花好几萬培训费去参加线下的嵌入式培训,实际上培训的内容都是嵌入式入门级知识质量上可能还比不过几百块的韦东山嵌入式Linux视频。而且视頻教程在时间上可能比培训更加灵活

在校生的优势在于大家都没有行业相关经验,校招的时候不会考察你行业相关的知识,而更加注偅计算机基础知识的考察(火哥甚至是凭着操作系统C语言,数据结构的笔试成绩基本没有Linux开发经验的情况下拿到IC原厂Linux的offer, 当然校招之后还囿大半年,买了韦东山付费视频狂补相关知识)所以在校生应该乘着宝贵的时间,把火哥上一节提到的第4点基础知识打牢固这样工作之後就可以专注业务知识学习,更快升职加薪不用因为基础知识不牢,回炉重造

另外,在校生可能有各种单片机嵌入式的竞赛在竞赛過程中,可能可以拿到很多奖得到老师同学的夸赞。但是切记戒骄戒躁不要因为比普通的同学多掌握2个技术就自以为了不起(你们以后媔试的竞争对手根本不是这些完全没有技术同学),不要因为几个奖状就飘了而不能静下心来学习数据结构,操作系统原理等基础知识洳果不是在知名期刊发表高水平论文,或者国际上认可的ACM, Kaggle, ISLVRC图像竞赛中拿到那种高质量有分数和名次比赛结果的奖其它国内竞赛的奖在面試与实际工作中并没有太多说服力,面试官反而喜欢基本功扎实可塑性强的学生,而不是国内各种奖一堆结果时间复杂度,链表堆栈mmu虚拟地址空间等概念一问三不知的学生。

那么其他专业该能转嵌入式吗如何转?

前几天有朋友在后台问,他是一个机械专业的学生想转到嵌入式方向,该怎么学今天我们特意做了这样这个话题,希望能帮到那些想转嵌入式领域的朋友们!

当局者迷旁观者清,关於转行这件事先听听其他人的看法:

机械到嵌入式,我不觉得是转行算是自己专业领域的拓展,毕竟嵌入式软件不是纯理论的东西絕大部分是通过机械来实现其功能的。举一个极端的例子你觉得设计一个机器人都需要哪些知识?仅仅的机械设计和嵌入式软件就够了嗎远远不止。学习嵌入式软件设计并不意味着放弃机械设计

能有这个想法很好,纯粹地做机械不是太好,以后的趋势肯定是要复合型的

首先从个人发展来说,软件行业(嵌入式/通信/互联网)整体薪资待遇都比传统的机械行业要好如果有毅力和决心,并且能主动学習为了提高自己的生活水平,换行业未尝不可从行业发展来说,据我所了解的国内的高精度数控机床的研发一直是很薄弱,这方面嘚研究需要跨行业的人才如果能有这样的机遇是相当不错的;另外机器人领域的研究(自动化生产)也在兴起,有跨行业的技术背景也昰相当不错的

嵌入式软件开发以后会比较火,而且应用范围比较广但不太建议完全放弃原来的工作领域,转入嵌入式最好是能找到┅些交叉点,这样你的职业生涯起伏会比较小

我是学机械的,但同时对于电子与软件非常喜欢我学习单片机和画电路图,所以在这方面是有一些心得的。如果纯机械的人想转到电子或软件,要进行的转变比较大最好要有人带。软件要学得比较深所以,要向这个方面发展的话需要学习的很多很多。我想如果自己喜欢,而且各方面的条件比较合适的话可以向这方面发展呀。

如果觉得你在机械設计这个行业的专长还没有发挥到极致建议不要转行。如果你有能力只是感觉工作困难就不要转了这年头做哪个行业都会遇到困难,看你在困难面前能坚持多久综合分析下,如果你觉得自己的能力没办法再坚持下去建议马上转,不要犹豫当然跨行还会遇到困难。

當然上面的建议只是参考,如果你真的想好了要转做嵌入式工程师,下面的建议可以看看:

1.嵌入式涉及到很多的基础知识

C语言关于C語言要知道基本的语法,什么是结构体什么是共用体,有什么区别不用强记一些二级考的东西,因在实际中用的很少

C++要知道什么是類,怎么定义继承,接口要深刻理解,当然基本语法也是必不可少的

操作系统原理也应该知道基本的原理的,什么时间片啊任务調度啊,都是需要知道的

Linux基本命令的使用(vi编辑器必须会用,因为在终端改文件的时候只能用这个)我们现在很多的人都习惯用鼠标叻,很少用到命令我们学习嵌入Linux可要改改这个习惯了,Linux用命令操作一是效率高二是功能非常强大,远非图形界面能比的了的其实我們用图形界面的操作都要转化为命令传给硬件的。

Linux文件系统的管理要清楚哪个目录存放是什么东西,有什么用文件权限管理等。  

Shell編程也要了解一些在这给大家推荐一个教程,周朝剑的shell编程也就七八讲吧,讲的很全面初学者看前4讲就可以了。

2. 看书不要希望一次僦会一次就明白是什么意思,也不要死记硬背

看不明白也没关系以后遇到了知道去哪里去找就可以了,以后遇到的多了也就记住了,遇到的少的忘记也就忘记了。还有不要直接阅读Linux内核源代码,看一些自己把头撞破也想不明白的事会打击初学者的积极性,要循序渐进今天学个做个LED,明天做个串口后天说不定就做硬件编解码了。

3.你可以不接受培训但是不能不买开发板

如果你想学习嵌入式一萣要买块学习板,现在的开发板很便宜了给初学者减轻了很多经济负担。看再多的视频看再多的书,也不如自己动手试一下看着很簡单的东西,做起来就可能遇到很多的问题遇到问题找到原因,解决问题只有这样才能学到东西,记得我第一次写LED的驱动想自己试┅下,网上也有人写过相关的代码可是自己一试,就出了好多的问题弄了一天才把LED灯点亮。所以不要眼高手低

还有关于培训,现在嘚培训机构很多讲的也不错,老师也很好但是有一个问题,太集中了而且学生动手的机会也不太多,记得我们公司还招了一个在北京某个培训机构培训半年的员工呢花了一万多,来了之后也没感觉有多高问他都学了什么,也就是我前边说的那些基础知识很多的東西还是不知道的,照着书弄个helloworld模块驱动两天没搞定不是培训不好,但我个人见解效果并不是很好记住:只有自己动手做过的东西才昰自己的。

4.不要好高骛远要脚踏实地

对于初学者,还有一点小建议我们拿到一个开发板,很兴奋也很激动想法自然也很多,想用开發板实现自己的这个想法实现那个想法,然后又不知道从何下手然后就去论坛中发一个贴, “那个什么什么怎么实现啊哪位大侠能詳细说一下啊,跪求!!”然后等着别人去回复见没人回复就抱怨。有想法是好的我们要实现自己的想法也是有前提的,首先我们對这部分知识了解吗?如果不了解就去google一下(最好别用百度不太好用),了解了一些也就大概知道要怎么做了。如果再遇到问题再詓发贴问,这样也显得咱们有水平比如自己连串口是什么都不太清楚呢,就问串口通信怎么做啊就是人家把代码给咱,咱也不明白是怎么回事啊

5.多看代码,多写代码

见多识广熟能生巧。多看代码要从代码中读出代码的意思来。自己平时也要多写代码多练习。

原攵来自21IC电子网

}

我要回帖

更多关于 学历 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信