Skip to main content
头部广告图片
  考试学习首页 > 报告

一个自学前端的4年工作总结【三十而立,拒绝躺平】

2023-10-08 浏览:

大厂技术高级前端Node进阶

点击上方 程序员成长指北,关注公众号

回复1,加入高级Node交流群

中部不知名二本毕业,半路转前端,2018 年 9 月入坑,如今整四年,目前就职于一家中型公司

为什么走编程这条路?

其实是没有选择, 有时 没有选择,就是最好的选择

这一路走来,笑过痛过,开心过也失望过,拥有过,也失去过

壮志未酬

很早就给自己定下了目标:两年月薪 20k+,三年进大厂(目标 top5 的互联网公司)

第一个目标很快就实现,第二个目标却陷入了屡败屡战的死循环中

大厂绝缘体

大厂面了近 10 次,都是专家岗,到了这个年纪再面普通开发岗,可能连面试机会都不给

2 次面阿里,都是 hr 面挂掉;1 次面美团,也是 hr 面挂。最近 1 次是面京东,到手的 offer 因为裁员影响停止了招聘

收到的 offfer 有:小米、网易、喜马拉雅、叮咚买菜等

阿里面试官后来也给我交了心:技术没问题,但 hr 觉得你的学历与履历,与其他竞争者相比没有优势。现在大环境不好,应聘的人多,公司的要求更高了

我理解,很感谢他给我说这些话

夜很黑,路还很长

站在风口上的猪

时间回到 2018 年 9 月

我是半路出家转前端,边工作边学习的情况下,自学了三个月时间,很顺利就找到了前端的工作,还是甲方

我战战兢兢给 hr 要了 10k,令我意外的是,最终给了我 11k

能拿到 offer,我觉得有几方面原因:

1)当时前端正处于蓬勃发展的时期,vue 和 react 框架的成熟,给压抑了十几年的前端,带来了一次脱胎换骨的巨变,而我只是踩在了这个风口上

俗话说,站在风口上,猪都能上树,可能我就是那头猪

2)我的大学同学在关键时刻,给我指明了方向,这些指引让我了解市场所需,有针对性的学习,在最短的时间达到入门的效果

混沌期

熬过去,活下来

工作第一天

虽然面试我混进去了,但一开始工作,就把我打回原型

第一天上班,开始上手写代码大家就知道了我的水平,同事让我调接口,我胆怯的说没有调过接口,同事一下子就不说话了……

领导找我谈话:我知道你的水平差,也没想到这么差。我说希望给我一个月时间,如果到时候我还不能完成工作,就主动离职

领导可能被我的真诚打动了,他同意了。这一个月,也是给我的最后期限,我心里完全没底

工作第一天的晚上,就背着电脑去找朋友,让他给我讲项目

那一个月我几乎都是凌晨一两点才睡,早上六点多点就起床写代码

整个人是极度亢奋或者说是亢奋到麻木的地步

不知道困,也不知道饿

最终我的表现还是获得了领导的信任,渐渐胜任了工作,算是在前端这个行业站住了脚

是的 我活下来了

上升期

量变引入质变

团队的变化:加入了技术更强的团队,后来团队中有人去了阿里、小红书、携程等人员的扩展:前端从原来的 3 人变成 15 个人的团队项目的增多:从原来 2 个项目,变成了几十个项目,最多时手里同时在跑十几个项目用户的增长:从几百用户增长到了百万级用户

项目的增多,给予的技术自由度也就更高,各种新技术都可以尝试,不限制使用 vue 或 react

业务的扩展,可以接触到更多的场景,涵盖了 pc、h5、小程序、app 的混合开发等,解决了很多适配与兼容性问题

边界的扩展,还搞了几个纯后台的 node 抽奖项目,学会了如何操作数据库,如何解决高并发、接口如何防刷等等

随着用户的增多,项目的性能与持续优化就变成的异常重要

一百用户与一百万用户的网站有着本质区别,任何细节都变得更为重要

一个最常见的例子:商城项目的长列表渲染优化,长列表渲染的性能效率与用户体验成正比

用到的技术包括:分页+虚拟滚动、图片懒加载、图片的动态裁剪等等

在挑战中成长

开始第一次负责大型网站的系统架构、性能分析、网站优化、网站监控等方面

开始慢慢理解前端,开始注重用户体验,逐渐学会承受压力

瓶颈期

目标照亮前行的路

我不是一个自制力很强的人,需要给每个阶段都设置一个清晰的目标,否则就会掉队

一个风筝,必须有一根绳子牵着,大厂就是这根绳子

备战大厂

前后准备了 8 个月时间,把制定的学习计划具体到天

没有严格的时间限制,学习进度和效果就会大打折扣

时间任务2 个月系统性学习了前端的基础知识,浏览器运行机制,重点练习手写 js 题2 个月练习算法,对应数据结构与题型分类练习!刷了一百多道 leetcode 题1 个月利用 performanc 和 Lighthouse 分析工具,结合 web vitals 关键指标计算方法,制定页面的整体优化方案1 个月搭建自己的脚手架,创建 pc、h5 项目模板等,手写 webpack、手写 babel 插件等1 个月复习了 node 知识,学习了网络协议、网络安全与攻击的防御方法等1 个月复习 vue 与 react 源码,学会如何手写一个简单的 vue

对算法的误解

之前我对算法的理解,仅仅是为了应付大厂的面试

在两个月的算法练习中,我第一次体会到:编程不仅仅是技术,还是艺术

比如简单的循环,就可以解决很复杂的数学问题

算法对前端来说并不是非常重要,但却是一个优秀前端工程师的必备技能,对于提升编码能力有着举重若轻的作用

开局即巅峰

先从中型公司开始面,面了叮咚买菜、喜马拉雅,下来开始面小米和网易,并顺利了拿到 offer

然而花朵没有绽放就枯萎了,后来的面试却屡屡碰壁

结果已经知道了,阿里+美团,hr 面挂了 3 次,京东到手的 offer 飞了

有半年的时间,不是在面试,就是在面试的路上

大厂基本都是 4 轮技术面+1 轮 hr 面,多次这样的反反复复,确实很累

特别是第一次被美团的 hr 拒绝,那感觉锥心刺骨,以为成功触手可及,其实是海市蜃楼,一场空

根据运气守恒定律,可能前期的运气太好,到大厂这一步怎么都迈不过去,就像一堵透明的墙。我认为伸手能够到,却每次到最接近的时候又给当头一棒

备战大厂的结果虽然差强人意,但也是我目前成长最快的阶段

很享受这种向着目标冲锋的满足感,如今,我也可以违心的说一句:过程比结果更重要

迷茫期

后面的路怎么走?

静下来、慢下来

过去几年我一直很焦虑,怕技不如人 怕蹉跎岁月

经历了这一系列挫折,渐渐认清了自己,我还是我,不忘初心

唯有在路上才能消除心中的迷茫

用心去研究一些框架,了解其设计原理和优秀示例的写法

输出一些文章,也相当于给自己做的总结,大致分为几个系列

系列 1:源码解读,比如正在写的 elementUI 组件库系列,经典永远是经典

系列 2:把这两年备战大厂的10w 字笔记,整理下发出来,温故而知新

系列 3:个人随笔,聊聊生活,谈谈理想。难的不是编程,难的是生活

很喜欢《士兵突击》中的这段话

许三多:我就是一个兵

袁朗:一个很安分的兵,不太焦虑,耐得住寂寞。有很多人天天都在焦虑,怕没得到,怕寂寞。我喜欢不焦虑的人

失与得

唯一的坚持

这几年,唯一做的比较好的一点:坚持做笔记

把遇到的项目难点、解决方案,甚至是细小的知识点都记录下来。不知不觉,十万+的字数应该是有的

编程的好处

程序员活在自己的世界里

电脑没有人那么复杂,如果你的代码写的好,你和电脑的关系就很好相处,可以指挥电脑做你想做的事,不用去关注外边世界的繁杂与变化

编程的弊端

沟通能力的丧失,这一点是我这一年多才意识到的

可能是工作性质的原因,平时也不太需要怎么沟通,办公室哪怕一天不说话,也没啥问题。时间长了,感觉自己都得了“失语症”

嘴的作用在淡化,任何技能都需要练习,沟通的技能在代码世界中,一天天丧失掉了

我在大学里做过班长,交际沟通能力还算不错,到现在竟然落下了“残疾”

三十岁的人,与社会的人打交道,怎么感觉自己还是个学生模样呢

还有朋友圈的固化,想想微信快一年没加过好友了吧,哎,要认真反思了

越往上走,越发现沟通能力的重要性

选择大于努力

上个月,我最好的朋友也离开魔都了,对于这个结果深感无奈又并不觉意外

他这几年一直还是测试,工资没涨多少,而我已经涨了 3 倍(也只是中等水平)

他毕业于一本的大学,当时和我一起入职,是公司招的第一批本科测试。加上他的学历高,人缘好,沟通能力强,公司也把他当成骨干培养

传统测试的天花板很低,后来虽然都升了测试组长,但工资与开发的差距越拉越大

我要走了,劝他也转行做开发,他犹豫后拒绝了,因为他的女朋友就是我们公司的,他不想分开,觉得现在的生活挺好的

现在,压弯他最后的一棵稻草,是谈了 4 年的女朋友分手了,他觉得魔都对他没有任何留恋的地方了

从他的语气中,感觉他变化很大,很焦躁,杂着叹气与牢骚

他带着满心的遗憾与失望走了,不知到底是女朋友把他抛弃了,还是生活把他抛弃了?

假如他也做了编程,以他的学历与聪明程度,他现在的境遇又是怎么样呢?

有的人来了 有的人走了

鸟儿飞过天空 天空却没有留下翅膀的痕迹

结语

我不是一个努力的人,但我又是一个一天不学习就浑身难受的人

我不是一个乐观的人,但我又是对明天充满希望的人

作者:海阔_天空

https://juejin.cn/post/7139463067792277534

Node 社群

我组建了一个氛围特别好的 Node.js 社群,里面有很多 Node.js小伙伴,如果你对Node.js学习感兴趣的话(后续有计划也可以),我们可以一起进行Node.js相关的交流、学习、共建。下方加 考拉 好友回复「Node」即可。

 “分享、点赞在看” 支持一波