作为程序员你是如何学习的?
学习的需要
这篇文章不做技术分享,和大家一起讨论一下学习的途径和方法。程序员行业技术更新迭代速度快,这个特点身为行业内的每个猿友们都有深刻体会。
很多技术基本每年都有一个大小版本,每个版本的出现意味着有新的技术思想和应用技巧出现。也许你用不到但是你需要去了解。你看自从甲骨文公司宣布收购Sun公司,Java 的 JDK 版本基本保持一年一更的频率。2014年,甲骨文公司发布了Java8正式版,5年来,目前最新的已经是JDK12。
面对各种技术的各种更新,程序员要面对的不仅是某个单个技术的版本更新,即纵向更新。还要比较各种相似技术的优缺点,即横向比较。
因此猿友必须时刻保持学习和钻研的精神,不但要耐得住寂寞学习技术应用还要静得下心推敲各种繁琐的技术源码和理解其原理,想想都是很头大。
对于学习,一般因猿而异,分为两种类型。一种是外界驱动型的,另一种则是自我驱动型的。
外界驱动型的猿友,学习技术相对被动,公司业务需要了某些技术或者面试中问到了某些自己未涉足的技术他才去学习和研究。而自我驱动型的猿友,则是有自己的一套学习定位和技术成长路线规划,他们更主动的去学习自己未涉足的技术领域。
当然无论哪种类型,谈到学习都离不开如下几个途径:看视频,买技术书籍,逛博客和社区,阅读官方文档,利用知识付费平台。
我们分别来详细分析和讨论一下以上各个途径的特点,以及大家偏爱哪种?
看免费教学视频
免费教学视频,一般很多是培训机构录的,目的当然是为了推广和招生。像我刚入门的时候也是学习毕向东的Java基础教学。对于初学者来说,视频帮助确实蛮大的。
这些视频它的目的由于是推广和招生,所以录的时候一般都是很认真的而且录制的人也一般有丰富的经验,而且讲解的也很详细,因为这样才能吸引到学生。
而有些技术视频则是某些教学网站为例吸引流量而录的,但是这些视频都有个特点:知识点偏于基础。
对于初学者来说,视频教程是有帮助的,因为学习成本低,而且有老师给你详细讲解每个知识点的总结,这时候你像个初生的婴儿,接纳和吸收的效率比较高。但是如果你工作几年后,已经有几年的行业经验了。视频教程一般是满足不了我们的需求了,为什么?
因为它的效率太低了。有几年经验的人你去看视频,视频中某些知识点也许你已经掌握或者了解,但是视频不是针对你个人的,所以一个几十分钟的或者接近一小时的视频,对于你而言,也许只有其中的几分钟是你想要的,其他的你可能都会按着快进键跳着看。你会慢慢的感觉到这是在浪费时间,这时你需要调整下节奏了。
买技术书籍
技术书籍,这没什么好说了。身为技术人员,我相信没有哪位猿友说自己没有买过技术书籍,而且一般技术书籍都是偏贵的,平均基本定价都在七八十左右。
其实,我要是说每个程序员都为技术书籍掏过腰包,这世上不会有没买过技术书籍的程序员。我相信也没人反对。因为这是一种最普通和普遍的学习途径了。
常说,书籍是人类文明进步的阶梯。每一本书都是作者的多年经验总结和思考。通过阅读一本书来获得成长,相当于与前辈促膝长谈。这么有价值的事情当然是很值得做的。
我本人就是一名深度书籍购买爱好者,从学校到步入社会到现在,花在书籍上的钱可以说是笔巨大的支出了。好的书孬的书都买过,以前是名文艺爱好者,阅读的习惯主要集中在历史名著、小说、散文、武侠,而自从入行编程界以来,口味变的专一不花心了,书架上就只有 《权威指南》、《深入分析原理》,《源码解析》、《实战》等等。
可是随着自己行业经验的积累,发现买技术书也不是件很好的事情 ---- 搬家严重不方便。技术书籍大家都知道,厚而且实。
而且还有一个问题,很多技术书籍其实也只是入门教程,这类书籍当你掌握了技术理论之后,你就再也不会去去触碰它了。例如市面上的《从入门到精通》,《基础教程》等。但是这类书籍又占据着你的书架空间,这类书籍就变得食之无味弃之可惜,扔又舍不得不扔又不是。所以为了避免这种情况的发生这类书籍就不要买了。
我们都知道技术是有时效性的和版本区别的,很多书籍讲解的技术也许是v2.0版本,但是由于技术更新迭代,一年之后v2.0已经过时,主推v3.0了。但是购买的纸质书籍内容是不会自动更新的,内容还停留在老版本,这类书籍也只能作废。例如很久之前购买过 Struts 和 Hibernate相关的技术书籍的猿友们,这些书它们现在还在你们书架上吗?亦或是已经成为火锅垫了。
其实如果有阅读的必要的话,这类书籍我们可以购买电子书。阅完即可丢,过时也不会占据生活空间,只需要分配几M大小并且可以释放的硬盘空间。
那什么书籍值得购买呢?那些讲解技术实现原理和架构思路的书籍以及管理经验的书籍。
因为技术千变万化,但是万变不离其宗。技术的本质是不会变的,技术原理和设计思想是有指导价值的。这类书籍影响的是我们的思维。例如:《数据结构》、《编程思想》、《深入理解Java虚拟机》等这类书籍我们可以反复阅读,就值得占据我们书架的一席之地。
逛博客社区和技术公众号
博客社区和技术公众号是技术分享的网上平台,在这里从基本的到复杂的,有技术新手有技术大牛,每个人都可以在这里分享他们的技术心得和学习笔记。所以这里比较鱼龙混杂,有原创有转载,充斥各种版权纠纷,都在声明版权但是很少能维护到的。
学习和分享,都是一种获得成长的过程。这里有前人摸石子过河后留下的经验脚印,有高手的经验分享。这里虽然杂乱,但是往往针对某个点的问题,在这里你能很快速的得到答案。人多力量大啊。
但是,这种途径是有点碎片化的学习特性,并不是笼统的讲解。你在遇到某个问题时去寻找相关解决方案,或者定期阅读推送的文章,但都是针对某个点的,是一种碎片式的方式。
官方文档
你要学习某个技术,还有比技术官方文档更好的地方吗?官方文档一般都是该技术开发者本人或所在组织编写和维护的,这时直接接触技术源的地方。
我去年新接触 Elasticsearch 的时候,从0搭建搜索平台,了解 ES 的搜索原理基本都是通过官方文档来做到的。关于Elasticsearch的一本书籍我都没有买,因为官方文档已经详细的把所有的都介绍了。索引创建,索引原理,分布式原理,按段搜索等等全部都详细的讲解了。
你唯一需要做的就是静下心来仔细阅读,然后动手自己搭建环境编写Demo,最后总结经验就可以了。
知识付费平台
最近几年流行知识付费,网上出现了很多付费学习平台,一些有经验的技术人将某个技术点通过多期的方式录制成视频,消费者如果感兴趣需要支付一定价位的金额进行购买。而且某个技术点全期的价格一般在百元左右。
这种现象主要是近年来IT互联网行业的爆发,薪资待遇还不错,然后涌入了大批程序员,有流量就有消费。前面说过程序员是需要不断学习才能应对技术更新的挑战,有需求就有消费。特别是一些流行技术的教学教程和总结视频,就更受大家的喜爱。
猿友讨论
其实以上几个途径大家或多或少都有过,并不是单一的通过一种途径去学习,更多的是多种学习模式,我目前的学习新技术的大致主要方式是:首先调研新技术的特点和适用场景,然后阅读官方文档,编写Demo,本地运行,最后是通过一些方式理解原理,最后是技术总结。
对于我而言,目前我一般基本不通过看教学之类的视频学习,书籍购买也是有针对性的,买一些原理性的书籍。而博客和社区是我早上或中午时常会逛逛的地方。知识付费平台目前主要是购买了某个移动端App的几个感兴趣的课程,例如数据结构和网络协议方面的,总体感觉还是不错的。
大家猿友们的学习方式都有哪些?哪些你认为是你目前主要的学习途径,如果愿意大家可以在评论区留言一起分享和讨论。
作为程序员你是如何学习的?相关推荐
- 程序员之路──如何学习C语言并精通C语言
程序员之路──如何学习C语言 学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通.如何以最小的代价学习并精通C语言是本文的主题.请注意,即使是"最小的代价",也绝不是什么 ...
- 【168天】黑马程序员27天视频学习笔记【Day07】
[168天]黑马程序员27天视频学习笔记[Day07] 叨逼叨两句 决定了,我会记住这一天! 07-01:构造方法Constructor概述和格式 构造方法概述和作用 给对象的数据(属性)进行初始化. ...
- 编程零基础做程序员,该怎么学习?首先要学习什么?
前言 众所周知程序员是21世纪比较吃香的工作.程序员工资高还不需要和复杂的社会打交道.那么作为一个零基础,什么都不懂的人该怎么成为一名程序员?当程序员需要学什么?下面就来分析下. 零基础的我该如何学习 ...
- 好程序员教程分析Vue学习笔记五
好程序员教程分析Vue学习笔记五,上次我们学习了Vue的组件,这次我们来学习一下路由的使用.在Vue中,所谓的路由其实跟其他的框架中的路由的概念差不多,即指跳转的路径. 注意:在Vue中,要使用路由, ...
- 转:程序员应该怎样去学习和掌握计算机英语呢?
原文地址:http://mp.weixin.qq.com/s?__biz=MzA3ODY0MzEyMA==&mid=401008537&idx=2&sn=04269c2a5f3 ...
- 一个程序员应该怎样去学习和掌握计算机英语呢
干程序员是一项很辛苦的工作,要成为一个高水平的程序员尤为艰难.这是因为计算机软件技术更新的速度越来越快,而这些技术大多来源于英语国家,我们在引进这些技术时往往受到语言障碍的制约,严重影响到对新技术的理 ...
- 蛙蛙推荐:一个程序员2012年技术学习总结 - 蛙蛙王子 - 博客园
蛙蛙推荐:一个程序员2012年技术学习总结 - 蛙蛙王子 - 博客园 蛙蛙推荐:一个程序员2012年技术学习总结 - 蛙蛙王子 - 博客园 俗一吧,也总结一下,程序员,代码说话. posted on ...
- 一个程序员应该怎样去学习和掌握计算机英语
最近在学习英语,在本科的时候就通过了英语六级的考试,可是实话实说,那只是一次应试的过程,现在的英语仍然是张不开嘴,而且随着时间的流逝那些原本的词汇也忘得差不多了,在网上看到了一篇介绍程序员英语的文章, ...
- Android程序员该如何进阶学习以预防35岁中年职场危机?
一.大家都在担心的问题 不只是Android,很多程序员都在担心业界的"35岁危机",担心自己到35岁后就被市场淘汰. 比如最近就经常被大家问到这样的问题,比如这样的: 大佬好,目 ...
最新文章
- java 获取键盘事件,java获取键盘事件
- 高等数理统计(part5)--分布族的完备性
- 看完少年的你,想到少年的我
- 交换机两个链路相连一些设置
- centos8搭建nsis交叉编译环境
- Oracle查看表空间使用率SQL脚本
- Android 核心组件 Activity 之上
- 'net’ 不是内部命令或外部命令,也不是可运行的程序或批处理文件 解决方法...
- springboot logback 调整 mybatis 日志级别无效
- 百度关键词模拟发包php程序,仿百度的关键词匹配搜索示例
- MATLAB平台文字识别算法实现
- G盘格式化了,要怎样恢复文件
- 分享微信使用技巧,快来涨姿势啦
- linux安装project lemon测评机
- 深信服科技2019年校园招聘 移动应用开发 一面
- javaweb基于内容的图片搜索(2)_java爬虫
- python显示文件夹图片_python遍列目录搜索文件夹及子文件夹图片文件
- oracle-ora 各种sql异常描述
- VisualSVN Server的安装
- CTF Crypto中涉及的AES题目