程序员行业技术更新迭代速度快,这个特点身为行业内的每个猿友们都有深刻体会。
很多技术基本每年都有一个大小版本,每个版本的出现意味着有新的技术思想和应用技巧出现。也许你用不到但是你需要去了解。你看自从甲骨文公司宣布收购Sun公司,Java的JDK版本基本保持一年一更的频率。2014年,甲骨文公司发布了Java8正式版,5年来,目前最新的已经是JDK12。
面对各种技术的各种更新,程序员要面对的不仅是某个单个技术的版本更新,即纵向更新。还要比较各种相似技术的优缺点,即横向比较。
因此猿友必须时刻保持学习和钻研的精神,不但要耐得住寂寞学习技术应用还要静得下心推敲各种繁琐的技术源码和理解其原理,想想都是很头大。
对于学习,一般因猿而异,分为两种类型。一种是外界驱动型的,另一种则是自我驱动型的。
外界驱动型的猿友,学习技术相对被动,公司业务需要了某些技术或者面试中问到了某些自己未涉足的技术他才去学习和研究。而自我驱动型的猿友,则是有自己的一套学习定位和技术成长路线规划,他们更主动的去学习自己未涉足的技术领域。
当然无论哪种类型,谈到学习都离不开如下几个途径:看视频,买技术书籍,逛博客和社区,阅读官方文档,利用知识付费平台。
我们分别来详细分析和讨论一下以上各个途径的特点,以及大家偏爱哪种?
2、看免费教学视频
这些视频它的目的由于是推广和招生,所以录的时候一般都是很认真的而且录制的人也一般有丰富的经验,而且讲解的也很详细,因为这样才能吸引到学生。
而有些技术视频则是某些教学网站为例吸引流量而录的,但是这些视频都有个特点:知识点偏于基础。
对于初学者来说,视频教程是有帮助的,因为学习成本低,而且有老师给你详细讲解每个知识点的总结,这时候你像个初生的婴儿,接纳和吸收的效率比较高。但是如果你工作几年后,已经有几年的行业经验了。视频教程一般是满足不了我们的需求了,为什么?
3、买技术书籍
技术书籍,这没什么好说了。身为技术人员,我相信没有哪位猿友说自己没有买过技术书籍,而且一般技术书籍都是偏贵的,平均基本定价都在七八十左右。
其实,我要是说每个程序员都为技术书籍掏过腰包,这世上不会有没买过技术书籍的程序员。我相信也没人反对。因为这是一种最普通和普遍的学习途径了。
常说,书籍是人类文明进步的阶梯。每一本书都是作者的多年经验总结和思考。通过阅读一本书来获得成长,相当于与前辈促膝长谈。这么有价值的事情当然是很值得做的。
我本人就是一名深度书籍购买爱好者,从学校到步入社会到现在,花在书籍上的钱可以说是笔巨大的支出了。好的书孬的书都买过,以前是名文艺爱好者,阅读的习惯主要集中在历史名著、小说、散文、武侠,而自从入行编程界以来,口味变的专一不花心了,书架上就只有《**权威指南》、《深入分析**原理》,《**源码解析》、《**实战》等等。
可是随着自己行业经验的积累,发现买技术书也不是件很好的事情----搬家严重不方便。技术书籍大家都知道,厚而且实。
而且还有一个问题,很多技术书籍其实也只是入门教程,这类书籍当你掌握了技术理论之后,你就再也不会去去触碰它了。例如市面上的《**从入门到精通》,《**基础教程》等。但是这类书籍又占据着你的书架空间,这类书籍就变得食之无味弃之可惜,扔又舍不得不扔又不是。所以为了避免这种情况的发生这类书籍就不要买了。
其实如果有阅读的必要的话,这类书籍我们可以购买电子书。阅完即可丢,过时也不会占据生活空间,只需要分配几M大小并且可以释放的硬盘空间。
那什么书籍值得购买呢?那些讲解技术实现原理和架构思路的书籍以及管理经验的书籍。
因为技术千变万化,但是万变不离其宗。技术的本质是不会变的,技术原理和设计思想是有指导价值的。这类书籍影响的是我们的思维。例如:《数据结构》、《编程思想》、《深入理解Java虚拟机》等这类书籍我们可以反复阅读,就值得占据我们书架的一席之地。
4、逛博客社区和技术公众号
5、官方文档
你要学习某个技术,还有比技术官方文档更好的地方吗?官方文档一般都是该技术开发者本人或所在组织编写和维护的,这时直接接触技术源的地方。
我去年新接触Elasticsearch的时候,从0搭建搜索平台,了解ES的搜索原理基本都是通过官方文档来做到的。关于Elasticsearch的一本书籍我都没有买,因为官方文档已经详细的把所有的都介绍了。索引创建,索引原理,分布式原理,按段搜索等等全部都详细的讲解了。
你唯一需要做的就是静下心来仔细阅读,然后动手自己搭建环境编写Demo,最后总结经验就可以了。
6、知识付费平台
这种现象主要是近年来IT互联网行业的爆发,薪资待遇还不错,然后涌入了大批程序员,有流量就有消费。前面说过程序员是需要不断学习才能应对技术更新的挑战,有需求就有消费。特别是一些流行技术的教学教程和总结视频,就更受大家的喜爱。
7、猿友讨论
其实以上几个途径大家或多或少都有过,并不是单一的通过一种途径去学习,更多的是多种学习模式,我目前的学习新技术的大致主要方式是:首先调研新技术的特点和适用场景,然后阅读官方文档,编写Demo,本地运行,最后是通过一些方式理解原理,最后是技术总结。
对于我而言,目前我一般基本不通过看教学之类的视频学习,书籍购买也是有针对性的,买一些原理性的书籍。而博客和社区是我早上或中午时常会逛逛的地方。知识付费平台目前主要是购买了某个移动端App的几个感兴趣的课程,例如数据结构和网络协议方面的,总体感觉还是不错的。