IT人的学习方法论

Others 专栏收录该内容
5 篇文章 0 订阅

转自http://blog.csdn.net/webgeek/article/details/8700992


07年的时候曾经讲过一节Webcast,名叫《 使您成为Windows专家的一些学习习惯》。直到最近,还经常收到听众关于这一节课反馈和心得的电子邮件,可见学习方法论是大家非常关心的问题。因此,我的Blog就从讨论学习开始吧。
IT是一个需要活到老,学到老的行当。在摩尔定律的推动下,技术领域的革新和提高每天都在发生,这使得IT领域的工作者必须不断的学习,才能紧跟技术的脚步。与此同时,IT人大多都是“热爱学习”的好同志,IT的细分领域非常广泛,从CPU电路设计到PhotoShop磨皮大法,无一不是IT人感兴趣而希望学习的东西。在外部“摩尔定律”和内心“求知欲望”的双重推动下,IT人在学习之路“上下而求索”。然而,我们仍旧面临很多困惑,“学什么”、“怎么学”、“学了有什么用”,不断的陷入一些学习误区,感觉学习的非常辛苦,但是自己的水平和能力却提高的非常有限。在“IT人的学习方法论”这个Blog系列中,我会跟大家共同探讨一些技术学习方面的误区,IT知识学习的要点和建议。
 
心法与招式
庄子说“吾生也有涯,而知也无涯,以有涯随无涯,殆也”。庄老先生的意思是,生命是有限的,而知识是无限的,用有限的生命去追求无限的知识,必定会把自己给累死。有人说这句话是读书无用论的经典诠释,而我觉得,针对IT领域知识的学习,这个描述再恰当不过了。我们需要对所学的知识有个选择,绝对不能采取“人有多大胆,地有多大产”的死磕到底态度,而是要选择去学那些比较用得上的,而放弃那些不太可能用上的。所以,我们首先需要讨论的是关于 “学什么”的问题。
每个人都有自己工作的领域,需要的知识结构也不一样,但是事情总是存在一些共性的东西,对于IT的学习来说,把握“ 心法与招式”的平衡,是至关重要的。
所谓 心法,就是理论基础知识,是底层的原理性知识,是那些跟特定的厂家无关的跨平台共性知识;所谓 招式,就是应用层面的技能,配置、操作和调试的步骤,跟具体的软件或者硬件紧密关联的特殊知识。IT行业的工作领域虽然千差万别,但是在知识的学习上,都存在心法与招式的区别,比如说:
IT工作领域心法招式
系统管理员操作系统的基础知识 
程序的结构和执行原理 
目录服务,Web,邮件等系统的基本知识 
纠错排错的思路和技能
活动目录下DNS的配置 
SendMail系统的架设和管理 
用PHP与MySQL架设电子商务网站 
Windows的集群配置
网络管理员TCP/IP;RFC 
网络安全的基础知识 
网络设计和规划能力
路由器的具体配置命令 
特定网管软件的使用 
一些网络诊断工具
数据库管理员关系型数据库的原理和设计 
SQL查询语句和编程 
数据库设计与应用平台的结合
SQL Server或者MySQL的操作 
与特定编程平台相关的数据库指令 
特定数据库产品的维护或者调优
图形美工设计人员色彩的原理 
颜色搭配的技巧 
设计能力和表现能力
“PhotoShop”磨皮大法等 
Flash动画制作或者编程 
DreamWaver网页设计
可能大家已经应注意到了,我之前说的是“把握心法与招式的 平衡”,其实关键一点在于 平衡。IT是一个理论联系实际的行当,既没有独立于应用的理论,也没有缺乏理论支持的应用。从学习的角度来说,两者应该相辅相成,互为支持。如何做到平衡?我尝试从一个IT人的成长和学习路径说起:
1)菜鸟上路。
这是在校学生和刚毕业1-2年的IT人所经历的一个阶段。概括地说,就是“什么都不懂,什么都想学,精力旺盛,求知欲超强”的一个阶段。在这个阶段,需要牢记这两句话:“学以致用”和“兴趣是最好的老师”。在校学生往往对老师讲授的“心法”类基础知识毫无兴趣(过不了多久就会后悔,没办法,人总是在不断后悔中成长的),而对书店中诸如“21天精通XXX技术”这一类的“招式”充满激情。这一点是可以理解的,但是需要把握一个度,切忌在应用层面涉猎过多,浅尝辄止。可以在兴趣的导向下涉足一些领域,做一些“招式”的学习和实践,但是需要时刻牢记,不要为“招式”上的小有成就而沾沾自喜和止步不前,而是需要通过这样的学习和实践来明确自己擅长的方向和领域。 菜鸟上路以“招式”的学习为主,通过学习、收获、反馈和思考,来扩大自己的知识面,为自己找出擅长的方向。找到方向了,菜鸟才真的上路了。
2)初出茅庐。
在开始工作的头两三年,处在一个初出茅庐的阶段。不同于学校的象牙塔环境,在工作中,有来自各个方面的压力,有实际操作中的磨练,也有来自同事及“师傅”的指导。对于所从事的工作,往往会经历新奇-〉挑战-〉得心应手-〉逐渐厌倦这样的一个“心路历程”。在公司里,“三人心,必有我师”,跟周围同事和资深员工的交流,会使“招式”方面的应用技能快速提高,甚至在某各领域达到独当一面的成果。某各领域应用和操作水平的独当一面,并不代表整体技术能力的综合水平。这个阶段的学习,要在联系到实际应用的前提下,对所工作领域的“心法”类知识做一个深入的理论学习甚至是补课。系统管理员这时应该把《操作系统原理》翻出来仔细的读一读,网络管理员应该看《TCP/IP协议》,这样才能触类旁通,对具体工作有更好的指导。 初出茅庐阶段以“心法”的学习为主,这样才能打下扎实的基础,在技术道路上实现可持续发展。
3)小试牛刀。
再工作几年,你的名片上可能已经印着“高级工程师”甚至“技术主管”的头衔,此时切忌在你熟悉的领域“自扫门前雪”,“坐井观天”。IT是一个需要综合知识的领域,此时不妨学些一些自己不熟悉,但是却跟自己目前或者未来的工作有关的平台或者系统,多做一些实践操作,做一些试验,动动手。论语上说,“学而不思则罔,思而不学则殆”,IT人也要拳不离手,曲不离口。 工作小有成就后,要学习一些新的“招式”,让自己时刻保持良好的状态,坚决避免思路和操作能力的僵化。
4)游刃有余。
此时你可能已经是“首席工程师”,“技术总监”或“架构师”。对于技术方面的问题,往往在公司内有着“一语定乾坤”的决定性能力。而这一阶段的学习要求往往也更高,不仅要打破平台的限制,也要站在更高的高度,从“集成”的角度出发,把各个IT领域联系在一起,需要有总揽全局的能力和视野。此时,初出茅庐时学习的“心法”(提高你的能力),和小试牛刀阶段不断补充的“招式”(开阔你的视野),都将在这个阶段厚积薄发。 此时的学习,不仅仅局限在特定领域的一招一式,而是要融会贯通,把“各门各派”的心法为我所用,总结提炼自己的思维方式和决断能力。
5)手中无剑。
这是一个你我都在追求的状态。金庸笔下的 独孤求败,一生用过五种不同的剑,分别为无名利剑、紫薇软剑、玄铁重剑、木剑乃至无剑。这五种不同的剑,事实上代表了独孤求败剑学的五个不同境界。“自此精修,渐进于无剑胜有剑之境”,说的是在积累、经验和知识上的深度达到一定境界后的自如应对。
从这个简单的成长学习路径,我们可以清楚地看到,IT领域的理论知识和操作技能实现辅相承的,在学习过程中需要很好的平衡。这样才能把握好学习的“度”,不再只是的汪洋大海迷失方向。

IT人的学习方法论-2 学习的误区

一些常见的学习方法误区
1) 资料导向型
现在就停止阅读这篇文章,打开“你的电脑”,看看一你的硬盘上是否一个名为“XX资料”的文件夹,我相信,这里面一定保存着大量你精心收集的电脑教程、电子书、培训材料、课程视频等等。我敢打赌,绝大多数的IT人都会在自己的电脑上保存一个或者几个这样的文件夹,其中内容往往经过精心分类,数量在几GB甚至几十GB之巨。请再扭头看一看你的书架,你所购买的各类计算机书籍、杂志,是否已经把书架堆满了?你买的书籍种类,是否已经涵盖了从编程、Windows管理、Unix/Linux一直到美工和PhotoShop?
这是很多人都会经历的一个“资料导向型”的学习误区。你现在可以仔细统计一下,你电脑中的资料和书架上的书籍,有多少是从来没有看过的?有多少是看过超过1/3的?又有多少是真正看完并且对你的技术和工作产生了实质性帮助的?
我这里想提出一个概念,叫做“ 有效学习时间”,意思是说 在学习所花费的所有时间中,对自己掌握新知识、大脑思考和学习新技术、动手操作并且积累经验直接有关的时间。回顾我们的学习习惯,当开始一项新知识或者新技术的学习时,我们往往是从买书和在网上收集资料开始,据我统计,在学习时, 我们有50%时间在收集资料、30%时间在整理资料、20%时间在翻看资料!也许这样的数字有些夸张,但是你可以回顾一些自己最近的学习过程,看一看是否满足这样的80/20分布,统计一下自己的“有效学习时间”是多少。
“有效学习时间”的多少,直接决定了你的学习结果和效率。有的人在IT行业沉浮多年,涉猎领域广泛,电子版的资料和各类的图书“汗牛充栋”,但是常常觉得自己非常迷茫,很多技术都不够精通和深入。这时,需要从学习的基本效率和学习的有效时间上反思一下了。保存在硬盘和书架上的并不能直接成为你的能力, 不是硬盘有多大,知识就有多丰富;也不是书架有多高,技术就有多牛。你需要大量的“有效学习时间”,把这些转化为自己的积累。我说的语言可能非常直白,甚至不给人留面子,但却说的是一个朴实的道理。
2) 似懂非懂型
这种类型,换句话说,就是不求甚解。一些IT的概念和产品,往往是比较容易理解的,粗略的翻译一下书,心里也许就知道个十之八九了。可是,IT技术和产品往往是跟特殊的环境和场景相关联的,懂得概念,并不见得能够在应用上融会贯通。有些朋友看书非常快,不留意书中的细节,只是圂囵吞枣,一目十行,把一些大概的知识点和概念记住了,就以为已经掌握了。
我写的这些误区,其实很多都是自己经历过的。以“似懂非懂型”这个举个例子,我讲一个我自己经历过的故事。刚毕业的时候在微软的技术支持部门工作,起初是负责Office/Outlook产品的支持,后来逐渐开始接触Exchange Server。当时书看了不少,各种试验没少做,客户的问题也能大概的解决。后来曾经有一个机会,去面试Exchange产品的高端技术职位,本以为自己对这个产品已经非常熟悉,可是没想到被真正的专家一再考问,很多细节立刻变得模糊,对一些自己以为非常清楚的模块也没有办法说的太深入。我想大家也许都有这样的经历, 认为自己已经懂了,或者觉得这些不太重要,但是就是这些似懂非懂,或者你忽略的地方,在某个特殊时候会跳出来找你的麻烦。“出来混得,迟早要还”,这真是至理名言阿。似懂非懂,归根结底还是不懂。
因此,如果你认定要学好一门技术,就要抱着打破沙锅问到底决心,不给自己的知识结构上留下漏洞。 资料导向型这个误区说的是学习要有足够的效率,要把握“有效学习时间”,似懂非懂型这个误区,就是说学习的结果和质量,花费了足够的有效学习时间,必须保证产出的结果是一个过硬的,经得住检验的知识结构。
3) 丢西瓜捡芝麻型
前面说了学习需要建立一个“经得住检验的知识结构”,这并不等于你需要对所学技术或者产品的每一个细节都烂熟于心。过于关注细节,就犯了“丢西瓜捡芝麻”的错误了。有些人学Linux,要对每个命令的参数都仔仔细细的背下来,有的人做Windows的网络管理,却非要花时间搞明白活动目录的数据库结构,甚至有人曾发email给我,说决心要把Exhcange的Database接口和物理结构给反向工程出来。
想想前一篇blog中我引用庄子的话吧,“ 吾生也有涯,而知也无涯,以有涯随无涯,殆也”。在这些细节问题上死磕,无异与浪费生命啊。话又说回来,到底如何定义西瓜和芝麻?学习,到底需要学到什么样的深度?这其实也是一个非常难以把握的问题。我们在前一篇blog讨论了“心法”和“招式”,在具体的一项技术或者产品的学习过程中,如何定义“西瓜”和“芝麻”呢?我是这样理解的:
西瓜,就是宏观层面的概念、方法、最佳实践,一些短期之内不会随着产品的变化而变化的知识;一些可以活学活用,体现产品设计思想的理念;它可以是一些技术细节,前提是掌握这些细节是会对产品的设计、优化或者故障排除等方面发挥作用的。
芝麻,往往是一些需要机械性记忆的信息,或者一些被厂商封装在“黑盒”中的部分。把Linux的命令悉数的背诵下来,并不能让你成为专家, 反向工程厂商的“黑盒”,也只会做一些徒劳无益的努力。
读到这里,可能读者对“芝麻”和底层原理这类“心法”级别的学习会产生混淆,深入地探究一个系统的内部,难道不是提高技术能力的方法嘛?其实,这是有区别的。我前文所提到的底层原理这类“心法”级别的知识,是指独立于任何厂商产品的理论知识,是放之四海皆准的真理,是现在、未来,当前版本和以后N+1版本都用得着的知识;而我说的“芝麻”,是指特定产品的细节和被厂商有意封装底层部分,是那种今天学完,明天就过期作废的东西。比如说,学Windows,你可以看操作系统的教材来获得“心法”,这样的知识,即使微软出了Windows 3000,你也用得上;但是如果你去反向工程ntoskrnl.exe,即使搞出了一个所以然,只要微软发一个Service Pack,你掌握所有的东西就都变了,你也就陷入了丢西瓜捡芝麻的误区了。不知道我这样,是不是把这个问题说明白了。:-)
 
今天先写到这里,下篇预告:
一些有关“怎么学”的建议
首先需要明确方向,否则即使学习方法再高效,也不免南辕北辙,背离自己的目标。关于学习方向的讨论,请参见之前的一篇 文章。下面我来重点说一说有关“怎么学”的建议。
1)如何查找和利用资源
2)关于买书和读书
3)论坛的作用和提问的艺术
4)自学和On Job Training的区别(如何从他人学习)
5)学会喜欢英文和利用英文


IT人的学习方法论-3 高效学习的建议

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

参与评论
请先登录 后发表评论~
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值