赶上最近统计教师资格证报名,看到一本书叫《我是一直IT小小鸟》,其中有篇邻校沈航学长的文章《梦断计院》,甚是感慨,以下是正文:
我和我最后的倔强
握紧双手绝对不放
下一站是不是天堂
就算失望不能绝望
-- 五月天《倔强》
引子:我的感悟,我的忏悔
我曾就读的沈阳航空工业学院的计算机科班(05级),属于二本院校的一本专业。我的大部分同学都是高考重点大学的落榜生调剂而来,算是高考中的失败者吧。毕业后去了上海一家IT创业公司。
没有可以向人炫耀的面经,没有华丽的背景,只有一点点学习的感悟,和几分失败的忏悔,与大家分享。
上篇·梦断计院
大学生活马上就要结束了,不禁感叹时光飞逝,物是人非……
刚踏入大学校门的时候,踌躇满志,虽然那时甚至不知道C语言是什么东西,但是仍然对自己四年后的形象充满了无限的憧憬:拥有雄厚的基础知识、良好的学术能力、出众的技术才华,是未来的科学栋梁……
如今的现状却是:为了得到一个可以糊口的IT民工职位抓破头皮,在郁闷与苦恼中为获得一个工作机会而暗自庆幸,至于什么专心学术、什么科学栋梁,似乎距离自己越来越遥远。
直到此刻,我仍然不认为自己的大学生活是完全堕落的,我也不认为自己读的书是无用的,我更不认为自己没有学习计算机科学的资质,那么问题究竟出现在什么地方?我想这里有很多原因,大部分是自己的,但也绝对不能忽视环境对人的影响。
对环境的反思
计院的第一大问题--学生普遍基础薄弱
在我东奔西走找工作的时候,才真正体会到自己原来喜欢炫耀的基础知识是多么薄弱,而它们又是那么重要。我曾经在面试时因为说不清进程间的通信机制而当场被无情BS,也因为对于自己能力的不自信而放弃一家很牛的公司的研发部提供的笔试机会。
先要说说我所在的计院的第一大问题——专心做学问的人太少了,学生普遍基础薄弱。
本科四年,在这里能看到的真正对计算机感兴趣,并且肯专心研究搞学术的学生真是凤毛麟角。计院的大环境是网游成风,"腐败"猖獗。没有几个人肯安下心来读书,即使那几个老老实实听课的"好学生"也只不过是为了一个高高的GPA,一个可以在家长同学面前显摆的奖学金证书。而真正希望学东西、做学问的人太少了。我找工作时,手里握着一摞奖学金证书,后来被证明绝对是废纸,任凭你怎么吹嘘自己的成绩,没有哪个公司会真的拿来仔细看上一眼。
回归正题,什么才是真正的基础扎实?我的理解是,不仅要牢牢掌握大学课本中关于计算机核心课程的理论知识,而且还要深入实践;对于该方向非常重要的技术思想、概念名词、技术要点都要有良好的把握,比如可以随手写出快速排序、哈希查找等经典的常用算法,熟记线程与进程的概念、它们的差别,并且能够解释清楚诸如僵尸进程之类的问题;会Linux的不仅仅是就会几条Shell命令,或者干脆就会装个系统;用C++的不仅仅要会语法(不知道这是不是绝大多数计算机专业毕业生对于C++的理解程度),起码要了解一些常用的标准库,知道什么是STL,了解些基本的OO思维方法;学过网络的最起码要用过Socket;了解数据库的不能仅仅就会写几个SQL语句、背两条范式等。
说到这里不禁有点激动,前几天在一个IT论坛上看到一个关于大学读书无用论的帖子,说读书无用的人恐怕这些基础知识掌握得也不怎么样,连基础的东西都没弄明白怎么好意思说自己读过书?没读过书怎么好意思说读书没用?!其实不是读书无用,是肯安心读书的人太少,而书读得足够多的人更少。
倘若没有这些基础,仅仅会用这个工具、那个框架,充其量也不过是个IT民工,今后的发展必定受到制约,选择只有三条:
- 做一辈子IT民工;
- 将大学时欠下来的债补上;
- 改行。
这里我不想说太多,话归正题。如果要我重新去选择,我一定会在学习每一门课程的同时尽量找到相关的资料,扩展每一个话题。同时,将一些最常用的思想、技术、方法记录下来,并且苦练到可以熟练应用的地步,并且时常加以回顾。
真正基础雄厚的人应该是可以将常用的基础性知识熟记成诵的人,提到一个基本的名词或话题能够将其来龙去脉解释清楚的人。
计院的第二大问题--学风不正,涣散成性
计院的学风不正,涣散成性,早已名声在外。我想一方面要怪罪于我们学生自己,对前途不负责任,将大好的宝贵时光都用在了网游、泡妞、喝酒等事情上;可另一方面,计院的领导及老师就真的没责任了吗?
如今的老师大都想着自己的小项目能赚多少钱,如今的领导多数考虑自己负责的这一块不要出问题而影响到头上的乌纱帽。"一切为了学生",表面看起来冠冕堂皇,实则是句空话。老师根本没时间或没水平备课,上课照本宣科念幻灯片,考试之前为了保证及格率不忘帮大家"划划范围"。
记得大学一年级的"计算机导论"课,一个老头足足念了一个学期的PPT,内容就是"C语言基础、"数字逻辑"、"离散数学"课程的前1/3……内容巨枯燥,而且朗读水平超级差劲。也难怪很多人从一开始就认为进入计院如同进入火坑。大学四年学下来不知道计算机专业的学完了究竟能做什么。
到了毕业时,领导开始担心就业率了,早就内外成患,以涣散、颓废为风的计算机学院又岂能在短时间里奋发起来?这个时候开始埋怨学生这个不是、那个不对,仿佛一切问题都是学生的,我想问问你们早干什么来的?之前有那么多时间不好好调教你的学生,为什么这个时候才想起来教育?
在这样的学习环境下,除了主动自学,多多上网搜集信息、泡图书馆,还能有什么选择呢?但话说回来我没完全做到,最终问题还出在自己:不够坚定,有时会随着大环境一起堕落,浪费了很多时间。
计院第三大问题--实践环节薄弱,人才位置错放
看着自己简历中可怜的实践经验,面对人才市场上实践经验黄金般的价格,自己不禁暗自悔恨……
很多人都在用理论扎实来搪塞自己实践方面的低能,我想这个借口根本站不住脚。首先,计算机这个学科的性质就决定了没有实践,理论几乎没法理解得扎实透彻。就好比熟记骑自行车要领的人可能根本不会骑车一样。我们不排除有未来的图灵、Knuth一类的大牛,即使不写什么重要的代码,理论也是巨牛无比。但是对大多数学过数据结构与算法的人来说,能用C写个Dijkstra最短路算法就算不错了,你要给他个什么城市公交线路选择问题,他保准晕菜,当场崩溃(这样的例子我见多了)。
其实我们的同学中真的有些非常出色,只不过是放错了位置,尤其是女生,我觉得大多数都不适合去编程。倘若不是在计院,可能他们已经凭借着自己其他方面出色的能力在他们适合的领域崭露头角了。我不只听到一个人抱怨自己不适合编程,当然一些人是纯粹为自己的涣散找借口--这些人估计换个环境也还是那样。
但是大一大二的时候,我们的老师、我们的领导又在干啥呢?一些必要的引导总是你们的职责吧,干嘛叫这些同学走过了大学四年才意识到自己不适合学计算机?
总之,种种因素所致,大多数同学四年没编过几行代码,课程设计不过草草了事(据说某些老师甚至推荐同学去校外找人代做毕设),所以毕业时,之前做过的东西根本不敢往简历里写,因为根本没啥技术含量,都是Copy的。
对自身的反思
项目反思
当我向面试官夸夸其谈自己所谓有技术含量的项目经验时,不住地冒虚汗,甚至还被一个考官当场揭穿并遭到无情BS。现在想想,更加悔恨不已……
我也曾经意识到实践的问题,也曾经雄心勃勃地要写有技术含量的代码。大学里我自己写过两个自认为是比较有技术含量的项目。不过两个项目皆因打不完的补丁、层出不穷的新Bug、臃肿而杂乱的代码,导致自己对于继续开发与维护失去信心与兴趣,最终搁浅失败。
究其原因,主要是自己太浮躁。这个问题在应届毕业生人群中及IT行业里是普遍存在的。刚刚会编程就开始YY自己能写出多牛逼的程序,做多牛逼的软件。事实证明,任何牛逼的软件都不是一下子就那么牛逼的,必须要循序渐进地展开。当时,刚刚背熟了C++的语法,就萌生了要写一个牛逼系统证明自己的想法。其实这个想法没有错,错就错在我们没有进行必要的积累,而且缺乏对于系统模块逐步开发并测试的耐心。在网上下载了点别人的设计经验,自己就开始照猫画虎地写代码。其结果可想而知,调试了n久代码才能勉强地运行,而且极其不稳定。整个项目乱成一团,打一个补丁又出两个Bug那种。
这个时候其实应该吸取经验,对代码进行重写,对系统进行改进,甚至有必要重新设计。而我又开始浮躁了,觉得这个算不了什么,吸取教训,再写个更有技术含量的牛逼程序一定成功。于是竟然无厘头地放弃了那一堆研究了将近一个月的代码,开始了新的项目设计。这个项目的结果更加可笑,我最终甚至都没有完整运行整个程序,因为无论我怎么调试,程序到一半的时候都会莫名其妙地崩溃,而杂乱的设计与垃圾代码使得我想赶紧将这些破玩意儿放入回收站。这时我一方面感觉自己也没啥能力写软件,估计再写也就是九流货色,没啥发展;另一方面开始责怪学校,为什么没有一丁点儿编程的氛围,那样也不至于我孤军奋战。我还傻了吧唧地郁闷了好一阵子,之后做了一个我虽然不后悔,但是却觉得很幼稚的决定--加入考G大军,并专门学习一年的英语。
其实现在想想那时真是愚蠢得很,明知道做软件一次成功是不可能的,还偏偏犯这种错误。为什么呢?答案就是当时太急功近利了,以为自己多牛逼,写个程序不费事。但实际遇到困难的时候,又没有耐心与毅力去解决,甚至感觉之前的工作是在浪费时间。虽然现在想想可笑,但是此刻很多人(可能我也在内)还在犯着同样的错误。
总之,急功近利很容易导致莫名的失败感,并且会为自己的失败(其实这个不能叫失败)找各种借口,然后在借口的安慰下完全放纵自己。这一点也体现在了我考G的过程中。
个性反思
当时项目上的挫败感使得我对于计算机学院完全失去了信心,眼看就是最最关键的大三了,这将决定我今后的出路,我该如何是好?
这个时候我是这样想的,如果考研,恐怕会从一个火坑跳到另外一个火坑。从而可能会与许多和我一样迷茫的同学一起继续两年"打酱油"的生活。因为种种幻想以及对自己不准确的定位,导致我想到了考G出国。于是花了1000多在新东方报名,成天夹着厚厚的"红宝书"去图书馆……现在来看,我不后悔当初的决定,因为我确实在这个过程中学到了很多知识,也认识了很多朋友。而且我觉得,如果当时因为害怕而没有去尝试,自己会在悔恨中度过前半生。但是我觉得当时的考G绝对是泡沫,它让我产生了种种幻觉,以为自己因为考G水平就高了不少。这个泡沫膨胀了半年多,最后以一个失败的分数为标志迅速地破灭,就好像金融危机一样。
其实,如果这个时候,我能意识到前面问题的严重性,最差也应该把握住得考G这个机会。然而,我又没有做到。回顾整个考G的过程,我在不断为自己找借口:
- 我埋怨背单词太苦,于是经常为自己开小差(游泳、看杂书、电影等);
- 我做题受到打击时,埋怨周围没有人跟我一起准备;
- 我还以考G为借口,糊弄自己的专业课,糊弄自己的课设,糊弄自己的前程!
而每当被天书般的GRE习题打击之后,总是自己傻了吧唧地郁闷,而没有用心去总结,去努力提升自己,因此浪费了不少时间。虽然,在此期间我从没有放纵过自己,每天都尽可能地坚持呆在图书馆或自习室里,但是对于本身英语基础就很薄弱的我来说,面对这样大的挑战,如此糟糕的状态又怎么能成功呢?
最后的结果可想而知,我用了一年的时间专门学习英语,虽然英文水平有了一些进步,但是与巨额的开销,以及自己辛苦的付出绝对不成比例。现在我的GRE单词也忘得差不多了,不知道这个曾经的美丽留学梦会不会随着我的科学梦一起从此破灭呢……
下篇·为梦前行
又是五月,去年的这个时候我还捧着厚厚的红宝书,乘坐熟悉的217路公交车赶去新东方学GRE;前年的这个时候,我忙碌于ACM-ICPC和数学建模竞赛……
今年五月,我坐在实验室中,筹划着自己的毕业设计,追寻着自己的梦想与未来……
大一:问自己--这个专业到底要学什么
记得上大学前的那个假期,看过一个我们学校学生拍的DV,名叫《完美动物》,其中还算是比较真实地反映了现在大学生的学习与生活状况。看着片中主人公毕业前声嘶力竭的忏悔,我暗暗告诉自己,决不能荒废掉宝贵的大学时光。
之前一直有志于从事核物理与工程的研究,不料,高考却使我阴错阳差来到了计算机学院。之前,我对计算机没什么了解,更不知道C语言究竟是哪一国的语言……不过,我的内心却强烈希望自己能学有所成,成为一个领域的牛人。
大一,我花了一年的时间去探询计算机科学与技术专业到底要学什么,我对这些是否有兴趣,将来要从事什么工作。听人家说计算机专业的学生要首先掌握一门编程语言,于是我自己跑到书店,随便挑了一本很厚的C++教材,开始啃了起来。就这样,C++成为了我的入门编程语言--没想到四年后的今天,我还要靠着它混饭吃。
我大量翻看各种杂志与人物访谈,希望能够在其中找到我的未来。大一的时光很快就过去了,这期间,我努力培养自己对计算机的兴趣,努力去寻找自己未来的方向。
"计算机专业到底要学什么",这个问题经过大一一年的探索渐渐地清晰起来。我从网络及图书馆里学到了很多的知识,看到了一个新的天地,我也深深地为这个世界着迷。此时,我发现学校里的课程教育和我对计算机科学与技术专业的理解有很大的差别。课堂上多数老师都在重复着幻灯片里的文字,一部分希望上进的同学耐心地接受着这种方式的"科普"教育,考试之前花费大把的时间对老师划的"范围"里的知识进行机械地记忆,之后考出一个令人瞠目结舌的高分(信不信由你,我们班有平均分95以上的);另一部分同学则将自己的大好时光寄托于网络游戏,或是花天酒地终日穿梭于声色场所……
这段时间我觉得自己是那么的孤独,我试图融入周围学习比较认真的同学当中,我希望他们和我一起去探索那个未知的天地。但是,我发现没有人可以与我一起去探讨计算机问题,也没有人和我一起去做程序。我不断问自己,为什么这种教育方式得到了这么多老师以及身边这么多同学的认可,难道是我错了?杂志上、访谈中那些名人的学习经历难道仅仅是天才的专利?是不是要成为高手一开始都要去背概念、去考高分,去经历这个"乏味的"阶段,至于动手编程要等把这些都做好了以后再练……
直到大二上学期结束,我终于确定,学校的教育并不合理,多数老师讲的是"垃圾",照本宣科的很有可能是他们自己都没学明白的东西。而计算机科学与技术也不是仅仅学学概念就可以成为高手的,况且按照学校的这种方式学下去,似乎概念都学不好,充其量不过是个记忆高手罢了。
这里插一句,事实也证明了我的这种说法。我的考试成绩虽然不是非常突出,却也还算过得去,每个学期基本上都能拿到院里的二等或三等奖学金。但是在我后来求职的时候,这些靠背概念就能拿到的奖学金证书并没有起到什么作用。以我的面试经历来看,我简历当中最打动面试官的地方恰恰是我利用课余时间及逃课所写的程序,还有利用背考试题的时间所读的课外书。这里请大一大二的学弟学妹们好好考虑一下:时间有限的情况下,在高高的GPA和实际编程能力的训练之间我们应该如何权衡。
大二~大三:为了心中的理想拼搏--准备编程竞赛
在新东方,我发现自己是井底之蛙。
大二的寒假我没有回家,在沈阳新东方报了个TOEFL班,初衷并不是想出国,而是要利用假期恶补一下英语。但是到了新东方我发现到这里并不仅仅是学习英语,我接触到了很多新的思想,认识了很多有理想的同学,"留学"在这里更多的是理想的代名词。我被这种氛围深深地吸引了,我开始意识到自己之前好像一只坐在井底的青蛙,外面却是更加广阔的世界。这时我拼命学习,不仅仅是英语,还有编程。因为学校要到大三才开设数据结构课程,而我知道要编写好的程序必须熟练掌握这门课。
于是我弄来了清华大学严蔚敏的《数据结构(C语言版)》教材,先是去努力理解里面的概念与理论,然后再将练习册中的习题逐个地编程解决。这时我还知道了有一个叫做ACM-ICPC的编程竞赛,有很多大学生都参加,为了练习,我经常到浙大的在线评判系统上去答题。总之,这个假期我没有休息,努力去学习英语和编程。
开学之后,我开始"心安理得"地逃课,对于一些听了让人"坏脑子"的课程我基本不听,甚至不去,而且心里不再有从前逃课时的"负罪感"了。这里要插一句,请大家不要误解为大学里没有好老师,没有值得听的课。其实还是有一些比较负责的老师,他们的课程丰富有趣,讲解得透彻易懂,而且包含着很多经验之谈。举个例子,我们大三时开设的"操作系统"课程就非常不错,尽管当时我在备战GRE,但是整个学期我没有落过一节课。
刻苦练习,准备参赛
我把大部分的时间都用来练习编程、学习算法,因为我们学校第一次有资格去参加区域性的ACM竞赛。我发现仅仅是那本数据结构书并不能满足ACM的要求,我就到MIT的OpenCourseWare去学他们的算法导论,正好还可以顺便练练听力。ACM的题目要求有较强的数学建模能力及Coding能力,有些题目难得让人根本找不到思路,还有一些看似简单的经典算法题目其中却暗含着大量的陷阱。
我每天坚持至少8个小时的算法理论学习及编程练习,多则长达14个小时。这段时间可以说是我编程能力提高最快的时光。我学到了很多的知识,其中最大的收获就是对于一种陌生的算法或形式化描述,我能很快地理解,并用程序去模拟它的流程。其实大多数看似非常复杂的算法都是由这些最基本的算法思想演化
而来的,扎实的算法理论基础对于今后的相关课程学习是非常有帮助的。对于现在程序员中流行的"算法无用论",因为我还没有接触到正规的企业开发,所以暂时不予评论,但是我相信:要想成为优秀的程序员,对于基本算法有深入与精确的理解应该是一项必需的基本技能。
然而,虽然我进行了近三个月的刻苦努力,但是比赛的结果却仍以失败告终。原因有很多,有外部的,但更多的是自己的,比起更多的程序高手,我只不过是个普通的Coder,资质一般,接触编程的时间不如他们长,训练的强度也不如他们大,用"脚后跟"想想就知道结果了吧。其实当时我将更多的希望放在了明年的比赛上,不过后来因为备考GRE而放弃了。
参加数学建模竞赛
参加数学建模竞赛是我大学生活当中比较有意义的经历,也是在这里,我找到了和我有共同爱好的同学,我们可以进行交流,对问题进行争论甚至争吵,我体会到了与别人合作的快乐。数学建模竞赛实际上就是一个迷你的科研过程。别人提出一个问题,这个问题可能出自于不同的领域,而且大都目前没有得到很好的解决。参赛者用三天的时间搜集与查阅资料,针对问题提出合理的数学模型进行解释,通过实验得出数据进行验证,最后写成论文。我很喜欢这种完全不同于课堂与考试的研究方式,我也非常喜欢用学过的数学知识去解决一些实际的问题。
从大二开始,我参加了两次全国比赛,一次美国的比赛。得了一个省级二等奖,一个国际二等奖。结果一般,但我觉得过程更重要(决定比赛结果的往往有很多原因)。这个过程中我学会了很多,包括一些有用的数学知识,分析问题的方法,数学建模的一些技巧;我试着去学习如何快速地掌握一个陌生的理论并将它运用在建模中,如何与队友配合,如何发挥团队每个成员的最大优势等。
依然清晰地记得2008年的那个寒假,我们留在学校参加美国建模竞赛的情景。我的一个队友是我的同班同学,他的文笔非常好,英文水平也不错,主要负责参赛论文的写作;另一个是数学系的学生,当时还是我们学校建模协会的主席,他的数学功力不错,主要是进行模型的分析及公式的推导;我则主要负责问题分析与计算机求解等方面的工作。我们的配合非常默契,而且也都渴望能够取得好的成绩。我们队是所有组里最刻苦的,通常是早上6点起床去实验室,直到晚上10点才回去。记得当时做了不少练习题,阅读并分析了近几年来MCM的Outstanding论文,而且逐渐形成了我们自己的配合与交流方式及解题风格。经过了将近三个星期的集训,我们满怀信心与激情地开始准备比赛。但事事难料,竞赛的前一天半夜,我竟然高烧39度,队友冒着严寒(那时的沈阳格外冷),半夜陪我跑到附近的医院打点滴,照顾我休息,一直陪我到第二天清晨才回去。这让我非常感动,同时也深深感到了有好的团队与氛围是多么重要。之后的竞赛,我发挥一般,不过通过我们齐心协力的配合,拼了四天三夜,总算按时完成了那篇一万多词的英文论文。虽然最终的结果没有达到我们为学校创造历史的期望,但遗憾却无法掩盖这难忘的美好经历。我忘不了那段奋斗的日子,忘不了大家一起通宵讨论数学模型,忘不了生病时队友的关怀,忘不了单老师的耐心指导,忘不了朱老师每次总是在最后多发一盒饭给我,更忘不了大家为了同一目标一起拼搏的时光!
大三~大四:考G与求职
大三下学期,我决定加入考G大军。当初决定考G的原因有很多,不过简单来说就是对现状的失望与逃避,以及对自己梦想的憧憬与向往,我并没有对自身的条件及现实情况做足够的评估,这从某种程度上已经决定了失败的结果。这个决定是草率的,但是我却从来没有后悔过,因为在整个备考的过程中我付出了很大的努力,虽然努力得还不够;也收获了很多,我甚至因为这段时间的英文积累在后来的求职过程中得到了一个去外企工作的机会。
虽然有足够的心理准备,但是此次北京之行仍给了我很大的触动。本来以为虽然外界形势不太乐观,拥有"中国硅谷"的北京会受到一些影响,机会仍会很多,但我在北京转了将近一周的时间,发现在规模最大的招聘会上也仅仅有很少的几家公司,而且竞争异常激烈。直到现在我还清晰地记得招聘会上拥挤的人群,诸多求职者焦急的神情……
在求职的过程中,我曾经很多次遭遇因为学校不是重点大学而被HR当场拒收简历的尴尬,我也经受了在网上投了几十份简历而杳无音信的焦虑,以及在某公司的面试现场被人毫不留情鄙视的无奈。总之,找工作的过程中经历了不少挫折,同时也带给我很多的思考。
凭借着还算流畅的英文口语,我得到了去北京一家软件外企做技术支持的机会。为时一年的GT备考并没有得到我想要的结果,这个机会也算是对于那一阶段努力的一个结果与回报吧。另外,因为自己课余做的两个不是很成功但却有一点点技术含量的小项目,我还得到了去上海一家做游戏的创业公司做C++开发的机会。
技术支持主要是与客户进行沟通,帮助他们解决产品使用过程中的一些技术性问题。这个职位需要比较强的交际能力,以及英文口语能力(公司产品主要面对的是欧美客户),但是对于技术方面可能会涉及得比较少,而且几乎不需要去写什么代码。
那个C++开发职位则需要一些实际的编码能力,工作中更多的时间将会是与机器打交道。出于对自己实际情况的考虑,我选择了去上海的那家创业公司。这主要是因为我更喜欢从事技术开发方面的工作,并且在与人交往方面不是很擅长。这家创业公司里的员工基本都是80后,感觉大家工作都很有激情,而且工作环境也比较开放自由,这也正是我想要的工作。这里要说一下,很多人都认为技术支持或销售不如程序开发工作"好",我对此观点向来不是很认同。在我看来,每个岗位提供的机会都是一样的,只不过是工作环境的不同而已。而每个人的特点与爱好不同,所以并不是所有的计算机专业学生都要去做开发。特别是一些交际能力很强而对技术不是非常感兴趣的同学,可能技术支持或销售等方面的职位更加适合他们。选择了适合自己的环境,不仅会工作得很愉快,而且可能很快就会在这个岗位上崭露头角,我想这要比做一个每天闷闷不乐的"代码民工"好得多吧。
结语:我想对师弟师妹们说
一定要弄清楚上大学首要的任务。明白自己是来干什么的,走出这里的时候自己要收获什么,自己希望成为什么样的人。每个人都必须要有明确的目标,除非你想过四年打酱油的生活。这一点我做到了,虽然做得不好,走了弯路,但是我没有白白荒废四年的时间。
要有扎实的学科基础。不要将自己局限在得一个高分的狭小范围内,仅仅看到眼前的荣誉无疑是目光短浅的表现。要注意学习的扩展性,要努力去理解并掌握本专业常用的的核心思想与技术,达到熟记于胸的程度。
发现自己的优势,选择适合自己的出路。不要仅仅看中程序员的高薪水,做最适合自己的方向的工作才是最最重要的。
学过理论要注重实践。可以自己做一些力所能及的小东西,有意从事计算机方向的同学需要熟练掌握一门程序设计语言、一个开发工具、一个系统平台和一种编程思想。自己动手做一些有一定技术含量的项目。
最好是能够利用好假期的时间,出去实习。实习经历将是毕业时"卖身"的有力筹码。
切忌浮躁、急功近利。假如以你的实力可以通过五年的时间成为一个领域的高手,如果自己期望缩短到三年的时间或更短,最终很可能要用八年、十年的时间,甚至可能永远都做不到。
目标要坚定。对于自己已经决定的选择,要执著地追求,直到在其中获得了你满意的成果。
做事情不为自己找借口,借口等于失败。
以前听别人说"要有自己的理想,并坚持自己的理想",总感觉说得很"空",但是现在我却从内心深处认同这种说法。刚上大学的时候,我也曾彷徨过很长时间,我不知道自己究竟要干什么,看不清何处才是自己的未来。后来,我看了很多广为流传的成功人士的故事及他们的心得体会,对我影响最大的两个人是李开复和苹果的Steve Jobs。
开复老师的那本《做最好的自己》我不知道究竟读过了多少遍,而且每一次读都有更深的体会与强烈的认同。其实对于外部环境的困惑与不满也使得我苦闷、彷徨甚至想放弃,但读过开复老师的书,我懂得了对于自己无法改变的事物,要有接受它的胸怀;而对于自己可以改变的事物,要不遗余力地去改变它。每到我感觉苦闷无助的时候,我总是努力地提醒自己:无论外界环境如何,我所能做的就是尽自己的力量,利用周围有利的环境,去追寻理想。要做到这一点的确很难,所以要时常提醒自己、督促自己。
Steve Jobs那句著名的"你是要继续卖糖水,还是要改变世界"曾无数次激发我追求理想的激情与决心。一次偶然的机会,在YouTube上,我看到了一段Steve Jobs在Stanford的演讲视频。从此,每当缺乏Follow My Heart的勇气时,我都会去听这段演讲(可能已经听过上百遍了),有时甚至会听得热泪盈眶。与大家分享这段话:
Your time is limited, so don't waste it living in someone else's life.
Don't be trapped by dogma which is living with the results of other people's thinking.
Don't let the noise of others' opinions drown out your own inner voice.
And the most important, have the courage to your heart and intuition.
They somehow already know what you truly want to become.
Everything else is secondary.
愿和每一个有梦想的同学一道,Follow Our Heart,实现我们的梦想!