一个5年前端er的“前世今生”(前传)

前言

​ 我是一名18年下半年工作的一名前端开发,现在是一家规模不大的公司的前端组长 + C端产品经理,今年是我进入前端岗位的第五个年头,做C端产品经理的第一年;22年外部环境较差,技术岗位似乎也不再狂热,也看到了很多同学面对技术岗位的疑问,前端是否还值得学?我适不适合学编程?,23年初亦是一个改天换日的节骨眼,借此机会,我也重新审视一下自己。希望我的经历可以为大家答疑解惑,为大家的职业选择提供一些参考。

​ 篇幅较长,打算分两篇文章,前传写我是如何一步一步走向前端,以及学习开发的过程给我带来了怎样的改变。

​ 对应的是16年9月到18年6月,也就是我进入大学之后,进入工作岗位之前的时间。

2016年

​ 我是一名没参加过高考的同学,因为高三期间已经我确定了本科无望,决定在16年春天专科的自主招生中提前走,当时对专业的选择很清晰,因为一直以来特喜欢研究电子产品,对计算机很有兴趣的,所以专业方向很明确。为了求稳,最后选择了相对冷门的“物联网技术与应用”专业,这个专业其实和计算机技术与应用差不多,2016年3月20号考试,300分卷子,考了280分。

​ 考试完成后,在家休息了10天,耐不住寂寞,就想出去挣钱,没想到意外开始了长达5个月的打工时光,那时候尚且未成年,9月还要上学,能找到一份有薪水的工作,且一个月有1600(对于当时的我来说,已然是一笔巨款),实属老天保佑,虽然是厂里面。这也是我人生中第一次进厂打工,那段日子,对我后来在大学中坚定学习信念产生的很大的影响,如果读者们兴趣的话,到时候再更新吧,我们回到主线故事。

​ 转眼就到了16年9月,大学生活正式开始了,大一上学期简直就是一塌糊涂,学校教的第一门编程语言是C,可能天赋不够,第二节课就听不懂了,那一年基本玩过来的,其实内心已经很焦虑,但是又找不到方向。

​ 面对C语言课程,我的表情大概是这样的。

​ 后来到了16年冬天,学长给我看了一个表白主题的H5,依稀记得是用canvas实现的,代码那时候肯定是看不懂的,但是还是无师自通的发现了可以用记事本全局替换文字,发现这个秘密后,我打算给刚谈恋爱不久的同学一个惊喜(直男行为,请勿模仿),把里面的名字,替换成我和她的名字,项目里面很多文件,我估摸着用记事本一个一个替换至少花了三小时,后来被人家踹了。大一上学期就这样在学生会、游戏、恋爱,网吧中荒废。。

​ 转眼到了17年春节,走亲访友下午回来后,一般都很闲,可能真的是太无聊了,竟然想学习一下之前的表白H5,学长告诉我,先学HTML+CSS,于是我就去了慕课网(imooc),学习了HTML+CSS的初级课程。不得不说,慕课网的课程做的很好,简单的同时,又充满了成就感,大约花了7天的时间,认认真真的把课程学完了,那时候还用本子做笔记,可惜本子现在找不到,要不然一定拍出来给大家看看。学习半个月后,我根据当时的全部知识,在2小时内使用Hbuilder临摹了百度的搜索首页,真的是成就感满满啊。

2017年

​ 后来就到了大一的下学期,开始讲Java了,说实话,我也不清楚是老师问题,还是我的问题,我依旧上课听不懂。那时候已经不想荒废时间了,于是我上课就自己临摹网页,比如淘宝PC站点、网易新闻首页,看到啥就临摹啥。也算是认真学习了。还瞎折腾在阿里云上买了轻量级服务器和域名,配合wordpress,搭建个人博客;因为第一次接触阿里云,很多地方都无从下手,全靠自己摸索,一弄就是几个小时,急的我满头大汗,当然最终我还是部署成功了,回头来看,【折腾的过程】又何尝不是一种财富呢

​ 随着临摹的网页越来越多,html+css也愈发熟练,我开始进入JavaScript的神奇世界,那大概是17年5月。看的是网易云课堂的李炎恢老师的JavaScript教程;虽然课程有年头了,但是老师教的很不错。JavaScript难度比html大多了,最终还是坚持下来了,完成了第一遍学习,到了这个阶段,真的已经学入迷了,每天晚上我都和狗皮膏药一样跟着准备竞赛的室友找一间没人的办公室学习

17年6月下旬,暑假前夕,在室友的引荐下,终于被竞赛老师注意到了,竞赛老师姓蔡,我们私下都叫他老蔡。

​ 我对竞赛是充满期待的,同时也意识到了这是一次非常难得的机会,可惜谈话并不顺利,我和老师非常充分了的说明了我想参加比赛的决心,老师也和我聊了老半天。但是对于比赛这件事,却让我再学习学习,扔了几本书给我打发走了。我记得其中有一本《JavaScript设计模式》,完全看不懂。最后在大学图书馆重新找了本JavaScript入门数据。而进入竞赛组的学生都去北京培训了,我不止一次的表示也想去培训,但是老师委婉的表示,没有前端培训,你暑假自己学学吧,说起来还挺失落的。

​ 比赛结束了我才知道,老师当时认定我不是正经人,其一是当时染了黄毛,其二是参加了学生会,其三是没有参加高考。

17年的暑假,只能回家啦。在之前的工厂继续打工,还好工厂里面可以接触到电脑,一边打工一边继续学习css、临摹网页,暑假就这样过去了,这次的工资后来成了我校内生意的启动资金,帮我赚到了半年的生活费,这个也有空再聊吧。

17年9月大二开始了,长期的学习已经让我铁了心想走前端路线了。自然不想把时间浪费在课程上了。我和老师请求能不能不上课,去没有人的教室自己学习,我们安卓老师比较好说话,说明情况后,老师让我和安卓竞赛组的学生一起学习,时至今日,依旧想说一声,感谢你,赵老师;

​ 大概就这样保持高强度学习到了9月底,机会终于来了,蔡老师的云计算竞赛组中,web + docker位置一直存在空缺,本届没有合适的学生,上一届同学已经功成名不想继续参加了,蔡老师最终还是给了我试一试的机会,10月7号,正式进入云计算竞赛组。

17年的10月初,进入实验室前夕,还朋友去南京玩了一圈,逛逛夫子庙、南京博物馆,与自由做一个告别。回来当晚就进入实验室。云计算竞赛组的规矩非常严格,作息时间:8:30 - 11:00/14:00 - 18:00/19:00 - 22:30,周一到周日全年无休,堪比互联网行业9107,但是对我来说这是得之不易的机会,因为兴趣,所以快乐。

​ 进来之后,蔡老师就给我定了目标,一个月之内搞定web项目,起初还是有信心的,但看到这个所谓的web项目实际上是java的SSH项目时,我懵了。

​ 整个项目web占比并不多,反而java开发量占比巨大,那个阶段我只会HTML CSS JavaScript(ES5),并且仅限静态页面的水平,web前端,HTTP,前后端交互完全不了解,更别说java了,相当于10级萌新直接挑战60级boss。初期异常困难,把ajax都写到java里面去了,还不知道为什么编译器报错,急的我天天都睡不着,好在整个10月学长一直对我进行指导,帮助我消化java部分,加上之前前端基础比较扎实,将绝大部分处理逻辑移到了前端侧后,11月初终于把ssh项目全部搞明白了,在实验室留了下来。

​ 后面11月、12月都是日复一日的不断的学习,也进入了高速学习阶段,linux、docker、mysql、git,都是竞赛的一部分,肯定需要学习的。于此同时,私下也在继续深入前端领域,开始进入前端工程化的世界,学习Vue,之前一直写的都是原生或者jquery,编码思维上是面向过程的,刚开始接触Vue,很蒙圈,也很新奇,此外也逐渐进入了大前端领域,包括webpack scss typescript nodejs,还有github npm,琳琅满目的框架与工具,进一步的让我感受到了技术的魅力。

​ 当然JavaScript不能放弃,那段时间把冴羽老师的JavaScript深入系列,专题系列认真看了一遍,当时只能看懂40%,但是依旧给了我莫大的帮助,对JavaScript的理解提升了一个档次,还有其他很多老师们的博客以及教学视频,非常感谢前辈们无私的奉献,有你们,技术世界会变得更好。

​ 一转眼就放寒假了,我们竞赛组留在在学校,17年冬天很冷,鹅毛大雪,宿舍门口杯口粗的树干都压断了,为了增加学习时间。我也搬到实验室住了;

​ 这里我重点说一下,我们云计算实验室,听起来很高大上,其实上环境非常差,没有空调,到处都是机房的线,墙壁发黄并且起壳;是我们睡觉 + 吃饭 + 学习的地方,同时还是我们老师的办公室,而且还是顶楼,窗户也关不严,冬天风嗖嗖的,夏天墙壁被晒得发烫又像烤箱。不过我不在乎,燕雀亦有鸿鹄之志。我们在过年的前三天回家了,学校还发了坚果之类的慰问品,咱们学校还是很不错的。我家距离学校并不远,都在一个城市,但是这却是我时隔半年,第一次回家;临走前,学长给我丢了一本书《深入理解ES6》,让我过年在家继续学习。

​ 动荡的2017年就这么过去了,年初还键盘都敲不利索的学习html css,而年底已经可以做一些独立开发,这一年经历了太多,从对未来的焦虑到对未来的兴奋,从荒废到废寝忘食的学习,,得到了竞赛老师的认可,进入了学习氛围浓厚的实验室,这是独一无二的一年。

2018年

18年春节,农历初五返回学校继续学习,在家的一个星期中也没歇着,加紧时间将《深入理解ES6》的全部内容看完,知识点很多,let、箭头函数、解构赋值、模板字符串、等等,受益匪浅,ES6是革命性的武器,后面我又断断续续学习 ES6 2年,足可见ES6的重要性,对了,深入ES6主要学习了《你不知道的JavaScript》,我们继续回到主线故事吧。

​ 18年上半年只有一个旋律,职业技能大赛18年3月中旬进行安徽区的省赛,前三名可以参与5月下旬深圳举办的国赛,蔡老师慎重思考后,决定暂时不让我上,让上一届的学长参加省赛。我可以理解,竞赛老师要为比赛结果负责,而我资历最浅,自然风险最高。最终兄弟们在安徽芜湖的芜湖职业技术学院拿到了省赛第一名,顺利进入国赛

​ 在比赛练习的间隙,我依旧保持了不断学习前端技术的习惯,具体学习方法是不断的看技术教程文章与视频、不断的写代码加深理解,那段时间经常看慕课网的付费Vue课程,老师们精彩的课程,在我理解现代前端上起到了很大的作用,另外就是技术胖老师的一些免费大前端课程,非常感谢老师们。同时也开始尝试写博客,进行输出,希望可以像帮助过我的前辈们一样,用我的能力帮助到更多前端人。

​ 省赛之后,老师找我聊天,和我说会尽力为我争取国赛上场的资格,对与这件事,我很感动,因为校领导是不希望我上场的,我的学长能力更强,并且已经有一年参赛经验,能抗大旗,最后是蔡老师和校领导拍桌子,将一起责任担在自己肩上,才争取到了我国赛上场的机会,这些事情都是比赛结束之后才知道的,因为老师怕我比赛心理压力太大。其实蔡老师没理由这样,他的立场和校领导一样,只是蔡老师想尽自己所能,尽力为每一个追梦赤子带来回报,哪怕承受巨大的外界压力,真乃恩师也。

18年5月下旬,我们踏着初夏的晴日,带着8个月日日夜夜的努力,踏上了前往深圳的路程。到深圳的时候,已经是半夜2点,第二天8点无论是老师还是学生,依旧准时起床,做比赛前的最后冲刺,艰苦环境打不到意志坚定的人。

​ 我们在深圳的宾馆练习到最后一刻;5月26号,正式开始比赛,我们早早的进入了比赛场地,对机器进行最后的调试。

​ 真的进场了,到了最后一刻,其实也不紧张了,比赛时间2小时,因为我准备充分,我的题目都非常快速的完成了,拿到了可以拿的所有分数,团队中后期出现一些问题,但是最终都妥善解决了,没记错的话,最后存在小部分题目没有完成,但是这已经非常非常好了。

​ 响铃,比赛结束,键盘敲击声逐渐停歇,人们开始根据引导逐步走出赛场,我的眼眶已经湿润,这一路太辛苦;从小我就爱玩,小学去游戏厅,中学去黑网吧,从来不好好学习,最后上了专科,其实不是不想学,只是因为一直断档,导致无法跟上学习节奏,随着年纪的增加,内心也越来越焦虑与自责,对未来充满迷茫,也愧对父母这么多年的养育之恩,但那一刻,我成了自己的英雄

​ 我们小组另外2个人因为没有拿到满分,似乎心情不太好,情绪没有渲染到位,我又把眼泪憋回去了,冷静下来后,仔细分析了一下,因为有一些题目没完成,内心还是比较担忧的,怕辜负了老师和大家这么久的努力。当天晚上成绩出来了,我们在全国88支队伍里面,排名第3,前10名国赛一等奖,我们成功了!。

​ 成绩出来当晚,原本打算去看看深圳世界之窗,但是因为和校领导喝酒应酬,没去成,至今也没去成,回去的路上蔡老师和我们说了很多,包括强行让我上场和校领导的翻脸,以及这么多年搞比赛,做竞赛指导老师的艰辛;恩师难求,我们亦没有辜负蔡老师的期望。

​ 第二天领奖仪式后,我们下午便启程返回合肥,学校专车过来拉横幅、送鲜花给我们拍照纪念,那种感觉还挺奇妙的。后来回到学校实验室后,也许真的是太开心了,紧绷的神经突然松开,似乎陷入到了一段甜蜜梦境,所以啊,那一段记忆怎么也回想不起来了。

最后

​ 我偶尔会想,如果在另一个宇宙,我与蔡老师擦肩而过,是否还能走到前端这条路,会不会毕业就去工厂,亦或者毕业后花费几万元去培训,这些都是更加难走的路线。不过现在我有了答案,无论是何路线,都将走向现在技术岗位。

​ 因为决定性的钥匙已经被我捏在手中,那就是兴趣

​ 这也是我想送给大家的答案,技术岗位似乎已经不像几年前那样火热,内卷非常严重,大厂开始裁员,互联网这么多年的发展似乎已经走到了尽头,不是这样的,可以独挡一面的开发,始终是稀缺的;但如果是奔着待遇来的,那么大概率拿不到高工资,并且职业上限很有限。只有兴趣,只有发自性的去做自己认定的事情,无论什么样的风雪都吹不灭的意志,才能带你突破重围,一定要不断思考自己,去探究本我,寻找自己的闪光点,然后不问结果的去做,直到最后一刻。如果历尽千辛万苦依旧失败,不必气馁,因为这一路的历练与坚持,会帮助你下一个的选择,如果成功了,将是人生的转折,就像《肖申克的救赎》中,Andy凭借超凡的信念与毅力,爬过长达500米的下水道,重获自由。

​ 前传大概就到这里,后面还有坎坷的求职、专升本,那是一段与大学完全不同的经历,篇幅有限,下一篇我们再见吧!👋🏻