白驹过隙,光阴似箭。时间,真的过得很快。

我是 18 年初开始正式学习前端的,到现在为止一年半也差不多了,借此新年之际,来个小小的总结。

很多人看到我才入门前端一年半会很诧异,我之前去大厂面试的时候,也有面试官评价我说,「写出来的东西不像是这个年限有的」,但是总归是因为自身项目经验不多的原因,去年的跳槽并没有如愿进入想去的公司。但是目前呆的「宋小菜」也很不错,这几个月的经历让我觉得没有做错决定。

在这一年半的时间中,我开源了一大一小的项目。大的项目获得了 14K 的 stars,小的项目也有近 1K 的 stars。上个礼拜也发售了自己的第一本「前端面试之道」小册,也因此结识了很多业内的大佬,同时也获得了多个大佬的推荐,小册目前的评价也很不错,这些算是这段时间的一个成就吧。

很多人对于我的学习经历很感兴趣,趁着这个机会我也分享一下自己的经历。

首先,先说一下个人理解的学习。学习的第一步是知道自己学习的这个知识问题是什么,答案是什么,然后找到这些问题和答案之间的关系,这个关系是我们需要学习的东西,最后能把这个关系通过通俗易懂的语言输出出来,那么这个知识你一定学会了。

很多人认为自己学了很多,看了很多,但是又说不出个所以然。其实这压根不算什么学习,充其量只是记忆了一些知识的描述,并没有学到问题和答案之间的关联是什么。就比如说 111 * 120 答案是多少,你可能并不能马上回答出来。但是你知道他和答案的关联,你就能通过这个关联找到答案。我们就是需要学习这个关联。

在学习的过程中,我并没有阅读很多书,或者说看完的书一只手都可以数过来,同时也没有一大早起床或者很晚睡觉。我也喜欢打游戏,也喜欢刷刷手机,大家喜欢的我应该都喜欢,并没有像很多学霸一样一直在学习。

总归来说,我和大部分人一样,那么你可能会诧异,你到底咋学的?

首先我可以流畅阅读点英文,也有不错的网络条件可以访问想访问的网站,这些条件能够让我接触到更高质量的资料,能够通过搜索引擎更快地解决问题可能是一个方面。

第二方面,我喜欢列点计划。对长远的事情会早早的考虑周全然后定好计划,对于短期的事情会设立一个 deadline 争取去完成。就比如我的开源是很早就有一个大的计划的,然后逐步分解这一个大的开源项目到具体的时间。管理好自己的时间,在可控的时间内完成预期的计划,其他的时间就是我打游戏、刷剧的时间了,毕竟劳逸结合还是很重要的,我始终做不到抛弃这些一直学习。

其他几个方面就是些很零散的东西了。比如说花钱买点知识付费的课程,不要把有限的时间都浪费在找寻资料的过程中;比如说在工作中发现需要学习的内容,解决不知道要学习什么的困惑;比如说时刻有一个危机感,有一个清楚的自我认知,知道自己现在还很弱。

另外,我并不打算列举一堆资料出来,我其实认为这个没什么必要。因为想学的自然找的到资料,不想学的,列举多少资料也只是徒增了一个书签而已。

更多的可能是找到一个适合自己学习的方式,而不是靠一堆资料来增加一个虚假感。毕竟时间就那么多,我们不可能学完那么多的东西,即使 React 核心团队的 Dan 也有很多知识盲区。我们应该先思考什么是自己适合的学习方式,然后再去找寻对应的资料学习。条条大路通罗马,只要找到了适合自己的学习方式,然后持续学习,那么迟早有一天你会成为别人口中的大牛。

有些人就是能 4,5点起床学习,有些人就是一年能读很多书,但是这种途径强加于自己身上,可能就是不能坚持,那么这个途径就不是适合自己的。既然不适合自己,就不要强迫自己去干这件事情。可能这话有点丧,但是如果真的你能把一件不喜欢的事情持续坚持下去,你一定是极少数的那批人。但是,大部分的我们,真的很平庸,我也很平庸。程序员这个行业虽然工资看着光鲜,但是这绝对不是你牛逼的原因,也不是行业牛逼的原因,而是资本牛逼。

对于我个人而言,列好计划,知道自己需要学习什么,然后努力去完成,这样就对得起这些时间了。

选择,远比努力重要。

最后,19 年的展望是什么?虽然我立了几个 flag,但是并不打算写出来。毕竟做成了 flag 才有用,否则都是屁话,自我安慰罢了。

写到最后,好像也没总结个啥。其实并不怎么想把自己学了哪些资料,做了什么事情都一一列举出来,大概觉得这种形式并没有什么用吧。

毕竟学就行了。途径是怎么样的,谁关心呢?只要有结果就行了。