程序员这个职业是用“脑力”创造价值的职业,包括但不限于技术能力,沟通能力,抗压能力等等。既然脑力是创造价值的基础,那么不断学习就是搭建更高的平台,开阔视野。
关于自学,有以下几点感悟。和实践结合起来
抛开应用(指的是一些比较深入使用)单独去学习一样东西,往往理解是不够透彻的,可能过一段时间又往。就和学习英语口语一样,一定要多和别人交流,才能“刻”在大脑中。因此为什么我们对自己工作中掌握的知识会十分牢固(如果是一次故障,我相信你以后都不会范相同的错误)
每天抽出一点时间来学习
每天抽出一点时间,哪怕只有半个小时,看一点东西。这样做还有一个目的就是保持学习的势头。
知识的广度
有些知识可能在看第一遍的时候只是知道个大概。然后在实际工作中出现需要使用的地方,这个时候再温习一遍,又有更深刻的理解,可能和前天提过的“和实践结合起来”有重叠,但是这里想要表达的是广度。有些知识可能只是作为一种储备。当出现问题的时候,我们知道有哪些方案可以去解决,这个时候再进行充分的调研后,再进行使用。
多分享
把你知道的东西,和同事做一次简单的分享,可以在小组的周会上,可以在和同事日常聊天中。一般同事会对你做一些提问,如果你都能解释的很清楚和确定,那么说明你掌握的还不错。如果发现有些问题你并不知道为什么,又可以继续去补充。这样做的即对你自己是一次测验,又可以让别人觉得你是个爱学习的人,百利而无一害。
学习连续性
学习的顺序有很多,但是我更倾向于以最简单的地方为切入点,然后向周围扩展。例如,学习java,如果从cpu,tpc开始,我相信很多人都坚持不了。但如果一来先编写一个“hello world”,相信很多都会成就感,于是之后可以向上扩展——学习各种框架,向下扩展——阅读源码和JVM。学习最好是以科教片(例如【探索和发现】,【BBC纪录片】)而不是以悬疑片(电影【记忆碎片】【穆赫兰道】)。