美文网首页周更4.0 文章收录
跳动的兴趣,聊聊工作前五年如何做规划

跳动的兴趣,聊聊工作前五年如何做规划

作者: 张健_bamvor | 来源:发表于2019-07-24 14:03 被阅读68次

    最近有几个面试,感觉大家对于未来5年做什么不太清晰,想分享下自己的经历回答下,兴趣如何驱动自己发展。这篇文章具体说说换方向(芯片专业的我为什么研究生去做Linux芯片级移植?)和兴趣(兴趣为导向的目标在我研究生开始的6年时间里面就有怎样的推动?)。

    先上时间线。这样大家对我有个整体的了解。这篇文章重点说我从05年上研究生到11年这六年的成长和体会。

    半瓦的时间线

    遇到Linux porting

    研一的时候导师提醒我确定自己的方向,

    半瓦所在实验室的研究方向和半瓦的经历

    我原本上研究生的时候,是希望学习集成电路设计,那个时候报的实验室的方向是集成电路与系统集成。上研究生的当年5月份实验室正好有一些项目是单片机的项目开发。当年入学之后和实验室的师兄聊天,发现了嵌入式linux移植这个方向。当时自己的积累如上图。以目前的眼光看,这些经验的价值是知识的积累和实践的体会。这些比较初级的经验,日后在工作中和工作经验联系在一起部分变成了可迁移的经验。工作中我才知道自己当时做的只能算是demo,实际量产会有哪些挑战。

    操作系统在硬件上跑起来这个过程,让我觉得很神奇,从那个时候开始,一直希望自己能够独立的完成linux内核芯片级移植(移植分为板级移植,芯片级别移植和CPU架构移植三个层次)。我当时觉得这个目标需要小几年完成,并不具体知道自己完成这个目标需要多久。这是面试时我会说的5年目标。

    Linux适用场景和模块划分

    整个研究生阶段基本都是在学习linux的一些基本操作,也看过一些内核技术书籍,但总的来说涉及的比较浅,当时的状态是实验室之前做嵌入式的师兄大多都已经毕业,具体的技术方面没有人能指导我。有一些抽象的收获,比如说当时的师兄强调,看资料一定要看英文的,中文的技术资料质量不高,这直接影响了我到今天为止阅读技术资料的习惯。

    研究生的具体技术和知识的积累对在中星微的工作很有帮助:

    • arm cpu
      • 从研究生到中星微期间一直关注市面上流行的arm soc。
      • 阅读了《ARM SOC体系结构》这本书,日后在中星微cpu软件验证中获得认可,在华为和cpu设计部门沟通,都我芯片专业背景以及这本书的基础有关。
    • Linux
      • 看《鸟哥的私房菜》对Linux操作有了基本的认识。
      • Robert Love的《Linux内核设计与实现》对Linux内核有了基本的了解。

    这里要强调下,由于自己的芯片背景,一直对硬件原理比较感兴趣,所以长期偏重与硬件或CPU架构相关的工作(上图中画出的重点是嵌入式和硬件使能,这也是我当时的了解的内容),从毕业到中星微对我很有帮助。从suse开始,发现自己逐步要去拓展自己的技术。回头过来看,这是必须要走的路,但是也是不舒服的路,人总要走出舒适区的。

    找工作中的纠结和坚持

    研究生的时候和当时女朋友说,其实很担心在北京找不到工作,觉得自己不太满足很多公司Linux职位要求。当年我想去的华为也没有招聘。后来毕业的时候机缘巧合到了威盛电子,当时去威盛电子的部门其实是做功能手机(feature phone)开发的部门,那个部门本身并不是linux内核的,面试的时候聊到了一些linux的经验,我当时不知道原因。后来才知道部门有一些Linux移植驱动的一些需求。在威盛工作期间,很快遇到部门调整,我当时主动给二级主管(美籍印度人)发邮件,成功调到Linux手机开发部门。虽然后来由于部门调整,很快就离开了,但是在手机部门工作这种经历对于日后找工作还是有比较大的帮助的,后来在部门调整的大形势下,很多同事离职,我选择加入了中星微电子,这家公司是一家国内的创业公司,做自主研发的摄像头芯片,那个时候觉得自主研发是一件蛮重要的事情。当时很多人觉得国内的公司跟规模小,怕哪天倒掉了。我个人一直是对于大公司,小公司,创业公司;外企,私企,国企没有太大的芥蒂,我觉得不同的公司关键是找到适合自己的方向。

    当时有机会去中星微有几个原因:

    • 我有明确的目标做Linux porting;
    • 在威盛智能手机工作过,让人容易相信我会有些Linux基本的概念,开发能力;
    • 相对于有实际Linux porting经验的人我工资比较低。

    我三年以后我也是在中星微第一次有了完整的Linux板级移植经验。在中星微有几个收获:

    • 工作要有计划,有问题要汇报。不准确的计划中会有很多成长,有机会单独聊聊。
    • 技术的积累
      • 当时的部门主管比较强调技术的持续积累和个人的输出;
      • 具体技术:借着arm cpu软件验证和Linux porting的工作,对ARM CPU和Linux内核有了基础的了解。我后来对于操作系统体系结构的很多的基本的概念和理解都是在那个时候积累的。

    从在中星微离开的时候,我当时觉得做到最后意思不大了,因为公司决定不会再上新的CPU,感觉对于深入往CPU做这个方向做不下去了,后来就去了suse做虚拟化,面试的时候,其实是希望能够多做一些内核的方向,实际加入以后多数时间做的用户空间虚拟化管理工具,少部分做的xen hypervisor。

    尾声

    6年后,回头看离开中星微后的发展,其实不管想做什么方向:应用,中间件,底层。都要结合业务考虑。虽说道理很简单,实际做的时候很容易顾此失彼,精力容易放在具体的技术的学习和掌握,而不容易思考长期的规划。另外在一个公司/大部门的主营业务和非主营业务发展差异很大。例如笔者说对于操作系统和硬件结合感兴趣,那应该去对硬件和操作系统有持续需求的公司。

    相关文章

      网友评论

        本文标题:跳动的兴趣,聊聊工作前五年如何做规划

        本文链接:https://www.haomeiwen.com/subject/aqjxrctx.html