我的第一份工作
Posted 嵌入式Max
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的第一份工作相关的知识,希望对你有一定的参考价值。
由于近期换了工作,虽然尚在试用期,前途未卜,但也算是一个小小的阶段,所以想对自己截至目前的人生做一个小的阶段性总结,一个是可以让自己从整体上重新看待、总结下我的过往经历,另外也可以给别人提供一点小小的参考,能给别人带来一点帮助也说不定。文章会分为几篇,分别是第一份工作的总结,对学历的看法,对招聘以及换工作的看法。
我本科是一个普通的二本学校,虽然专业是一本的专业,但是没什么用,学校给外界的的印象才是真正的印象。专业是电子信息工程,算是 EE 了吧,大学时代这个专业的相信有不少人玩的都是单片机,嵌入式,或许也会有一部分人比较偏向于 CS,很不幸,我选择的是嵌入式这个方向,可能也错过了一波机会,毕竟学嵌入式也挺好的,就是头疼外加饿肚子哈哈。
大学生活从大一下学期开始,寒假就不说了,暑假属于自己自由活动的时间不超过 9 天,大学四年均是如此,我所有的时间全部花在单片机、比赛、C语言、各种小项目上面去了(大学放弃了很多社交,可以说基本就没有社交),现在想想,我的大学过的比高中还苦逼,完全就不是大学的样子,想来也是虚度了三年半的大学时光。我是大四上学期找的工作,我有一篇专门说它的:记我的一次校招。
我的第一份工作是在珠海全志科技,一家做超大规模集成电路的,就是 SOC 芯片原厂(嵌入式的伙伴对芯片原厂这个词可能会有一种特别的感觉)。在正式入职之前有一个三个月的实习期,2017.3 月到 2017.6 月整整三个月,不得不说,实习是对工作非常有帮助的一件事情,虽然它会占用到自己宝贵的大学时光,但是最好有机会的话还是去试下,不长不短三个月就足够。
我在实习期和试用期一段时间当中学到比较系统的两个东西是 V4L2 和 OpenMax 这两个大的框架,都是与视频数据管理相关,前者是驱动层面的,后者是应用空间层面的,还有些杂七杂八的软硬件知识,但是那个时间段我觉得对外能够拿得出手的,可以混口饭吃的就只有这两个加上一点薄弱的 C 编程能力。当然还有一点内隐的技能,就是通过学习那两个框架性的东西,会无形之中掌握一些软件设计的理念与方法,但是那个时候我还没有能力去把它抽象总结出来。
中间前期需要做很多的测试工作,测试这测试那,调个按键,调个 sensor,写个 demo 之类的,有些涉及到硬件等的东西就不得不去问别的前辈,有的前辈可能比较忙,屋里哇啦给你讲了一通,你发现自己啥都没听懂,再问就被怼了,但是不行,继续问。
我的技能真正开始进入状态是在第一次接到任务的时候,我记得还很清楚,难度比较高的是让我在 SDV 软件功能上面加一个长曝光的功能,其他还有一些杂七杂八的小任务,不过都很简单,没有什么难的。这个任务的难度在于它需要统筹很多的软件资源,包括从摄像头 sensor 驱动到最上层的 APP 这一整条链路都得你自己去打通,并且去设计它的软件实现以及如何编程使用。
我作为一个菜鸟,公司初来乍到,人比较生地不太熟的情况下,这是需要协调驱动、算法中间件、逻辑中间件、APP 四个方向的人员去完成的,虽然它的功能逻辑并不复杂,就一个很单一的长曝光功能,不用去设计复杂的交互逻辑,还得考虑复杂业务逻辑的各种通路,但是重点在于协调资源以及软件通路设计,这个过程我就不说了,涉及到沟通与功能设计实现,总之它是我花费了比较大功夫做出来的一个功能。期间找了很多人帮忙,最后迭代了一次才把功能做的标准化、模块化的。这个任务让我从宏观上了解了一点我当时那个系统的运作方式,为以后的工作打了一个基础。
再后来就是解 Bug 了,凭借之前实习期试用期前期打下的 V4L2 的基础,我接到的几个 Bug 都很快的定位到了原因(算是比较幸运吧,恰好我之前有关注到那个点)。这个时候是我试用期的第四个月、五个月大概,期间一直在与各种 Bug 做斗争,其实作为软件工程师,解 Bug 极大的满足了我推理、解谜的需求,因为我也像很多人一样,之前沉迷于侦探这个角色,解 Bug 过程中我就经常想象自己在扮演着这个角色,那种感觉,我就一个字形容:爽。
再后来就是开发新的功能了,后面有三个大的项目是我觉得最符合我当初对工作预期的工作内容。当然,在接触到那三个项目之前,我还需要一个初级的试炼,那就是协同开发电子防抖的功能。有关于防抖的协同开发以及其它几个项目细节为了保密我就隐去了,只说下外在的比较重要的几个感觉。
第一个就是协同开发电子防抖功能(前期的试炼),这个功能的基本通路已经由我的前辈也就是之前带我的师傅完成了,我要做的就是后期效果的调试以及 Bug 的解决,期间会熟悉电子防抖的各项关键性指标应该是怎么样的,各个环节应该怎么样去配合,软件上应该注意些什么,这个涉及到硬件、算法、软件设计、同步、buffer 管理等等等等老大一坨东西,当然前期开发上的一些问题都是由我的师傅完成的,我属于后人乘凉,在简单调试任务上不断的熟悉这个系统的运作。
中间这个任务完成之后就接到一个比较大的任务,就是要做一个设备快速冷启动的功能,这个功能在之前我们产品线上面还没有做过。期间看了业界比较成熟的、已经经过验证的反感,发现这个在我们的这个产品上面是行不通的,因为工期、时间、人力、物力都不允许这个方案的实施。那么这就尴尬了,这不行那怎么搞?
后来是我第二个师傅提了一个建议,说可以朝着这个方向做下试试看,问题是之前都没有搞过啊。于是就是长达一个多月的技术试验,资料搜寻,中间大概两个星期的时候终于验证出来了一个可行的方案。这次这个任务我基本上充当了领头的角色,前期还是别人牵头的,后期我试验出一个可行的方案之后,就是由我来主导整个整个功能的开发了,这期间开会、邮件我都渐渐的往整体方案的组织者的角色靠拢。
就是这第二个任务让我从默默无闻的写代码解 Bug 的小菜鸟,稍稍的在部门主管与其他部门的主管那里露了一个脸,也就是真正的混了个脸熟。
接下来就是另外一个电子防抖方案的开发(注意,它跟前面那个看起来是一样的,实际上它是不一样的),这个真正耗费了我接下来半年的时间来去完成,我也在不知觉中迈入了一个那个时刻我们都还未意识到的深坑。本以为有了上次的防抖开发经验,这次会比较轻松的就完成,然而并不是,事实告诉我,这次的这个任务将为我带来一次全新的升级,即便它是个巨坑。
这次这个方案是我真正从头到尾,完完整整独立实现出来的一个模块,前期我的工作包括:功能框架设计、代码编写方案设计与实施、全新的数据管理的方案设计与实现、算法软件代码设计部分建议、部分算法代码的实现与 Bug 解决、整体方案功能的调试、配合 APP 的功能集成、算法的改进建议(很多条核心的建议)等等。
其实最基本的功能实现在前面大概一个半月到两个月时候都已经搞完了(得益于之前防抖的调试经验与我前期的预研工作),后期就是踩坑、填坑、解 Bug、优化效果、优化代码结构、优化系统资源占用等等,而这些耗费了我们将近四个月的时间。这绝对是我受益匪浅的一次任务了,话说在任务起始的时候我竟然没有感觉到太大的压力(那还不是因为想当然很简单咯,结果谁知道拖了那么久),也总算在延期了一周左右的时间交付了一个可量产的版本。
还有一个任务就是我们整个 SDK 系统的升级,就是从旧的编译平台换到一个新的编译平台上面去,熟悉嵌入式 SDK 平台的应该知道,这个工作量与复杂度还是蛮高的,不过其实这个主要也是工作量的问题,这个任务中我没有受到什么阻力,也就是这个项目让我觉得我真正开始适应了这份工作,有能力靠自己去完成一些什么任务。
可以看到,后期,也就是在我试用期还剩下一个月到两个月的时间之后,我的工作就不限于是解 Bug 了,而是真正的去实现、开发一些新的功能了,这个工作模式到后期越来越倾向于开发而不是解 Bug 了。而我理想中的工作状态就是两个字来形容:探索。也就是发现、设计、实现、迭代收敛这个过程,可以说 2019.02 月份到 2019.06 月份是我工作中最幸福的一段时光了,因为我真正做了些我自己想做的东西,同时还有工资和丰厚奖金可以拿哈。
我的第一份工作遇到的有两个导师,其中一个给了我生活、人生上的很多帮助与指引,另外一个给了我技术上面很多的帮助(主要是给我派难度比较大的活,同时给出一些宏观建议),当然他们都有给我各个方面的建议,只不过从我的角度来看各有偏向性而已。第一个主管也是非常 Nice 的人,开放、不拘小节,会为员工尽量争取利益,画的饼大多数都给你圆了出来,从我的角度来看,我最关注的就是这几个角度了,而我觉得我的主管做的很不错。
虽说全志在整个业内不算是最顶尖的几个之一,产品也是以低端性价比为主(当然也不排除有些高端的产品,但是整体来讲低端的占很大一部分),但是公司对于新员工来讲是比较友好的,尤其是在人文关怀上面,这个绝对做的很不错。而从技术角度来讲,全志在半导体 IC 厂绝对是配拥有姓名的,也就是说这个平台能够带给你的「光环」也是可以期待一下的,虽然这个光环没有那么耀眼。
总体来讲,当初校招能够进入全志现在想想也是颇为梦幻的一件事情,毕竟当时校招的淘汰率也不低(也不排除名校的看不上全志哈哈),所以我一直在想这究竟是不是一个运气使然,从我的角度来看,确实运气占了不少一部分。但是后期不断的努力也算是一个补充吧。
下一份工作是深圳高通,也就是现在正在任职的这份工作,做 Camera 研发的,这份工作可能前期甚或后期一直都不会再有之前那样的任务给我,毕竟我想这个方案已经很成熟了,剩下的就是在旧有的大厦基建上面添砖加瓦而已,不过也不一定,说不定随着技能增长会有其它的发展也未可知,拭目以待吧。
只想说,高通研发岗在大学毕业的时候属于是可望不可即的一个存在,现在也不知道如何稀里糊涂的入职了,虽然不会涉及到特别核心的技术(毕竟外企,真正特别核心的技术有不少是不在国内的),但是软件上的设计什么的我们也能够接触得到,边走边看吧,谁知道呢。
下一篇文章就是我对于求职、面试等的经历与看法了。有一点,毕业之后能进大公司就进大公司,对于普通人来讲,不存在纠结到底大公司好还是小公司好,什么小公司灵活性更高啊,大公司螺丝钉啊之类的,不存在的,大公司就对了,越大越好,相信我,除非你天命非凡,就当我啥也没说。
以上是关于我的第一份工作的主要内容,如果未能解决你的问题,请参考以下文章