故事依然继续
跨行学前端的故事还在继续。2019年是自己非常非常重要的一年,这一年里,学了太多太多,但不是说学了多少新技术、新名词,而是学会了去沉淀技术,学会了去夯实基础,学会了将理论运用于实践。虽然跟自己想要达到的水平还有些距离,但是基础之路已然开始,就一定会坚定的走下去。
困难从来都是编程的主旋律
小到如何优雅的数组去重,大到如何去设计项目结构,如何去重构代码,这之间从来不会少了困难这个主角。
2019年伊始,开始使用vue来进行开发,中间BUG不断,问题频出,每次所有人的工作都完成了,开始进行测试的时候,发现全都是我的问题,然后坐在那里一点一点改BUG,很多问题一旦揭露出来了,其实就变的很容易解决,但是你写代码的时候,就是没有去多考虑,全面的考虑。虽然问题很容易解决,但是效率确实极低的。
于是私下里,将一些常见的错误一一记录下来,每次完成当天的模块的时候,再去一一检查代码看看是否有明显的错误。是不是很傻,像极了菜鸟的样子。除此之外,经常有很多问题需要去请教老大,根本无法去独立负责一个项目,连我们的后台发现前端数据显示有问题,也会首先去找老大解决,而不是我这个实际写代码的,挫败感真的完全包围了自己,很长一段时间内思考的问题是自己是否适合编程,是否适合写代码。
还好的是最终还是坚持下来,当然也必须坚持下来,对我而言其实没有比编程还适合自己的吧,做其他事的时候总是分心,只有新代码的时候才能安静的在那里坐上几个小时而不自知。我也清楚自己不是那种天赋多么多么好的人,只是愿意努力去学习,去思考问题,别人下班放假可能去哪里哪里,我就只能去安安静静的写代码了,这也得归功于自己的生活比较简单吧。
曲折的进步
环境其实能决定你未来走的路,庆幸的是自己处在的环境还不错,虽然是个小公司,但是做技术的心是纯粹的,不会为了新技术而盲目学习,更看重语言基础的东西。有时候会为了讨论如何将前端的设计模式运用到我们的代码中而争得“脸红脖子粗”,会去考虑如何提升前端团队的技术水平,如何确定学习方向等等。我想正是这样的一个环境造就了现在的自己吧。
所以今年开始也逐渐开始梳理自己的前端学习的知识体系,希望能够理解个中原理,而不仅仅是会使用API。了解原理也确实让自己尝到了甜头,某天写代码的时候发现报错了,将代码恢复过后还是报错,之前没有出现过这个错误,无奈之下顺着报错的调用栈去查看源码,这一看很快就定位到了错误,原来是使用vue的mixins的时候,引入的文件被改成了JSON文件,而不是JS文件,所以一直报错。说实话,能够快速解决问题的感觉真的不错。
然后也是开始制定了自己的学习计划,上班的时候抽个20分钟的时间学习某个API的原理,如何实现这样的问题,下班的时候会去从基础学起,从浏览器渲染原理到计算机网络,再到前端工程化的 webpack,还有一系列基础的东西,不再是仅仅会用就完事了,更多需要理解为什么这么做,如何实现的。尝尝感慨大佬们是怎么想到这么做的,真的是太厉害了等等。
说他曲折,不是因为有这么一个计划自己的技术就能怎么怎么提高了,更多还是一点一点的积累吧,不仅仅是经验的积累,更多是一个完善的体系的积累。当积累到一定量的时候,就开始发现写代码问题变少了,速度变快了,也开始独立去负责一个项目了,遇到问题不再是去找老大了,而是思考如何运用这些学习的东西来解决问题。这样一个过程持续了半年的时间就渐渐看到了成效,其实你的进步不仅只有你看到,你的同伴你的领导都能看到,他们也是最直观能感受到你的进步,所以还是得感激小伙伴们的监督啊。
当然仅有这些还是不够的,当时就觉得自己需要对整个所有的开发流程有一个直观的认识,知道每个过程是干什么也很重要。于是私下里自己买了阿里云服务器,域名备案等等,搭建自己的个人网站,从前端页面到后台接口,再到服务器部署都是自己一个人完成的,当然项目质量肯定是没有那么好,自己也只是摸索罢了,不过还是实现了自己对整个开发流程的一个了解认识,知道了中间件,知道了 redis,知道了nginx配置,知道了如何部署前后端项目,这也让我在日后的开发中,不再对其他同事的工作不了解,不明白,能够更好的去沟通完成项目目标了。
目标完成情况
看了看自己去年写的年终总结,基本也都完成了,研究vue的源码,当然还比较浅显的理解,也看了Element的源码,到处宣扬Element的机智的md文档转成.vue文件。开始在github上写自己这一年来用的较多的组件,希望能够抽象出来形成业务组件库,希望更多人会用到。也报了成人高考计算机专业提升学历,弥补知识基础。后端这一块,虽然看了很多java的视频,学习了很多,但是还是不敢妄称自己已经会了,node也同样如此,不过对node也是非常感兴趣,因为前端的工程化让我见识到了node的威力,未来也会以node为核心继续学习。
2020新展望
允许我膨胀了,研究了阿里的一个前端招聘要求,他把前端划分了三个放心,一个是传统web、mobile端,一个是node端,一个是native端。前端现在范围越来越广,所以我们不可能有经历将所有的方方面面都能精通,至少先需要确定一个方向,并且要有自己的理解吧。所以明年自己也会以web、mobile为跟继续打磨自己的基础,然后慢慢学习node,能深入的那种。
所以明年对自己而言依然非常重要,也在看更好的工作机会,希望能有一个更大的舞台,无论过程有多艰难,都不会比现在更坏了,不是吗?