晋级高级前端工程师 -- 搬砖篇

756 阅读7分钟

本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金

我准备写一个小的系列,就是介绍高级前端工程师的工作内容,顺便讲解一下如何成为高级前端工程师,拿到四五十万的年薪,主要分三篇

  • 搬砖篇 主要讲述如何在枯燥的日常工作中寻找机会,提升自己的技术,获得上级和同事的认可
  • 技术篇 主要讲述如何开展技术工作,以及平时的知识储备
  • 晋升篇 主要讲述如何培养自己的思考习惯,如何培养人际关系等

欢迎各位加入虾皮,15天带薪年假以及业内顶级的薪酬,每个人都可以参与做技术项目,不需要永远做一颗螺丝钉,你是否心动了呢?快联系我内推(wx: R704369725),加入亚洲市值第三的公司吧!

我在虾皮呆了刚刚好一年,2020 Q4 - 2021 Q1 这半年里我主要做的是搬砖的工作,像大家一样画UI,和后端调接口,做很枯燥的工作。2021 Q2 - 2021 Q3 这段时间里我主要做的是一些技术建设的事情。 2021 Q4 我们组开始重构项目。大概的时间线就是这样,这篇文章主要描述我如何从一个搬砖的逐渐成为组内的核心承担技术工作。

2020 九月

实际上我是2020年9月份入职虾皮的,因为虾皮是我呆的第一个互联网公司,一开始非常不习惯,加上我们组的项目是交接过来的,相当于是把一个坑从其他团队手里接了过来。而我不了解如何交接,不了解如何熟悉项目,完全不知道如何下手。

于是果断去找leader,跟他明说我的状况(我是以初级工程师应聘的,所以处理不了并不丢人),让他明确给出梳理的模板,然后白天梳理项目,晚上看代码、了解react的技术栈(之前用的是vue)

九月份几乎都在交接,没怎么写业务代码,但是我跟着另外一位高级工程师一起梳理系统,学到了很多东西,比如如何看代码。这个阶段,我主要是看别人怎么做,然后自己多总结,多主动学习。其实业务开发都不太难,多给自己一些信心。

2020 Q4

Q4我们组接了两个大需求,当时由于我估算工作量的时候出现了失误,把一个上百人天的需求只估了七十天,然后导致组长和我疯狂加班,最后提测的时候出了非常多的bug,差点因此拿C,但是考虑到我们刚刚交接的情况,最后没有给C。但是从这个事情中我发现了几个问题

  • 因为没有在互联网呆过,我很容易写bug
  • 我估算工作量的误差很大

对于第一个问题,我整理了整个季度里我们组的全部bug,并对容易出bug的地方做了梳理,避免再次犯同样的错误。

对于第二个问题,我先是自己花时间把代码仔细看了一遍,对于估算不准确的地方进行认真的分析,主要有以下几个问题

  • UI效果难以实现,antd中没有现成的组件,得自己设计
  • 原逻辑复杂,修改起来非常困难
  • 复杂功能的自测成本高,没有留出充足的自测时间
  • 表单的开发成本和字段数是直接相关的,因此要考虑字段的数量

另外,还得提一下开发中经常遇到的需求变更。

在虾皮,需求变更是比较少的,但是经常会遇到一些文案需要确认、交互需要确认以及bug需要修复的情况。如果这些问题在测试阶段才暴露,意味着我需要在开发下一个需求的同时,需要修改上一个版本的代码。

我仔细计算过,修改文案的时间成本大概是10-15分钟,逻辑微调在15-30分钟,大一点的修改则需要更长的时间

所以,这些问题会导致我新版本的开发时间被缩短,于是又很多地方要改,又影响下下一个版本的开发。。。因此我在某个版本里疯狂的加班,修复上个版本留下的技术债并提高当前版本的质量,并在需求阶段确认所有的问题,充分的自测,以高质量交付,从那以后我的开发节奏就是良性循环了。

精益求精,能省下更多的时间

说实话我在2020年Q4的水平跟应届生差不多,主要是一个自我检讨、追赶其他人的阶段。

2021 Q1

经过一个季度之后,我可以得心应手的应对各种日常开发需求,甚至单独可以处理一些较难的需求和匪夷所思的线上事故 。处理线上事故后,我还在组内做了一次分享,主要讲述事故分析以及解决思路。

Q1是一个相对乏味的时期,我虽然可以应对业务开发,但是缺乏处理技术项目的能力,因此大部分时间还是做业务开发。由于老板说高级工程师需要广阔的技术视野,我开始主动报名参加公司里一些大佬的分享,学习一些新的技术,比如vite。后来在2021Q2我在组内又做了一次vite的分享。

值得一提的是,原本我们项目采用了redux,并且基于redux有一套列表页的业务模板组件(由于列表页都是高度相似的,可以基于业务模版组件快速开发)。但是交接后,我们认为redux并不适用于admin的项目,于是新增业务都不再用redux了,导致原有的业务模版组件也不得不弃用。

于是列表页的开发成本变高了。

然后我自觉地写了一个列表页的hook,并基于hook开发了一套新的业务模版组件,自己用了两个版本后推广到全组,列表页的开发又变得顺滑起来。我做的这件事得到了leader的一句评价

我觉得你是喜欢写代码的

与此同时我开始主动找leader,表示想尝试做技术性的工作,于是leader安排我升级antd

搬砖总结

总得来说在搬砖的时候我有几个地方做得好的

  1. 不断寻找自己的不足,并且通过总结归纳的方法提高,如bug率
  2. 主动思考如何优化代码,减少自己和他人的工作量,如重新写一套业务模版组件,只是花了一天左右,可以让大家都少写一些重复的代码
  3. 主动听别人的分享,开拓自己的技术视野;在组内做分享,让大家对新技术有所了解
  4. 保持思考,寻找工作中可以提效的地方并优化,主动把自己的工作从搬砖向技术的方向调整

简单来说就是在搬好砖的同时接触新的技术,虽然我在入职时和其他人相差很大,但是有一句话

道阻且长 行则将至

祝大家都能找到好工作