用户故事 | 我的十年
编者按:霍金猛是阅码场宁波用户,供职于一家汽车软件方案上市公司。我在宁波出差时约他线下面基,和他聊天中意识到他很多宝贵的经历值得借鉴,遂邀请他回顾自己从事Linux内核相关工作的十年心路,他爽快答应。希望他的十年可以对后来者有所启发,也希望更多用户投稿(wx:yufeipu)”我的十年“。
求学篇(2013~2016)总结:迷茫->假努力->假读书->笃定->努力->真读书,现在回想起来,在那个认知下,我能做到的仅仅是这些,但其实远远不够。 长篇大论: 高考后:2013年9月份和大多数刚高考完的高中生一样,即将奔赴大学学习,不知道是否和其他人不一样,我在报考志愿的时候大概有两个笃定的目标和一个笃定的困惑。目标:1.一定会去南方,2.一定选择工科专业.困惑:不知道选什么专业。困惑就不用说了,目标1:我想去义乌看看,因为在网络上看到义乌的小商品生意发达,骨子里总有种创业经商的想法,目前证明,至少在经商这方面我认为我没有太多天赋,关于创业我还在深入思考它的要素。目标2:一定要习得一技之长,足以让我糊口度日。 大一:一心奔着目标1,参加SYB 创业培训,去参加营销大赛去促销点当销售员,做家教,去图书馆读一些销售的书籍(到现在好像没有一本真正能让我想起来的书,除了一本翻了几章的《资本论》)。大一的时候抓住学校课程安排的商机,做了一把小生意,算是小赚一笔。不过当我意识到创业和创收的差别之后,我决定暂时放弃这条路。 大二:一心奔着目标2,去找了学院和我专业相关的教授(这是我的贵人,一生铭记感谢,每年教师节和春节都会送去祝福),加入了他的课题组,做过一些竞赛项目,写过一些项目计划书,拿过一些还不错的奖项,帮学长写过毕业论文。可能别人上专业课就是上课,我上专业课觉得能用在项目上(现在回想起来学的不够努力和专注)。 大三: 大二是个起点,在之后就开始关注嵌入式方向的东西,大概是:51单片机,C语言,linux OS(Ubuntu),ARM Linux,Qt,C++语言这几个方向,其中我最感兴趣的是Arm Linux + Qt。 在这期间我读过《Linux 鸟哥私房菜》,麦子学院C语言,arm linux等课程,《linux 设备驱动详解》、《C++ GUI Qt4 编程》、《操作系统设计》、《程序员的自我修养》、华清远见嵌入式C语言等还有一些其他的嵌入式方面的书籍。现在回想起来,书看地挺杂,不够聚焦。 大四:上半年9月份开始准备择业,大概就四件事,写论文,看代码,找工作,面试。 论文:写地比较顺利,现在回想起来没写多久。 看代码:一个毕业了的学长,给了我部分算是产品级项目的源代码,真的就是直接啃,多线程,C语言指针,业务逻辑梳理等等,因为不能直接调试,或者也没有能力给调试起来的原因,反正学到的东西有限。 找工作:就业篇再续 面试:就业篇再续 就业篇(2016~2017)总结:信心十足->铩羽而归->充电->反攻->入职->见识->格局 第一次去面试,是杭州一家小公司,我记得好像是浙大几个校友创办的公司,我瞧不上他们,他们也瞧不上我。 三个原因: 1.对方不准时,这大概是我大一看的一些书籍作怪,我总觉得一些不守时的人做不成大事,尽管对方是浙大背景创业团队,我哪来的谜之自信? 2.让我在一张白纸上手写一个二分法排序,我没完全写下来 3.给了我Offer 并非完全嵌入式开发的岗位,实际上是技术支持。 基于以上3 个原因,我决定放弃,主要原因还是觉得能力不足,岗位和目标不匹配。 第二次:HK, 实习岗,压根没要我,仅仅是简单聊了几句,我觉得挺好的,因为那个岗位我投递的仅仅是做标定的,当时我没有选择其他岗位的原因应该是校招很多都结束了,所以我走社招通道有点困难。那时候十分憧憬进入大厂 第三次:失败-> 充电 第四次:失败-> 充电 第五次:公司总部背景大,有培训,linux Qt岗位匹配,聊的来,面试题写的不错,就成交了 实习:同期有很多都是研究生和博士,一起培训受益良多,感受就是,刚毕业应该找大平台,体系完善,质量高的公司,增长见识提升格局。 大学毕业:实习+回学校领毕业证毕业照+和导师合影+导师给我一个公主抱 职业之路:3 年 2017~至今自学之路 -> 2017~2018独挡一面-> 2019编程规范-> 2020模糊的职业规划 这三年我觉得做的最出色的一件事就是我整理了C/C++ 编程规范,并将此编程规范作为部门规范,并给所在部门的同事进行培训,这让我改变了对编程这件事的理解,就是除了处理业务逻辑之外,关于如何写的更好有了理论指导。听起来有些平庸,可就是这么平庸。 择业篇总结:短择->笃定->认知升级->走对的路 短择:2020.06~2020.11 盲目换行业,创业公司。体会:纯软&嵌入式区别点较多,不喜欢,不匹配,会感觉能力不足,有点浪费前面3年的经验,人员相对木讷,理念不同。前面3年经验的总结+上一段失败经历,总结很多。这中间有一个月没工作,刷书的一个月真爽。 笃定:我择业的几点:大平台,嵌入式技术方向,产品符合未来大趋势 认知升级: 1.情绪是什么? 可控制,可管理,背后的逻辑,清醒的自我认知,无我的智慧境界 2.努力是什么? 完善不完美的自己,名利然也,实则非也 3.方法论是什么? 理论+实践+实事求是 走对的路: 其中三件事我认为我做的比较出色,分别是设计、沟通、管理。 设计:当接到一个软件需求,首先要考虑的是如何拆解需求,将一个抽象的描述,具象化到一个软件模块,再具象化到这个模块的用户场景,最后将用户场景嵌入产品当中。前面这几个过程最好用图画出来,PPT 也好,UML 也好,总之画出来。当需求拆解完之后你就知道你要做什么了,最后完美的设计还是用图+描述来呈现,用什么样的图表达什么样的事情,这个是方法论的问题。目前为止,设计过的几个大的模块基本没出过什么问题,至少和需求没有出现过偏差。 沟通: 异地,异国,异司,刚开始真是让人头大,无所适从,最终我摸索出来一个方法论,快速打通沟通渠道 + 持续沟通建立信任机制,项目前期做好这两件事非常重要。我设计的几个模块没出什么大问题,完全得益于这个方法论,在前期让需求有渠道的,快速的沟通,在后期有渠道的,快速的被解决。 管理: 期间同时带两个组,下面也就4个人,我的理解是别拿豆包不当干粮,管理一个人也是管理,这种认知是前提。 只要有多人员协作,就有开发任务管理,问题管理,团队建设问题。刚开始也是无所是从,开发任务实现总是不能达到我的预期,于是我就设计了用于管理任务进度的表格,这个表格没有很复杂,但是很有效。表头大概是: 任务描述,时间due,责任人,任务进展状态等几项,做完一项打对钩,且实时更新。我觉得和项目计划不同的是,这是一个在实现开发任务过程中不断拆解的过程,我可以一目了然发现问题,并及时提出指正,后来这个模板被小范围推广开来。当然在这个过程中,问题管理也一并被解决。团队建设就是尽量分享一些和团队成员息息相关的知识盲区,目的还是为了接下来更高效的开发。 规划总结:高级工程师-->系统架构师 希望自己可以从高级工程师到系统架构师的进阶,尽管我一直不认为自己是一个合格的高级工程师。 2022.12.8 结识张国强老师,非常感谢张老师的提点和交流,绝对是我的贵人,让我对规划有了进一步的拆解,接下来的路刻苦而坚定。
|