回忆录之我的四段前端实习经历


前言

作为第一篇在博客里的日记叙事,我想记录下我大学本科期间的前端学习和去工作的心路历程。我现在还没有毕业,大概还有小半年的时间,就要变成那种所谓的都市丽人(?)bushi,其实就是职场牛马。感慨时间过得好快,我都还没有怎么玩够,大学就要过去了。

我在大学里也有一些其他专业的朋友,平时经常一起玩的,他们给我的感觉就是大学过得美滋滋啊,打游戏的打游戏,画画的画画,也有去到处旅游的(哎,而我好像不知道在追赶些什么东西,以尝试弥补我学历的缺陷,或者是性别作为女生的劣势。(有很多同事说我卷,可是又亲口承认想招男开发,但我认为这是父权社会下的极大不公平,而且前端这种切图调包的活不就是女生更合适吗?)

学前端的路

我好像一直都是那种很听话的人,所以大家说啥就容易随波逐流地听着去做了。刚上大一的时候前端是什么都不知道,然后学校老师说,呐呐校里面有个社团啥的,里面计算机大佬很厉害,大家要争取进去哦。然后我就信了,报那个社团,跟着里面的学长学姐做考核,里面有算法组,前端组,后端组,产品组、设计组等等,听起来是不是很像一个项目小队,也为我后面组队做项目奠定了成员基础。

然后我就报了算法队和前端队,根据里面的人安排的任务去做。依然记得大一的寒假的时候,过年期间宅在家里看黑马网课(不要笑我),学会了基础之后,就去模仿官网复刻一个出来(仓库里有在线演示b站链接和源码),有不懂也会上网请教各种大佬,看见自己想做的效果一点点实现的成就感还挺高的。后面很多时间,比如过端午节等周末期间,我都是坐在宿舍里看电脑学东西或者弄一些玩具类的项目,但没有放到github……有时候上课上马原那种“水课”的时候,就会带电脑,手机,一整节去看网课学前端。

然后大二一整年在学Java,Springboot的东西,我当时就是想要去做一个后端,两边一起投,(差点去全栈了)只是机缘巧合期间,拿了前端的第一份实习offer,就走上了这条路。

再后就是接触八股文,面试题这种东西,(我真的好讨厌啊,但是应试模式下不得不去关注学习,尤其是各大厂的笔试题,我们一致认为是门槛提高后的选拔手段罢了,实质开发也用不到)

大三大四就是在企业接受实战了,外加空闲时间跟朋友们组队写项目,这种团结合作一起把想法实现的过程还挺开心的。

好像也没什么特别的,总结起来就是看课,学着自己敲代码,看有意思的东西去模仿,跟同行或大厂的朋友们交流,不断练习,看书看各种资迅。

实习生活

我第一次实习是在大一大二期间来着,当时是被专业课的前端老师挑了出来然后推荐到实验室里,然后实验室跟广州一家互联网公司合作,我就成了里面的一员,跟几个同学在假期时间里去他那边实习,这家A公司虽然不是很大,但是在当时的我们看来,很满足,每一天都在这学东西,做测试做前端,写各类报告等等完成他们给的任务。因为mt给我们包住,所以我们几个同学住在一起生活和工作,试过加班到晚上两点,也试过半夜跟mt一起到外面喝酒吃烧烤,周末也试过团建和唱K自助餐,总体来讲第一次体验上班,劳逸结合,那段时间挺开心也收获挺大的。后面可能没注意身体熬夜和自己给压力了就生病了还是开学啥的,就回家了,其实还有点后悔不多待一会。

大三的时候去了B公司,这个时候我有了更加充足的技能去做各种需求了,也慢慢认识了很多学历比我好的同学和大厂的朋友们,跟一些有经验的开发者去学处理企业级的真实场景。我还记得第一天到B公司的时候,大家都对我特别好,MT和隔壁前端同事让我在旁边椅子上安心坐着,他们就帮我搬电脑,插网线,弄好台式机和键盘(笑鼠),带我熟悉各种环境,还在我分支上帮我改bug收尾(说来惭愧,刚开始不熟悉,后面自己能独立完成大部分事情了)。午饭期间我们小组的几个产品开发测试会一起吃饭聊天,也是我一天最放松和开心的时刻。现在依然记得有趣的Steven同事看到chiikawa就分享给我(x。这段有点像白月光的存在。

后面离职的时候我还偷偷流眼泪,说真的挺不舍得B公司的,氛围特别特别好,但是我选择主动离职的原因是,我想强迫自己跳出舒适圈,去看看其他的环境,接触新的技术,当时的我年纪还小,多少有点对自己过于自信

然后去了C公司,mt是个很年轻的潮男,后端有个声音很甜蜜人也很可爱的小姐姐,组里也有好几个应届生,相处也挺愉快的,就是活不少,大家都很拼命干。但是我跟这位mt仿佛有点八字不合,他个人性格很喜欢遮遮掩掩,回答问题时故意讲一半不说一半,以为这样子能启发别人思考,其实真的很严重影响工作进度。而且喜欢对两个下属一对一去会议室开会diss一下全程否定,他想通过这种方式来施加压力让我跟另一个正职下属更卖命一点干。实话说这种方式挺让人不舒服的。不过也是感谢教过我不少东西吧。

D公司的实习经历是我接触的项目最多,技术成长比较快的时候,领导和小组氛围都特别好,大家互相帮忙很耐心地解决需求问题,推动工作进展,环境舒适,当时我坐的一整层都是技术和开发,去饭堂吃饭有种隔壁都是程序员的感觉(笑)。

体验与技术对比

至今为止我接触过的前端技术栈有react,RN,vue2,vue3,next.js,umi,electron,和各类组件库等等,也正因为有四段有小有大的实习经历,才让我体会到了不同的流程规范,项目风格,设计模式,封装复用的思路,工程化和性能优化方案等等。很大的区别就是基建和自研的各种中台与组件等,比如埋点数据中心上报平台,多语言平台之类。

我见过最拉最讨厌的项目(可能也是正职不想做交给实习生的原因吧),是个next项目,从外包人员手里拿回来的,里面的webpack配置和相关业务代码比较不合理而混乱,可维护性很差,没有热更新,一直都靠每次用npm run build打包一两分钟,然后再用http server去把这个dist文件夹下的东西启动到本地看,这个时候如果再想改动一些样式,则要重新打包,重新看,整个过程就耗费三分钟,开发起来效率非常低,十分吃力。毕竟它没有热更新。

期间我多次问我的导师为什么会这样,他没有很清晰地回答过,也可能是不知道或者没眼看吧,因为他已经把这个项目完全交给我负责了。我很不爽就多次看里面的配置,上网找原因,跟其他大厂朋友探讨一下,看里面的源码(虽然不太懂),看报错,一点点去排查。终于,找到了原因,是某一块代码执行报错导致的next start失败。

但是新的问题出现了,就是它启动依旧很慢,180s,我需要对他进行重构,将老webpack迁移到vite……才是比较好的解决方案。

也见过比较舒服的代码,它封装复用了很多组件,业务与通用解耦,总的来说很规范和干净,维护起来也比较快,代码特别清晰易懂。

但总体上来讲react的写法大多都类似,我个人也喜欢写这个框架搭配函数组件去开发,反而vue的话风格很多,显得乱乱的。技术就都这些,只不过用不同的逻辑拼凑起来不一样的业务罢了,我认为实习最难的点就是对于业务的理解上,不同的项目负责不同的业务,很多时候做需求要想清楚这个逻辑,以前的写法是怎么回事,以及当时为什么要这么写,我这一次的改动要不要兼容旧数据,以及这次的改动是哪里。代码逻辑看懂了,但是为什么要这样子安排还是得跟公司的老员工去请教。只有明白了这些系统是怎么用的,才能更好的开发和定位日常问题。而我觉得老员工和新员工最大的区别也是对公司内部和业务系统的掌握程度。

而技术的话可能并不是特别值钱的东西,也学不完,同年限的话大家的水平都很类似,有人拿的薪资更多只是因为ta在更大更有钱的平台。

遗憾的点

想起来最可惜的就是我去实习开始得比较晚,我是大三下才去实习的,我应该从大二的暑假开始准备找,大三上就去,时间线比较晚,准备得也不够充分。大一大二也有点摆烂,没有尽早选好前端这个目标,一开始还去往后端这个方向努力了,但是后面综合后端研发招人对女生特别不友好+个人兴趣的原因+刚好碰上一个全栈的微信过来的技术面试官招了我去做前端便决心往这条路走。

还有一个后悔的点就是大一下的暑假有一段时间特别想不开,因为有个喜欢的男生莫名好几周不理我,我情绪极度焦虑+悲观,沉迷于他当时带我入坑的的游戏最终幻想14中,那段时间学习状态非常差,几乎放弃了一个非常重要且适合我的前端最终笔面与入营机会,拖慢了后面的学习与求职进度。

得到的教训是:

没有必要因为任何人去破坏自己的心情,内耗是最没意义的事情,事业终究大于感情。

也许,一切都是上头的安排吧。


文章作者: 悠然寂夏
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 悠然寂夏 !
评论
评论
评论
  目录