一些有关“怎么学”的建议

首先需要明确方向,否则即使学习方法再高效,也不免南辕北辙,背离自己的目标。关于学习方向的讨论,请参见之前的一篇文章 。下面我来重点说一说有关“怎么学”的建议。

IT技术,不是一个通过“闭关修炼”就能练成绝世武功的学科,在学习的过程中,除了主观上的刻苦努力之外,还需要讲究正确方法。我下面所写的几点,其实都围绕着一个核心的思路,就是—学习需要“不断地与高手过招” 。IT技术的时效性和应用性非常强,你的学习资源、环境、平台 ,都需要“与时俱进”,都需要能够“代表先进生产力”,这样的学习,才能够使你站在巨人的肩膀上 ,达到事半功倍之效果。

有人可能会疑问,我身处二线城市、工作是三流单位,毕业在四流学校,“学习的资源、环境、平台 ” 都非常的普通,如何做到像我说的“站在巨人的肩膀上呢”?其实事在人为,我们需要学会寻找可以帮助自己的巨人 ,下面的建议一定会对你有帮助。

1)如何查找和利用资源

百度和Google,应该是大家首要的信息来源。但是,这些来源都是被动的,搜索引擎不会自动的把好东西送到你面前,它的前提是你自己必须知道 关键字。另外,还有一些渠道,是可以主动地把最新的信息推送给你的,比如Blog,比如RSS订阅等等Web2.0的沟通方式。对于被动的搜索,要掌握好 方法,提高效率。对于主动性的信息获取,要选择最权威最高端的信息来源。这样才能让自己站在巨人的肩膀上,看得更远。

如果你读过前一篇文章,已经认识到了“资料导向型 ”的误区,就应该不会被搜索引擎和海量的信息所左右。百度 和Google都有相应的高级查询指令,你需要好好的掌握这些,提高自己的效率。对于主动性的信息来源,选择你所在领域的最顶尖公司、研究机构、专家群体,订阅他们的 Newsletter,读他们的Blog,访问他们的论坛,订RSS,长期的关注这些信息,并且思考这些信息背后所传递的技术趋势和思想。

现在大家接触的信息量非常大,对于海量的信息,一种处理方法是泛读,目的是帮助自己获取新知,把握大方向,知道世界上发生了什么,不至于落伍;另一种处理方法,就是精读,深入地了解来龙去脉,必要时再去查找一些相关的资料,把这部分内容融入到自己的知识体系中。

2)关于买书和读书

书不在多,而在于精。一本书的成本不在于它的售价,而在于你读这本书所花的时间(机会成本)。 完整的读完一本书,通常需要两周到一个月的时间,对于你所付出的时间成本,好书会给你带来超值的回报,令你茅塞顿开;而平庸的书,仅仅是给你留下了一个模糊的印象而已,过不了多久就全忘了。

买书要买高手写的书。 分享一些个人买书的小技巧。我买书的时候,一般选择署名为 “某某-著”的书,而对一些“某某-主编”或者“某某-编译”的书敬而远之。一本书的作者,越少越好。一个人写一本书,跟十个人写一本书,效果是截然相反 的。一本好书,是作者观点和思考的结晶,读这样的书,也就是一个与高手进行“面对面”交流的过程,是一个了解高手思维和思想方法的过程。

不要买太多操作技能型的书。一方面这类书籍良莠不齐,另一方面,对于一项技术或者产品的操作,最直接最权威的,就是厂商发布的帮助文档和白皮 书。购买太多这类大部头的“XXX操作大全”,会占用你大量的时间成本,得不偿失。提高技能,除了读书,另一个重要的方式就是做实验,这个我在后面的章节 会详细的写。

另外我想再多说一句的就是关于翻译过来的外版书籍。目前出版界的翻译质量参差不齐,读这一类的书,可以先看一看网上的读者评论,对于翻译的实在 不靠谱的书,宁可去读原版。还是那句话,一本书的成本不在于它的售价,而在于你读这本书所花的时间(机会成本)。你买一本翻译质量太差的书,大量的时间都 花在了猜测译者的意图之上,不仅浪费时间,而且对学习和读书过程中思维的连贯性也大受影响。

3)论坛的作用和提问的艺术

论坛是一个“获得”与“给予”的地方。在论坛上花时间,要多看精华,少发水贴;提问要提得简明扼要,易于解答;回贴要回的清清楚楚,把好人做到底。论坛之中藏龙卧虎,是一个与高手过招的好地方。一些建议:

首先是关于提问。学问学问,要学要问,只有把你的问题问出来了,才能得到别人的指点。但是,不要不经过大脑就提问,提问的目的是获得启发,而不是解决现有的困境 。一个好的问题是可回答的、有延伸性、有启发性的;不好的问题则过于关注细节、跟特定环境相关,没有代表性,也无法回答。提出一个好的问题,会吸引他人解答,并引起一系列的讨论,这对开阔自己的思路,获得新的观点和想法,都是大有好处的。

第二个建议是关于交流,论坛中每一个ID背后,都是一个个活生生的人。这是结交同道中人的好地方,不妨经常维持一些线上交流和线下活动,对进入特定的技术圈子,了解业界的情况,甚至找工作,都大有好处。

第三,有交流就有收获,在索取的同时,也别忘了奉献。心存感激,帮助他人。不仅是在论坛中应该坚持的习惯,也是为人处事的一个原则。

第四,控制时间。不要被论坛中的积分和等级所左右,不要花太多的时间,以至于顾此失彼,忽略了更重要的东西。

4)自学和On Job Training的区别(如何从他人学习)

自学是比较辛苦的。首先是不要自学那些自己眼前用不着,今后也不一定用得着的偏门技术,这一点在之前讨论“学什么” 的文章中已经有所涉及,不再赘述。自学要避免“看书-做题-上机”这样的中学生式的循环,而是要与人交流。IT技术归根结底还是为人服务的,你可以与这个技术的用户交流,看看他们想要的是什么;你可以与懂行的高手交流,看看人家的想法。

所谓On Job Training,就是一边工作,一边学习自己工作需要的技术,我们通常叫“赶鸭子上架”。有机会被赶上架的鸭子是幸福的,因为你身边有大量的学习资源可以参考,有高手可以请教。

不管是自学,还是On Job Training,都需要懂得如何从他人身上学习 。有些时候,高手一句话,抵得上你看一个星期的书。因此要调整好心态,抱着三人行必有我师的态度,杜绝“文人相轻”的恶习,善用“提问的艺术”,多给自己 争取与高手过招的机会。要学会关注细节,高手的一句话,一个想法,甚至打命令做实验时候的一个小习惯,可能都有你值得学习的地方。观察-思考-总结-提问,按照这样的顺序来向高手学习 。

5)看书与做实验

实验是必须要做的。做实验要讲究效率,有一套自己的工具和平台,不要每次都从下载软件,安装Windows Server或者搭建开发平台开始。要搞清楚实验的目的,是为了验证想法、测试可行性,还是仅仅把书上的步骤跑一遍。我不建议跟着书本上已有的试验或者步 骤来做,书上已经把实验的步骤和结果都写清楚了,自己再做一遍,并没有什么太多的收获。我建议自己给自己提出需求,像做一个小项目一样,设计一个实验并且 实现之。做大实验比做小实验收获要大,做实验可以“左右互博”,左手提出要求,右手来实施,自己模拟真实的企业场景,可以把复杂的要求简单化,去掉表面的东西,只留核心的,让自己通过实验来实现。这其实非常有趣,也是技术的乐趣之所在。

其实,企业里面,在给客户做项目的时候,也经常会先做这样的概念验证和可行性分析试验,我们叫做PoC(Proof of Concept)。其实,这个关键是Concept,找对Concept了,不管试验成功与否,都是大有收获的。这个Concept,可以是当前最新的一 些技术的应用,或者顶尖公司推出的解决方案中的核心思想,或者国外流行的一些趋势等等。你把这些东西拿来,去掉表面的东西,把它的核心看清楚了,然后自己 做一个实验去实现它,这个过程中,你可能还会遇到很多问题,请教很多高手,或者查阅很多资料,这不正是我们追求的与高手过招的机会吗?这不比看一本 “XXX操作大全”要有效得多吗?

6)学会喜欢英文和利用英文

大量的创新理念、新观点、新技术发源于西方,英语是获得这些观点的第一渠道。计算机英语并不难,只是一个习惯的问题。一定要养成读英语的习惯。 心理学家们研究过,养成一个习惯,你只需要短短的21天时间,关键是要坚持。也许英语有词汇量的问题,需要积累和更多的时间,那么好吧,给自己50天时 间,坚持再坚持,我敢跟你打赌,到第51天,你会发现看英语的技术资料也不过如此。50天的坚持换来一个受益终生的习惯,值得。

7)当老师是检验学习效果的最好办法

你怎么知道自己对一项技术或者产品已经掌握了?很简单,当一次老师。给你的朋友,同事,论坛里的网友,上一节课。如果你能清晰地把这个知识教会 别人,能够回答听众提出的问题,甚至在教书的过程中灵感闪现,对技术的理解更进一层。那么,就学的八九不离十了。其实,举办一些这样的小规模讲课和交流活 动,是技术圈子结识朋友,传递知识的好办法。

小结一下,学习的平台很重要,周围的环境很重要。不要闭门造车,要与高手过招。其实,就这么简单。

IT人学习方法论(三):高效学习的更多相关文章

  1. deep learning 学习笔记(三) 线性回归学习速率优化寻找

    继续学习http://www.cnblogs.com/tornadomeet/archive/2013/03/15/2962116.html,上一节课学习速率是固定的,而这里我们的目的是找到一个比较好 ...

  2. [jQuery学习系列三 ]3-JQuery学习二-字典操作

    前言:如果看过了第一篇和第二篇, 相信大家会对jQuery有个初步的认识了, 对于jQuery的选择器和数组的操作都已经很熟悉了, 这一篇就单独罗列jQuery中字典的操作相关的内容. 1. 数组中添 ...

  3. JVM学习——学习方法论&学习大纲

    2020年02月06日22:25:51 完成了Springboot系列的学习和Kafka的学习,接下来进入JVM的学习阶段 深入理解JVM 学习方法论 如何去学习一门课程--方法论 多讨论,从别人身上 ...

  4. IT人学习方法论(一):学习方向

    07年的时候曾经讲过一节Webcast,名叫<使您成为Windows专家的一些学习习惯 >.直到最近,还经常收到听众关于这一节课反馈和心得的电子邮件,可见学习方法论是大家非常关心的问题.因 ...

  5. Linux内核(17) - 高效学习Linux驱动开发

    这本<Linux内核修炼之道>已经开卖(网上的链接为: 卓越.当当.china-pub ),虽然是严肃文学,但为了保证流畅性,大部分文字我还都是斟词灼句,反复的念几遍才写上去的,尽量考虑到 ...

  6. Linux内核(16) - 高效学习Linux内核

    世界悲结束了,章鱼哥也退役了,连非诚勿扰中的拜金女也突然的少了很多.这本<Linux内核修炼之道>在卓越.当当.china-pub上也已经开卖了,虽然是严肃文学,但为了保证流畅性,大部分文 ...

  7. 20172328 2018-2019《Java软件结构与数据结构》第三周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第三周学习总结 概述 Generalization 本周学习了第五章:队列.主要内容包含队列的处理过程.如何用对例如求解问 ...

  8. 物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus

    物联网学习笔记三:物联网网关协议比较:MQTT 和 Modbus 物联网 (IoT) 不只是新技术,还是与旧技术的集成,其关键在于通信.可用的通信方法各不相同,但是,各种不同的协议在将海量“事物”连接 ...

  9. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  10. JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB

    JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...

随机推荐

  1. python 临时变量使用心得

    在函数里面的临时变量也可以定义为一个函数名.变量名,这样就可以通过对象来访问这个变量了,函数使用完之后不会消除.因为函数也是对象,python里面一切皆为对象.

  2. [BZOJ1833][ZJOI2010]count 数字计数

    [BZOJ1833][ZJOI2010]count 数字计数 试题描述 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 输入 输入文件中仅包含一行两个整数a ...

  3. Xcode 8 : iOS xib is missing from working copy、iOS misssing file

    1,造成此问题可能是SVN的原因,通过命令行解决. 2.未使用SVN,竟然是icloud 造成的,通过 改变网络状态 + 重启Xcode 解决.

  4. 给UIView添加手势

    对于不能addTarget的UI对象,添加手势为他们带来了“福音”,以为UIView添加手势为例,揭开手势的面目. 1,创建一个view先, UIView * jrView=[[UIViewalloc ...

  5. Android 内容提供器(Content Provider)介绍

    内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访问数据的安全性.目前,使用内容 ...

  6. hihoCoder 1303 数论六·模线性方程组

    Description 求解模线性方程组, \(m_i\) 不互质. Sol 扩展欧几里得+中国剩余定理. 首先两两合并跟上篇博文一样. 每次通解就是每次增加两个数的最小公倍数,这对取模任意一个数都是 ...

  7. 6 HandlerDescriptor 处理程序描述类——Live555源码阅读(一)基本组件类

    这是Live555源码阅读的第一部分,包括了时间类,延时队列类,处理程序描述类,哈希表类这四个大类. 本文由乌合之众 lym瞎编,欢迎转载 http://www.cnblogs.com/oloroso ...

  8. COGS 2479 偏序 题解

    [题意] 给定一个有n个元素的序列,元素编号为1~n,每个元素有三个属性a,b,c,求序列中满足i<j且ai<aj且bi<bj且ci<cj的数对(i,j)的个数. 对于30%的 ...

  9. java文件和文件夹复制、删除、移动操作

    java文件和文件夹复制.删除.移动操作 import java.io.File; import java.io.FileInputStream; import java.io.FileOutputS ...

  10. Objective C 快速入门学习三

    1.数据类型 和C语言基本一样. 有一个特别数据类型id,可以储存任何类型的对象,它是实现多态和动态绑定的基础. Objective-C 2.程序结构 Objective-C和C的程序结构一模一样,具 ...