分享:程序员工作这么忙,哪有时间学习?
问题
"工作这么忙,哪有时间学习",这也是大家问的比较多的一个问题了。
诚然,在当今的互联网行业中,加班、通宵已经成了常态,在繁忙的工作中,的确可能会让人产生这样的想法,所以,很多人对我的学习时间比较感兴趣,在工作中我是怎么做到能花这么多时间研究技术,写下这么多博文的?
分享下对这个问题我个人的看法以及平时我用于学习的一些时间。
我们是否真的忙到没有时间学习?
这个问题其实是一个核心的问题,我们真的忙到没有时间学习吗?
举个例子,以正常的流程为例(特别指出这个只是正常的流程,不同的公司流程可能会有所差别),需求开发通常会历经下面几个阶段:
- 开需求会,确定需求
- 技术分析需求,确定方案
- 代码开发
- 测试
- 上线
这五个阶段,以测试阶段为例,难道我们真的忙到连测试阶段都没有一点自己的时间学习一下技术,而忙着整天修复bug?那自己的代码是否连最基本的自测都没有做过?
我不认为这个世界上有任何一家公司,会让程序员一周5天,每天早9晚9,都有写不完的代码,如果真的有,那么在我个人角度看这家公司:
- 需求有问题
- 测试必然不充分
所以总而言之,我认为首先我们需要问一下自己一句话:我们到底真的是这么忙,还是只是为了自己不愿意学习找的借口?
我是在什么时间学习的?
接着,分享下我自己学习的一些时间:
(1)午休与晚饭点休息的时间
- 这个时间点比较简短,通常这个时间点对我来说,只是会看一些学习看看比较快的知识点,例如最近午休或晚饭休息的时候看的比较多Redis的东西,像Redis线程模型、Redis的持久化机制、Redis的Pipeline这些,因为这时间是每天基本都会有的,所以看的比较广、比较杂,不会过于深究,但是因为积累的多了,自然知道的也就多了
(2)周末和小长假
- 周末和小长假这个时间点,通常我会回顾一下这周或者最近的工作,如果觉得有碰到一些难点的或者搞不懂的知识点的,就会把周末用来专门学习这些知识点,当然,点到即止,研究通了就行,没必要整个周末都用来学习。所以,其实对我来说工作迷茫的时候,还挺期待周末的,毕竟这是一个让我可以理清思路、攻克难点的时间
(3)长假
- 这个时间点比较难得,可能一年也就一个国庆+一个春节,所以对我来说会系统性地研究一块比较大的知识点。举个例子,记得2015年8月份,那时候工作中一个项目使用了异步将信息分享到微博,我想了好久都不明白异步、多线程有什么用,然后9月份开的博客,10月国庆节7天时间花了6天把《Java多线程核心编程技术》看了一遍,例子几乎都敲了一遍,写了23篇博客,一个国庆之后,对多线程的理解进步了好几个层次
(4)下班
- 其实博客大多数文章基本都是这个时间点写的,九点十点下班下班回家洗漱洗漱,基本花个两小时左右写写文章。简单的文章一个晚上可能就可以写完,一些复杂的文章可能要在我博客的草稿箱里面放十天半个月才能慢慢写得让自己觉得满意,总而言之,这个东西就是日积月累
结语
学习和娱乐、约会并不冲突,就比如我喜欢玩王者荣耀且段位也不低(S10单排到星耀三,算不上低吧)、喜欢玩dota、喜欢打球、天热起来了也喜欢健身,但也不妨碍我花时间去学习与钻研。
我上面列了我学习的三个时间段,实际上我并不是所有的午休、所有的周末、所有的长假都用来学习,算个比例也就一半吧(强调一下,因为感觉有朋友似乎觉得我基本所有业务时间都用来学习钻研了),只是在某个时间点,觉得某些技术确实是需要钻研的时候,才会花出大量的时间去进行系统性地学习。
时间是挤出来的,真的是这样:
- 有心的在睡觉前回看这一天,哪里都是时间
- 无心的在睡觉前回看这一天,好忙啊,赶紧洗洗睡吧