一些有关“怎么学”的建议
首先需要明确方向,否则即使学习方法再高效,也不免南辕北辙,背离自己的目标。关于学习方向的讨论,请参见之前的一篇文章 。下面我来重点说一说有关“怎么学”的建议。
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)当老师是检验学习效果的最好办法
你怎么知道自己对一项技术或者产品已经掌握了?很简单,当一次老师。给你的朋友,同事,论坛里的网友,上一节课。如果你能清晰地把这个知识教会 别人,能够回答听众提出的问题,甚至在教书的过程中灵感闪现,对技术的理解更进一层。那么,就学的八九不离十了。其实,举办一些这样的小规模讲课和交流活 动,是技术圈子结识朋友,传递知识的好办法。
小结一下,学习的平台很重要,周围的环境很重要。不要闭门造车,要与高手过招。其实,就这么简单。