中部不知名二本毕业,半路转前端,2018年9月入坑,如今整四年,目前就职于一家中型公司
为什么走编程这条路?
其实是没有选择, 有时 没有选择,就是最好的选择
这一路走来,笑过痛过,开心过也失望过,拥有过,也失去过
很早就给自己定下了目标:
两年月薪20k+,三年进大厂(目标top5的互联网公司)
第一个目标很快就实现,第二个目标缺陷入了屡败屡战的死循环中
大厂绝缘体
大厂面了近10次,2次面阿里专家岗,都是hr面挂掉;1次面美团,也是hr面挂。最近1次是面京东,到手的offer因为裁员影响停止了招聘
阿里面试官后来也给我交了心:技术没问题,但hr觉得你的学历与履历,与其他竞争者相比没有优势。现在大环境不好,应聘的人多,公司的要求更高了
我理解,很感谢他给我说这些话
夜很黑,路还是很长
时间回到2018年9月
我是半路出家转前端,边工作边学习的情况下,自学了三个月时间,很顺利了就找到了前端的工作,还是甲方
我战战兢兢给hr要了10k,令我意外的是,最终给了我11k
能拿到offer,我觉得有几方面原因:
当时前端正处于蓬勃发展的时期,vue和react框架的成熟,给压抑了十几年的前端,带来了一次脱胎换骨的巨变,而我只是踩上了这个风口
俗话说,站在风口上,猪都能上树,可能我就是那头猪
我的大学同学在关键时刻,给我指明了方向,这些指引让我了解市场所需,有针对性的学习,在最短的时间达到入门的效果
熬过去,活下来
工作第一天
虽然面试我混进去了,但一开始工作,就把我打回原型
第一天上班,一写代码大家就知道我的水平,同事让我调接口,我胆怯的说没有调过接口,同事一下不说话了。
领导说:我知道你的水平差,也没想到这么差。我说希望给我一个月时间,如果到时候我还不能完成工作,我就主动离职
领导可能被我的真诚打动了,他同意了。这一个月,也是给我的最后期限,我心里完全没谱。
工作第一天的晚上,我就背着电脑去找朋友,给我讲项目
那一个月我几乎都是凌晨一两点才睡,早上六点多点就起床写代码
整个人是极度亢奋或者说是亢奋到麻木的地步
不知道困,也不知道饿
最终,我的表现还是获得了领导的信任,渐渐胜任了工作,算是在前端这个行业站住了脚
是的 我活下来了
量变引入质变
项目的增多,给予的技术自由度也就更高,各种新技术都可以尝试,不限制使用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:把这两年备战大厂的几万字笔记,整理下发出来,温故而知新
系列3:个人随笔,聊聊生活,谈谈理想。难的不是编程,难的是生活
很喜欢《士兵突击》中的这段话
许三多:‘我就是一个兵’
袁朗: ‘一个很安分的兵,不太焦虑,耐得住寂寞。有很多人天天都在焦虑,怕没得到,怕寂寞。我喜欢不焦虑的人’
唯一的坚持
这几年,唯一做的比较好的一点:坚持做笔记
把遇到的项目难点、解决方案,甚至是细小的知识点都记录下来。不知不觉,十万+的字数应该是有的
编程的好处
程序员活在自己的世界里
电脑没有人那么复杂,如果你的代码写的好,你和电脑的关系就很好相处,可以指挥电脑做你想做的事,不用去关注外边世界的繁杂与变化
编程的弊端
沟通能力的丧失,这一点是我这一年多才意识到的
可能是工作性质的原因,平时也不太需要怎么沟通,办公室哪怕一天不说话,也没啥问题。时间长了,感觉自己都得了“失语症”。
嘴的作用在淡化,任何技能都需要练习,沟通的技能在代码世界中,一天天丧失掉了。
我在大学里做过班长,交际沟通能力还算不错,到现在竟然落下了“残疾”。
三十多岁的人,与社会的人打交道,怎么感觉自己还是个学生模样呢
还有朋友圈的固化,想想微信快一年没加过好友了吧,哎,要认真反思了
越往上走,越发现沟通能力的重要性
上个月,我最好的朋友也离开魔都了,对于这个结果深感无奈又并不觉意外
他这几年一直还是测试,工资没涨多少,而我已经涨了3倍(也只是中等水平)
他毕业于一本的大学,当时和我一起入职,是公司招的第一批本科测试。加上他的学历高,人缘好,沟通能力强,公司也把他当成骨干培养
传统测试的天花板很低,后来虽然都升了测试组长,但工资与开发的差距越拉越大
我要走了,劝他也转行做开发,他犹豫后拒绝了,因为他的女朋友就是我们公司的,他不想分开,觉得现在的生活挺好的
现在,压弯他最后的一棵稻草,是谈了4年的女朋友分手了,他觉得魔都对他没有任何留恋的地方了
从他的语气中,感觉他变化很大,很焦躁,杂着叹气与牢骚
他带着满心的遗憾与失望走了,不知到底是女朋友把他抛弃了,还是生活把他抛弃了?
假如他也做了编程,以他的学历与聪明程度,他现在的境遇又是怎么样呢?
有的人来了 有的人走了
鸟儿飞过天空 天空却没有留下翅膀的痕迹
我不是一个努力的人,但我又是一个一天不学习就浑身难受的人
我不是一个乐观的人,但我又是对明天充满希望的人