分类: IT职场
2008-09-24 11:10:20
学习的革命
――杂谈程序员的学习力
引言
达尔文在进化论中写道“物竞天择,适者生存”,达老的观点是:这个世界上能够生存下来的物种,不是身体最强壮的,也不是智商最高的,而是对环境适应能力最强的。很久以前,体型庞大的恐龙没有生存下来,咯屁了;当年和人类智商一样高的猿猴,没进化成功,堕落了;只有人类,从与猿猴一样的造型不断的进化至今,在这个过程中人类不断的去学习,学会取火、制作工具、直立行走……演化至今。不断的学习新的技术,适应环境的变化,并改造环境甚至创造环境,成就了人类的今天。
在这个竞争日益激烈的社会,在IT行业这个飞速发展的领域,做为程序员的我们,能否适应这个环境,甚至成为这个环境的主宰,学习力是我们得以生存和更好的生活的关键。而计算机技术日新月异的变化,也要求我们程序员要不断的学习,不断的充实自己。时代光华曾经有一句口号:“知识改变命运 学习成就未来”,此话有道啊。很多企业招聘时,也都特别对新人提出一个要求:具备良好的学习能力。
搞技术是一个很累的事情,很多程序员都这样感慨,初学时觉得不会的东西太多,做了几年后还是感觉学无止境,即便是一个N年的老鸟,也还要不断充电,否则没两年恐怕就没法在这个圈子里面混了。很多朋友都在疲于奔命,哀号学习之苦。
有一个业界广泛流传的故事:一富婆(估计是体重200斤以上、脸上的粉刮下来可以包二三十个饺子、说话眼睛看天花板的老女人)去夜总会找乐子,殷勤的老板娘挑了几个帅小伙,富婆不满意;又挑了几个壮小伙,富婆还不满意;老板娘问富婆到底想要什么样的啊,富婆说“体力好、精力旺、能加班、能熬夜、随叫随到、吃苦耐劳”,老板娘一下乐了……张口大喊:“机房里搞程序,出来接客!”
可见程序员平日的工作恐怕就已经很繁忙了……不过就像我一直坚定的认为程序员的形象不应该是“工作狂人、缺少情趣、蓬头垢面、衣着杂乱、身有异味”一样,我们要管理好我们的时间,时间就像海绵里的水,马克思告诉俺们,要挤就一定会有的,工作可以满足我们的现在,学习才可以成就我们的未来。本文旨在根据笔者的经验,给亲爱的读者们一点点学习的建议。
第一,学习的目标管理:
怎么学习是个方法问题,我们稍后再谈,但是在此之前想要搞明白我们要学习什么,这是个目标问题。很多程序员没有明确的目标,不知道自己最终要的是一种什么样的生活,也不清楚自己三年以后五年以后十年以后的人生目标是什么,甚至连三个月半年或是一年内的短期目标也没有,那自然也就无从谈起明确的学习目标。
曾经看过这样一个故事,在美国的贫民区,有一个十几岁的小孩,一直梦想着有一天可以成为美国总统,于是他开始构思:要成为总统,就必须先做州长;要做州长,就要有钱去拉选票;要想有钱,就得娶一富家千金;要娶千金,做影坛明星最合适不过;为做明星又得有魅力,于是他开始学习健美,亲爱的看官,您觉得这个小孩的梦想会实现吗?您是不是认为这就是传说中的“扯犊子”,美国式白日梦……
不过,这是一个真实的故事,后来,这个小孩果然非池中之物,练习健美得了N个国内国际的健美大赛冠军,甚至还出了几本健美健身类的书;后来打入好莱坞拍了很多部很牛X的电影成了国际明星;坚持多年的感情终于娶到了富家千金,这个千金大有来头,就是被枪杀的美国总统肯尼迪的侄女;再后来息影从政,如愿当选了美国加州州长。现在,他就差没把小布什赶出白宫了,是的,相信您应该也猜到了,他就是:阿诺德·施瓦辛格。
这个真实的故事告诉我们,只要有梦想,做好规划,奋力去拼搏,一切皆有可能(此处为支持国货,插播李宁公司广告)。
个人建议,如果您是一个新丁,刚入行的几年,多学技术;如果您已经变成一个大手,那么可以学学管理或者市场方面的知识。新手最重要的是技术的累积,毕竟想成为项目经理或是技术总监等大鸟,第一个前提还是技术要过硬,否则无法服众,技术永远都是程序员的第一看家本领;在中国这个环境,很少有程序员能做到35岁,一般到了30岁左右至少要前进一步——做个主管,这时可能更多需要的是带领技术团队的能力、与客户沟通的能力等等,如果想拉大旗自己干,则更是如此。
但是,诚如施瓦辛格的故事一样,我们要有一个规划,至少要确定自己的长期目标和短期目标,并列出计划,努力行动。比如,我们制订出三年内的目标,假设您是一个新手,您是要强化自己的英文能力,学习英语;或是要增加学历的厚度,读个研究生;还是要狠K一项新的技能,比如PHP ……总之,这三年内我们要定一下学习的目标,可能第一年我们达到阅读计算机英语完全没有问题,第二年我们要K下来PHP ,在这三年中我们要努力考取研究生并读完获得学历。总之,我们要有一个计划,然后进行分解,如果我们要搞定英语阅读能力,我们怎么办?12个月,48周,365天,每个月达到什么程度,每周完成多少任务,每天做哪些学习(假设是每天背下来15个英文单词,阅读千字左右的文档3篇)。那么,我们的目标就落实了,计划就落地了,目标才会随着每天每周每月的过去而逐步实现。
要立长志,不要常立志。随波逐流,撞大运,听天命,永远成为不了高手,毕竟天上没那么多馅饼掉下来,就算掉下来也未必正好砸咱脑袋上不是吗。
第二,学习的时间管理
程序员自己的时间,似乎少的可怜,有时我们要加班加点,有时我们要封闭开发,还有时客户请吃饭我们喝大了……所以很多程序员说,忙得连谈女朋友的时间都没有,可是,生活不会因为这些借口而宽容我们。房价依然会高到离谱,女朋友依然会抱怨没人陪伴,通货膨胀也不会就此停止……生活依然要继续,我们不能停下脚步,不能停下学习进步的脚步。
对此,我有两个看法,第一个看法,让我们来看一个小故事吧——
一位管理专家在一群学生面前,拿出一个广口瓶放在桌上,同时拿出了几十个拳头大小的石块,一个个放进瓶中,当石块放满整个瓶子后,专家问:“瓶子装满了吗?”
同学们回答:“装满了!”
“真的吗?”专家再拿出一桶碎石,取出一把倒入瓶中,再把瓶子摇一摇,让碎石填入石块中的缝隙,“瓶子装满了吗?”。
有位同学回答:“也许没有”。
“很好!”专家又拿出一桶沙子倒进瓶中,充满了石块所留下的空间,然后再问:“瓶子装满了吗?”
全班大声回应:“没有!”
“非常好!”这次专家拿出一壶水,注入瓶中,直到水满至瓶口。专家看着全班同学问道:“这个展示的重点是什么?”
一位勇敢的学生举手说:“无论你的日程排得有多满,只要尽全力安排,还是可以安排很多事情!”
专家回答:“错!”,重点是——
“如果你不先把石块放进去,就永远也放不进去了!”
在生活中大家有没有发现,我们很多很多的时间浪费在了无关紧要的小事上,而我们的目标是重要的紧急的事情,可惜,它却没有获得最多的时间去处理。大事法则告诉我们,做事要有条理,不要抱怨没有时间,先看看,要做的事情是不是每一件都是重要的或者紧急的,不要再让琐碎的小事浪费自己的生命了。
我的第二个看法:学会化零为整,尽量把时间用在重要和紧急的事情上,但是我们仍然会有大把时间是零散的。
我曾经听过一个讲座,叫《做自己想做的人》,主讲人讲了一个自己的时间管理的方法,就是:随时随地都可以休息。牛啊,他可以把所有的时间有效利用,虽然他也很忙,但是如果今天公司组织出去卡拉OK ,他也可以在包厢嘈杂的声音中睡着(我当年也练成了一个本领,就是可以在公车或地铁上抓住扶手,头靠在胳膊上,三十秒入睡)。即便有一点小小的时间,那怕在等车,那怕在等人,都可以掏出来一本书看,这就时间管理的观念。
在时间管理上有三个“B”——Bathe洗澡、Bus坐车、Bed睡觉
有多少人,在洗澡的时候在发呆在胡思乱想;有多少人,在坐车的时候在东张西望;有多少人,在睡觉前在数绵羊或者是大脑一片空白……那么,把这些时间好好利用起来吧,我们可不可以在洗澡的时候想想今天写的一段代码为什么执行报错;我们可不可以在清晨坐车的时候看看技术书籍或者计划一下一天的工作;我们可不可以在睡觉前想一下今天都做了什么事情有没有什么经验教训要总结……如果这些零散的时间我们都能利用起来,积少成多,您会发现,有一天,会改变我们的生活。
第三,学习的方法问题
凡事要讲究方法,才能事半功倍。愚公移山固然可贵,可惜要“子子孙孙无穷尽也”,这玩艺咱来不了……
就比如今天一个兄弟说想要学习Linux ,问我什么方法最好,那么我可以给出一个选择:首选,找个Linux高手当师傅来带你入门直至出徒;次选,参加一个Linux培训
可能各位看官都觉得通过网络学习(比如通过论坛等获取知识的途经)是很好的方法,诚然这是方法之一,但是如果想最快最有效的学习Linux ,对于一个初学者,首选当然是有师傅来指导,有过来人讲述亲身经验,可以让他走过的弯路我们不再走,他的经验教训我们拿来就用,这是最快的一种方法;如果不具备这样的机会,条件允许可以参加个培训班,授课的老师会总结自己的体会和经验,系统化的把知识讲给我们听,这种学习速度也比较快;如果资金有困难,那么强烈建议至少要买一本书,毕竟好的书是作者的心得体会的总结,看一本书可以让我们学习更条理化;当然如果您真是一毛不拔,书都不想买,只是想通过网络学习,那么我只能说这并不适合初学者,因为网上知识太乱太杂,老鸟去获取是一种很好的手段,可是新手往往无法分辨,效果自然惨不忍睹。这就是方法的问题。
再比如,假设看官您是刚刚升任公司项目部经理,首先面临的一个最大的问题就是,如何在竞标中向客户做演示讲解,这对于平时埋头做技术沉默寡言的您是否是个挑战?没办法了,回家对着四面墙狂练吧,但是练习也要有方法,一方面可以从网上找些产品演示或演讲技巧的视频教程或者买相关的书籍来看,或者向前辈讨教下,这是必要的;另一方面自己练习时,要有方法,比如可以使用电脑的录音功能录制下来自己练习的过程,回过头来,自己去听自己的讲解是否满意,然后总结什么地方有问题,依次循环往复,相信会受益最多效果最好进步最快,这就是方法了。
不为失败找借口,要为成功找方法,方法是让我们的时间更有效的重要手段,比如笔者每天晚上都会总结好第二天要做的事项,一个一个列在日程表中,第二天,做完一个划掉一个,虽然同样是做事情,但是这种成就感是让人做事非常愉快的,而且事情也不容易遗漏,这也是一种方法。
“黑猫白猫抓到耗子就是好猫”,可是我们总不能让一只猫搞了一个月才抓到耗子,时间不等人,找到适合自己的学习方法,是达成目标的关键。我曾经认识一位学习Linux的新人,成天捧着一本《Linux命令大全》疯狂的看书敲命令,我真不忍心打击他,因为Linux现在至少有两三千个命令,每个命令平均有二三十个选项,要敲到什么时候呢……何况这些命令和选项,我使用Linux七年了,感觉也不过用到其中十分之一都不到,常用的并没有那么多……可惜啊,时间就这样别浪费了,这就是方法的错误。
本文到此,也该结束了,本文名为《学习的革命》,实则是作者作为夜色版块标题党一员的通病,内容没有那么“革命”,
如果还不清楚要怎么开始,那么给您个建议,先搞明白这三个事情——
第一、 为何学习
第二、 学习什么
第三、 怎么学习
我坚信任何一个人都渴望成功,任何一个人都期望过自己想过的生活,不付出辛勤的汗水,这是不可能实现的……天上的馅饼,如同程序员中的美女一样,总是很少很少的,与其白日发梦,不如踏踏实实的学习和工作,不是吗?毛主席教导过我们,好好学习,才能天天向上。
莫等闲,白了少年头,空悲切,与君共勉。
本文是为《PHPer》杂志十月刊写的文章,欢迎交流