持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第2天,点击查看活动详情
从事前端行业已经快五年了,从一个技术小白到能够自己单独负责所有的业务,技术的成长让自己收获颇多,在这个过程中遇到了好多重要的人,帮助了自己的太多太多,比如实习期的王总(教会了太多了,影响最深的就是自己对于代码风格的严谨)、蒙妮(学姐在自己初识前端的时候解决了太多的小白问题)、以及后来的很多同事,对于我在技术上的问题的解答。再次感谢他们。
1.选择前端的心路历程
17年还未毕业的时候,怀揣着梦想,踌躇满志的背包从苏州的学校跑到上海的公司,做起了研发,在这期间,经历了太多的挫折,遇到了太多的不会的问题,自己查了无数的资料,做过Java、C#、前端开发(html、css),很长时间都是在做Java,但是后来觉得做Java真的是没有意思,我是一个看重视觉的人,我喜欢多彩的世界,所以在经历了将近一年的实习期之后,我决定辞职做前端,我喜欢所见即所得,喜欢自己做页面带来的成就感,自己就像一个士兵在战场上厮杀,我需要那种成就感,找到自己的价值。
2.我是如何学习前端的
再次回到苏州的时候,我已经毕业了,开始了正式的前端职业生涯,下面我将分享自己的学习路上的一些方法,希望对于在学习前端的你有所帮助
第一阶段(这个阶段不断的吸收各种各样的知识)
- 选择了一个react技术型的公司(同期的很多公司还是在html 、css;vue在那个阶段还并不是很流行);选择很重要;如果我不是选择这个公司,可能我会在半年或者是1-2年之后才会接触到MVVM;
- 工作期间,遇到问题自己先查阅资料,加了很多的QQ群、微信群,在群里面问问题,其实有很多的群友能解决你的问题,参加更多的技术沙龙;
- 在工作之外的时候,我花了大量的时间去系统的学习知识,当时翻阅比较多的知识库(菜鸟教程、MDN、掘金、简书、思否);我下载了很多的客户端,并且注册了账号,关注了很多的前端技术博主;从各种不同的渠道去吸收大量的前端知识,这个过程相对于我来说,我觉得很舒服,我喜欢技术带来的成就感;
- 除了学习react相关知识之外,自主学习了vue的相关知识(这一点在我后来独立负责新项目的时候发挥了大量的作用),全面的接受了MVVM的思想,啃下了大量的知识点,并且尝试了很多,即使中间遇到了太多的问题,有时候确实会很焦虑、烦躁,但是自己通过自身情绪的排解,消化,克服困难,还好结果是好的,
- 每隔一段时间进行复盘,思考自己最近一个阶段学习了哪些知识、未来要学习哪些知识、以及如何分配时间完成自己的既定计划;
第二阶段(这个阶段基本上组件库、框架都会使用了,感觉到技术的瓶颈,进而开始js底层知识的扩充、学习源码、框架知识)
- 阅读源码,这个是一个极其重要的方法,阅读了Vue、axios、promise等框架的源码;理解了太多的知识,和第一阶段不同的是,当我做业务的时候,我使用某一个APi的时候,我能知道这个API是如何设计的、如何实现、以及为什么这样设计,技术知识视野变的开阔;(当你遇到一个问题你就知道问题的根源是在哪里了);
- 突破思维限制,尝试从架构师的视角去想问题:1.为什么要这样写?2.这样写有什么好处?3.是否有更好的方法来优化应用程序?4.如果自己是架构师,遇到当前手上的项目,自己会怎么设计比较合理?5.当前的代码符合规范吗?(代码规范)6.当前的代码能够符合可复用、可扩展;
- 开始尝试自己去搭建项目并且尝试如何优化;(比如webpack如何配置vue、react,理解每一个配置项的意义,是否有其他的配置项可以去优化配置);
- 经典书籍的阅读(JavaScript高级程序设计(红宝石)、JavaScript权威指南(犀牛书)、css世界等);由于我很喜欢动画效果,所以我阅读了很多的关于动画的案例,我喜欢那些丝滑的动画和一些优秀的移动端设计;
第三阶段(即现阶段)
- 从产品的角度去思考如何将当前的产品更用易用性、能够让大众去接受,并且真正的让一些人或者是某一个群体受益,做一个社会价值或者是社会意义的事情(寄托于当前公司的业务能够发展起来)
- 继续拓展个人的技术能力水平。
第四阶段
12.未来还未可知,目前还在考虑,但是已有初步的思路,如果有好的建议,欢迎评论。
3.经典问题:面试官为什么总是在问源码?
- 通过询问源码,能够知道你对js知识掌握到哪个地步,进而能知道个人水平,在不同深度的面试题当中根据面试者的回答情况,结合实际的公司的研发技术水平,能判断面试者是否能够胜任当前的工作(有的岗位会要求个人能够独立负责项目、自主解决问题、自主搭建项目、遇到组件不适用的情况下,是否能够自己设计、实现)
- 技术评级,一般面试官会根据面试者的技术深度进行评级,有的公司,级别是跟薪资挂钩的,这点在大的公司特别明显
4.个人规划
- 希望自己能够在现有公司的业务上能发展的更顺利;
- 继续学习更多的专业知识,加深个人在技术深度上的能力;
- 扩充自己的知识圈,不限制自己只在技术圈,发挥自己的想象力,打磨一个属于自己的小产品,希望能够得到大家的喜欢
- 沉淀个人所学的技术并且转化为技术文章,希望能够让小伙伴在学习前端的技术路上少一点弯路
5.写给小白的一些个人建议
- 做好个人未来的规划,每一步要做什么,首先要明白自己想要成为一个什么样的人(产品经理、技术负责人等),然后进行任务拆解,目标需要多少阶段,每一个阶段需要做那些事情、需要学习哪些知识、学习哪些实用的工具提升个人工作的效率
- 做好长期学习的准备,技术路线从来不是一件容易的事情,或者说任何一个有高度的事情从来都不是容易的,除非你是天赋异禀的人,哈哈,那么我恭喜你,
- 适当的放松自己,学会给自己解压,目标要切合实际,一步一个脚印(可以自己设计一个积分榜,这段时间可以选择做那些事情,每件事情根据完成难度设置不同的积分,达到一定的积分,可以设计一个奖励,哈哈哈)
- 努力做好当下的自己,在面临机会的时候,要毫不犹豫的抓住,(想起来自己面试现在的公司的时候,自己技术面跟boss面试,异常的顺利,并且我觉得boss很符合我的预期,是我想要的那种boss,当时的产品经理也真的很nice,目前技术团队特别,相处融洽,感觉找到了归属)
6.感触
想来自己从一个苏北的小县城跑到苏州打拼,期间遇到了太多的挫折,很多的时候自己都想要过放弃,但是最终都坚持了下来,自己一步步走来就是一个信念,让自己变得更强,努力成为一个强大的人,强大到能保护自己想要保护的人,希望正在阅读的人也能一步步的走向高处,遇见更好的自己,往诸君共勉。
7.写在最后
我是crazyu,一位前端开发工程师。
- 文中如有错误,欢迎在评论区指正,如果这篇文章帮到了你,欢迎点赞和关注😊
- 本文首发于微信公众号:crazyu 前端,未经许可禁止转载