2018年的最后一天,对这一年的经历和收获做一下总结,为2018画上完美的句号。
2018这一年经历了很多事情,分成几个类别说说一下吧。
在冷嘲中成长
在之前公司的研发团队里,90%的同事都是java工程师,其中也包括领导,而我则是一名web前端工程师,这也就导致了前端这个职位并不会受到更多的重视,因为做java肯定也会写html、js,就算不会用vue、react等主流框架,jquery也一定会用,而css也有现成的UI框架,拿过来直接可以用,这难免会认为前端的工作很简单,而且也是可替代的,前端更多时候是去调一些不太好弄的样式。虽然项目都是前后端分离是开发,前端的工作已经复杂了很多,后台得到工作变得稍微轻松一些,但即使这样,前端依然没有“地位”。
做过前端开发的同学应该都知道,其实前端的工作真的不简单,并不是拿一些UI框架拼拼凑凑,用jqeury写一些ajax这么简单,需要用到的知识也很多、很复杂。
刚开始自己心里也很难受,但慢慢的明白了,难受并不能解决实际问题,让自己强大起来才会不被冷嘲,当某一天不管前端、后台、运维等等的知识都能拿起来,分配什么工作都能做,哪一方面都不是外行,不用去刻意表现什么,自然就会有人来找你。
说下来,我还要感谢之前的领导,让我成长了很多,让我真正感受到了职场的冷暖,也让我找到了应该努力的方向,只有不断学习、不断实践才能够提升自己、丰富自己,让自己强大。
2018学习到知识
2018这一年,学习了很多知识,不管在工作中,还是平时,都让自己感觉很充实,以下简单总结一下:
1、深入学习了vue
、react
两个主流框架,尤其是react
,因为目前的工作正在使用,并跟随主流学习了新的特性,将其应用到实际问题中。
2、深入学习了redux
状态管理工具,以及相关的reselect
、redux-thunk
、redux-actions
、redux-saga
、redux-promise
等中间件。
3、阅读并分析了redux
、redux-thunk
、reselect
、redux-actions
、fastclick
的源码,并写了相应的博客(翻看之前的文章就能查阅),同时也阅读vue
、react
、react-router4
的部分源码,因为框架本身也是很庞大的,所以还需要再进一步学习和分析。
4、巩固了很多基础知识,通过实际工作以及学习,明白了框架再多、新的东西再丰富都离不开基础,这往往也是最容易被忽视的,所以打好基础是重中之重。
5、学习了如前端缓存、代码优化、性能优化等等前端相关的知识。
6、学习了新的一门语言java,因为身边的后端都是java开发,再加上自己也很有兴趣,所以在学习前端的同时,也学习了java基础
、springmvc
、springboot
、mybatis
、sql
、redis
、mysql
等java
相关的知识,并用学到的知识做了项目。这里要非常感谢自己身边的同事,每次遇到问题都不厌其烦的教我,非常感谢!
7、学习了简单的运维知识,nginx部署
、nginx配置
、tomcat部署
、部分linux
,同时了解了redis集群
、分布式等知识。
其实还有很多没有列举,但总之这一年的收获还是很丰富的。
面试也是一种提升
2018这一年,经历了10余次面试,每次面试可能还会有二面、三面。碰到的面试官都很优秀,也问到了很多我不是很了解的问题,让我知道了自身不足的地方,以及应该加强学习的地方。虽然最终因为各种原因没有在一起工作(只能选择一家公司嘛),但我还是要感谢这些面试官,让我发现不足,多多学习,进一步提升自己。
工作
在这一年中,共接手了两个大的项目(其实还有一些小的项目),第一个项目是用vue
做的,第二个项目是用react
做的,总体来说完成的可以,没有出现重大的问题,有一些小的bug是正常的,因为程序是不能0bug的。在这两个项目中,经历过很多问题,最终通过查阅资料、实践、交流都解决了,也已经上线到生产环境了。
工作中出现问题是难免的,不可能是一帆风顺的,当想办法解决这些问题的时候,也正是提升自己的时候,这也就是俗话说的,“提升自身往往是在不断填坑”。
整体总结
整体下来,2018对我来说是个收获之年,学习了很多很多知识、实践了很多项目、解决了很多问题,我觉得对我来说最大的收获是:不论到任何时候都要学习,不学习就是在让社会淘汰自己。在马上要到来的2019年,我还是会坚持自己的目标,不断学习、不断实践,让自己进步。
2019目标
对于2019年的目标,目前分为以下几方面:
1、继续巩固基础知识,阅读红宝石、犀牛书、es6等基础相关的书籍。
2、进一步深入学习vue
、react
等框架,并阅读其源码,理解内部原理、思想。
3、阅读在工作中常用工具的源码,明白底层实现原理,使得在应用中更加得心应手。
4、进一步学习小程序、react-native
、flutter
等知识,并做出相关的项目,学习与实践相配合。
5、深入学习java
、springboot
、springcloud
、redis
、数据库
,并写出与web、小程序、app交互的后台,并学习分布式、微服务、集群、高可用、高并发等知识。
6、学习运维相关知识,linux
、nginx
、redis
、docker
、kubernetes
、ELK
、集群等知识
7、跟随主流,学习最新最前沿的技术。
8、与身边的人多交流、多沟通,相互分享,相互提升。
9、其实也是最最重要的一条,多散步锻炼,学习游泳,有一个好的身体才能写出好的程序,在学习的同时,也要学会休息,放松自己。