我的前端学习历程 (一)
目录
随着自己正式学前端已经刚刚一年了,一直对自己没有个正式的交代,在这个阶段里感觉自己学到了很多东西,但是同时又有许许多多的不足,今日,写下这篇文章,为了审视自己的不足,以及鞭策自己前进。
刚好,今天也是实习入职3个月了,正赶上部门的绩效考核,总结老大对我的评价以及自己对自己的评价。
实习的历程
从4月15日入职到今天,已经三个月了,进创宇也算是运气好吧,面试的时候,问到我的刚好是我比较了解的和擅长的,加上我自己也是一直在学校里探索前后端分离的模式,于是在这条路上了解的稍微多一些, 因此就顺利的入职了。
一开始,自己对react技术栈一点儿都不熟悉,只是用react
写过todolist而已,但是入职第二天,就让我接手一个项目,刚开始熟悉项目的时候,真的是把我压得喘不过气来,因为项目里使用的技术太多了。。es6, react, redux, react-router, hapi.js, eslint
等等,还有其他的一些库,比如lodash和immutable等等,然而我只用react写过todolist, es6也只是了解let const
,那几天,真的是有种特别难受的感觉。特别是eslint,配环境的时候,直接全是红的,那一瞬间,内心跌入谷底。
过了几天,感觉实在是不行了,就和mentor交流了一下,原来他以为我进来就是可以直接上手项目的,他不太了解我的真实情况,所以就让我直接上手项目了,沟通了一下,还是给我半个月的时间让我熟悉公司技术栈。
完成最开始的一个资源日历后,就开始维护各种项目的新的需求和bug了,到目前为之,我也主要是在维护项目。但是随着自己这段时间的成长,逐渐发现了自己身上的一些坏毛病,特别明显的几个就是工作效率不高,遇到问题爱问, 一旦自己想不出来方法,就想着找别人了。
工作效率不高的原因
我自己总结了下为什么我的工作效率不高,原因有下面几个:
第一个,不太容易集中精神,一旦完成了一个需求后就对自己放松了。这真的不好,因为它是这么一个过程,就是从"非舒适区" 跨入到 "舒适区"的过程,一旦跨到舒适区,我就喜欢上了这种感觉,这导致我的效率不高。解决这个问题的方法就是,不断让自己进入自己的非舒适区,不要呆在舒适区里。
第二个,遇到问题受堵,因为自己主要是维护项目,所以经常会做两件事: 1. 看文档, 2. 定位代码。然而,往往项目中有的文档说明的不是很明确,而且接手的项目语言可能之前我都没有写过demo,这个时候,我经常死磕,怎么死磕呢,一直去尝试文档里的不太明确或者说是不完整的命令去尝试,而结果一般都是错的。第二,就是由于项目比较复杂,而且有的模块抽的比较厉害,导致耦合度比较高,自己的实力不能马上看懂。而自己在遇到这两种情况的时候, 自己容易急躁,不能静下心来,这也就导致自己的效率底下,常常困在一个问题里很多时间。
我相信,自己找到了问题的根本所在,我给自己的解决办法就是静下心来,仔细思考,没有其他办法,就是静下心来思考,脑袋不要一根筋,不要认为平时自己的思维就一定是正确的,这一点十分重要,因为一旦认为自己是对的,那么就走不出来了。就会去找到底哪儿出错了,然而自己本身就是错的。办法:追寻问题的本质,不要急躁,静下心来,这个时候也乘机学习一把,学习一下新的技术。
第三个,其实我前面已经提到了,就是自己遇到问题一解决不了,就想着去问别人。然而,这依然会降低我自己的工作效率,同时,也会降低别人的工作效率。我给自己准备了下面几个步骤当我遇到问题的时候:
- 定位问题。
- 思考问题的本质。
- 解决问题。
- 总结问题。
目前的我,也只有这么几个简单的步骤。将来,我会将它细化。
完成的需求,bug多
有的时候,在完成一个需求后,连自己对自己的bug信心都不是很大,因为没有经过充分的测试。自己在本地随便测一测,然后放到测试服随便点一点,然后就上线了,哦嚯,结果,一上线,才发现有问题。
mentor对我说过,要对自己的代码负责,review的时候只能review代码的质量,不能测出bug和缺陷。然而自己对自己的写出的代码信心都不大,那还敢上线?所以啊,在完成某个需求后,自己一定要充分的测试,尤其是那种耦合度比较高的模块,因为这个时候,你才会发现,真的是改了一行代码,很多地方都被动了。
最后,提醒自己,遇到bug或者发现缺陷,一定要自己迎面去解决,而不是自己怕麻烦,怕事而偷偷的去避免掉它,这是很不男人的做法。
突然想起知乎上的一个段子: 一个人顶10个人是种什么样的体验,我一个人写的bug能抵上10个人的bug。哈哈哈哈哈哈哈。
怕难的需求
自己还有一个缺点,就是害怕难的需求。为什么这么说呢?自己会的语言也就那么几个,但是每个维护项目所使用的技术都有区别,或大或小, 自己不太熟悉,也估不了时间。但是客户那边又要求什么什么时候必须上线之类的。
自己一定要克服掉这点,这是自己的一个非常致命的缺点,它阻碍了我进步,我明明可以乘做这个需求的机会,好好的了解或者熟悉一下这门语言的特性或者说是这类的需求技术上的难点和坑。说白了,自己喜欢"舒适区", 不喜欢"非舒适区"。告诉自己,跳出"舒适区", 这很重要,它使人进步。
老大的寄语
- 把自己当作一块海绵,现在的阶段里,最主要的是去吸收别人的经验(老大肯定是经常听我和同事争论... 真的是,在学校和同学争论,在公司和同事争论,说明一点,我有的时候真的是脑袋一根筋)。
- 现阶段先熟悉目前的相关技术栈,等自己比较熟悉后,再去深入了解相关原理。
- 多做项目,好好的学习react技术栈。
- 任务驱动,以问题和任务为驱动去学习,等自己闲暇的时候再去系统的了解那一块的技术,这样在学习的深度和广度上都能有非常大的提升。
- 提升工作效率。
关于自我总结
- 重点: "跳出舒适区"。
- 做自己相关的技术总结的时候,不要只是简单的代码片段或者简单的自己不熟悉的语法概念,最好在这个基础上深入一些,哪怕一点点都更好了。
- 做总结别拖,拖太久就会忘了,也就没有激情了。