我是一只IT小小鸟

2020年05月06日 阅读数:12697
这篇文章主要向大家介绍我是一只IT小小鸟,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

做者序前端

20093月的某个晚上,我跟侯磊同窗在万柳宿舍卧谈。咱们聊起初来北大软件学院时的志向与苦闷,咱们梳理影响本身的人和事,说各自的实习感觉和找工做的风风雨雨,说学校的教育制度和各个公司的文化。一晚上痛快淋漓地说下来,咱们不禁总结出,要是研一或更早,有师兄师姐可以这么提醒咱们,这一路咱们可能就会走得更从容、更自觉。程序员

如今咱们都成师兄师姐了,或许咱们可以在毕业以前把这些经验教训留下,以期给师弟师妹们一些借鉴与帮助。我联系上博文视点的周筠老师(查看Gtalk记录,是316),说我想召集些身边的计算机背景的应届生朋友,在毕业以前,讲讲本身求学、实习、找工做等的经历与感悟,对自己也是一个"立此存照"和反思本身的好机会。面试

接下来就是跟周老师还有许莹等编辑朋友的面对面交流,而后与各位编辑一道,去向身边的朋友、向朋友的朋友约稿。为了体现IT从业人员的层次,出版方还特地邀请了几位有工做经验的朋友加入做者群,他们对IT产业与职场的认识,可以丰富咱们的视野。算法

关于这本书的成书过程,有一些事情要说明。我忝列主编之名,其实不过是做为做者群体与出版方之间的联络人,对本书的贡献寥寥,天然不敢贪功。我最早联系的做者是侯磊与唐雅薇,以后大多数在北京的应届生做者,都由他们联系;而北京以外的应届生做者,以及几位有工做经验的朋友,都是由出版方邀请过来的。各位做者贡献初稿后,接下来的编辑统筹工做,也多由出版方的周筠老师、许莹编辑、夏青编辑、白爱萍编辑完成。咱们各自零乱的文字,到如今终于集结成书,除了要感谢上面提到的各位编辑老师辛勤有效的工做,还须要提到的是《编程之美--微软技术面试心得》的两位做者:邹欣老师,他一直关心本书的进度,并提出很多中肯的建议;刘铁锋,原本也在本书邀请的做者之列,后因为我的缘由撤稿,但他积极参与了本书的前期准备工做--跟侯磊同样,虽然书中没能见到他们的文字,但他们于幕后为本书作的很多工做是应该被说起并感谢的。数据库

人所处的人生阶段不一样,立场或视角就不同。如今咱们都已毕业,再要回顾本身的求学历程,可能会用三言两语就把它打发掉,但这些毕业以前的文字,写的都是本身做为学生感兴趣的东西,是本身做为学生认为重要的东西。这种体验很难再现--所幸咱们留下的文字不是过后的点评,而是亲历现场的记录。这个集子里记录下的,是咱们大学生活所不能绕过的东西:编程

专业/技术方向选择小程序

社团活动设计模式

竞赛tomcat

实验室安全

实习

找工做

出国

技术社区

人际交往

时间管理

压力管理

咱们具备各自的独特性--咱们兴趣各异,有不一样的家庭背景,不一样的知识储备,不一样的思惟方式……但在现实中,咱们也会碰到相似的人生选择的关口,咱们会犯相似的错误,有相似的迷惘,也会为相似的精彩鼓掌,并且很明显的,咱们是相似的一群人--都跟IT沾边。

所以对每一个做者而言,这本书既写给本身,也写给全部有相似经历的师弟师妹们。

 

胡江堂

20098月于北京

 

做者简介

蒋宇东 现就任于上海某公司(C++程序员)博客:http://blog.csdn.net/NewNebuladream

居振梁 现待业,夯实基本功 博客:http://wargrey.yo2.cn

刘帅   现就任于AmazonSDE-Test)博客:http://lsthu.spaces.live.com/

李成   现就任于北京飞维美地信息技术有限公司(软件工程师)博客:http://www.perlfect.org

温卫斌 现就任于中国农业银行软件开发中心 博客:http://terry-pekingssm.spaces.live.com

胡江堂 现就任于赛诺菲巴斯德(SAS程序员)博客:http://li-and-jiang.com/blog/

辜新星 现就任于Google(助理产品经理)博客:http://guxinxing.blogbus.com/

刘未鹏 现就任于微软亚洲研究院(程序员)博客:http://mindhacks.cn

唐雅薇 现就任于IBM中国研发中心(上海)博客:http://cubbyvivi.blogbus.com/

张弦   现就任于百度(软件工程师)博客:http://stonefish9.blogbus.com/

秦琴   现就任于中国银行 博客:http://clalietsin.spaces.live.com/

张凯峰 现就任于IBM中国软件开发中心(软件工程师)博客:http://www.zhangkf.com

庄表伟 博客:http://www.zhuangbiaowei.cn

宋劲杉 现就任于北京亚嵌教育研究中心(讲师)博客:http://songjinshan.is-programmer.com

程露   博客:http://roburite.spaces.live.com/

黄小明 现就任于某外资企业(软件开发及项目管理)博客:http://blog.csdn.net/view1024

易晓东 现就任于某电子商务网站(运营负责人)博客:http://www.tomcat521.com

简朝阳 现就任于阿里巴巴(MySQL & Oracle DBA)博客:http://www.jianzhaoyang.com

林健   现于中国科学院计算技术研究所就读(硕博连读)博客:http://blog.linjian.org

高昂   现于中科院地理所攻读博士学位 博客:http://www.gaoang.com/

徐宥   现于Washington University 就读(博士)博客:http://blog.youxu.info

 

推荐序I

2006年开始,我在微软亚洲研究院参与了实习生培训、新员工招聘与培训等工做;也走访了十多所大学的计算机系和软件学院,还在几个学校讲授《软件工程》这门课。在此期间,有幸结识了很多有想法的大学生朋友。他们中的一些人,就是这本书的做者。

中国的高等教育体系中,大约有10%的学生在学习与IT相关的专业(计算机科学、软件、MIS等)。这些学生在接受了46年左右的教育以后,对这个教育系统有些什么反馈呢?IT教育迫切要改变的作法是什么?根据我我的的经验和同窗们的反馈,下面是一些建议:

和实践结合。软件教育离不开实践,不要太强调闭卷考试,老师必定要让学生实践、实习。

作真实的项目和幻想的项目是有很大区别的。

本身从头写程序和维护正在使用中的代码是有很大区别的。

没有真实的需求,没有软件的增量开发,没有真实的团队合做,程序设计和软件工程中的大部分理论都沦为空谈。遗憾的是,不少学生就这样以空对空,也混毕业了。

和各类学科的结合。如今专业分得太细,一个专业清一色背景的学生在一块儿,和其余年级、其余专业的同窗有交流么?没有!

但愿计算机科学教育能把别的学科的知识联系起来,好比,和工业设计、用户体验设计、艺术设计、自动控制,甚至心理学、商学联系起来;

但愿把计算机有趣的发展历史放进来,讲讲图灵,讲讲冯o诺依曼,讲讲各类语言的源头和流派分支,讲讲IT企业有趣的真实故事等等。培养学生对这个行业的兴趣、热情和敏感度。提倡互动,介绍同窗上相关的论坛、网站,开拓视野。

如何教创新?在学校里听领导的报告,会听到不少次和"创新"相关的词汇。你会以为这个学校的领导的确很是想创新。可是另外一方面,我听到一些同窗反映教材、教案、教学方法都是几年甚至十多年不变的老一套,和实际脱节得厉害。

怎么教创新?除了让学生打下坚实的专业基础以外,学校能够作的一件事就是--

容许学生试验,失败,再试验,再失败。

创新不是公式推导,不是一旦学好例题,就能模仿炮制的解题方法,要给同窗们试验和失败的机会。有人问,学生失败了,上课怎么给分呢?我说,若是同窗们可以认真总结经验教训。一样也能够获得比较好的分数。经验教训能帮助他们更好地创新。个人《软件工程》课程的评分标准大体是:

1.有创新的想法,并成功实现:优。

2.有创新的想法,失败了,能认真总结:优。

3.无创新的想法,最多只能得:良好。

当学校和老师鼓励同窗们没有后顾之忧地去创新、去失败的时候,不少同窗的动力、热情会大大增长,从"要我学""要我作"变成"我要学""我要作"。不管创新成败与否,同窗们都会收获良多。

做为一个"业界人士",我讲了这么多意见和建议,其实不少老师、学校领导也早就意识到了这些和其余许多问题。提意见老是容易的,难的是尽本身的能力改变现实。这本书里的不少主人公并无停留在提意见或埋怨,而是本身行动起来,改变现状。做为一个"客座讲师",我正在课程中实践我上面提到的想法,有学生喜欢,也有学生不爽--由于课很差混了。

书中的许多故事经常让我幻想--若是咱们的教育系统能多帮助他们一下,也许会有更多的学生能少走弯路,成为IT业快乐的小小鸟,甚至大鹏鸟!

但愿更多学生、老师在看到这本书以后,能一块儿动手,让梦想早日成为现实。

 

邹欣

研发经理 | 微软亚洲研究院技术创新中心

20098月于北京

============================================================

 

推荐序II

博文视点计划出版一本讲述IT人成长经历的书--《我是一只IT小小鸟》,邀请了20多名IT行业在职人员、研究生和本科生写一下本身的成长经历。一滴水中见世界,从这些做者的亲身经历和人生感悟中,能够看到中国IT业的进步,以及在饱受国人责骂中艰难前行的中国IT教育。

在此,我向中国数百万在校IT相关专业学子推荐此书。

我也算是一只"IT小小鸟"了。1993年我从广西大学本科毕业,机缘巧合下从1994年开始自学计算机,并跳槽到IT公司工做,于1999年考入北京理工大学计算机学院读研。期间四处打工,毕业后留校在计算机学院任教至今,十多年了,始终没有脱离IT这个圈子。所以,书中各位做者的成长经历引发个人不少共鸣。

我一直在关注和思索国内软件技术的应用推广及IT人才的培养问题。2003年,我在CSDN"程序人生"论坛发表了一篇长长的自传--《一个普通IT人的十年回顾》,全面回顾与总结了本身这段人生经历,集中表述我对这一问题的思考,引发了许多学生和IT行业在职人士的强烈共鸣和激烈反响。此文在网络上被四处转贴,甚至被转贴到海外的华人论坛,而我我的也收到近千封邮件。2006年下半年,因本身在计算机软件教学实践中受挫,因而在我的博客上发表《我被中国计算机教育的现实战胜了》一文,出乎意料,这篇其实不过是发牢骚的文章竟也引起了一场激烈的论战,一场有关计算机学习与计算机教育方式的论战--"理论先行"仍是"实践第一"。足见你们对这些问题的关注程度。

我曾经是一名"四处打工"的程序员,前后在十多家软件企业"露过面""干过活",毕业后又当了七年计算机专业的教师,接触了大量的本科生和研究生,在思索与实践的过程当中,渐渐对一些问题有了更深刻的认识,而个人一些观点,在本书所选取的这些"IT小小鸟"的成长经历中也获得了验证,我把其中一些要点"过滤"出来,但愿能对本书读者,尤为是那些还在校学习的大学生们有所帮助。

1. 兴趣是第一原则。

若是你仔细阅读本书全部文章,必定会发现一个特色:几乎全部做者都对计算机技术或IT行业有兴趣。这种强烈的兴趣,是他们持续努力并最终成长为优秀IT人才的强大推进力。然而很不幸,对于刚进大学且对所学专业并不了解的学生,偏僵化和脱离实际的中国高等教育体制,偏偏在"扼杀"学生对本专业兴趣的方面"效率极高"

在此,我鼓励全部在校大学生,必定要尝试发现你的兴趣所在、特长所在,而后围绕这些来肯定发展方向,不要盲目从众和跟风。

另外一个在学生中很常见的问题是:"我不知道个人特长在哪里,我也不知道干哪一个工做最有可能出成绩。"其实大学就是让你思索和解决这个问题的最佳场所之一,你能够放心大胆地进行各类尝试,在实践中逐渐了解本身。另外,尝试从另外一个角度思考问题:"我不知道喜欢干什么工做,那我知不知道不喜欢干什么工做?",去掉你不喜欢的,是否是就接近了你所喜欢的?

读者不妨仔细分析一下,书中这些IT人最初是如何造成对IT的兴趣的,相信必定会有所启发。

2. 他山之石,能够攻玉,但不可照搬。

本书介绍了许多人的成长经历,对读者而言,的确是"他山之石,能够攻玉"。但另外一方面,没有一我的的经历是能够复制的,由于环境不一样,时代不一样。更重要的是每一个人都是独一无二的,并且世上万物时时刻刻都在变化当中。对于青年学生而言,不要看到书中某人作某件事有较大收获,而后你也想来个原样照搬。要仔细分析做者的个性、拥有的独特经历,再结合他当时所处的环境,弄明白他当时为什么会作出某个决定。

写到这里,我不由联想到中学语文课本中收录的名篇--《庖丁解牛》中庖丁所说的话:臣之所好者,道也;进乎技矣。

大道无术,其实成功的基本原则是相对稳定的,而走向成功的具体方法则因人因时因地而异。重读《庖丁解牛》,再看看书中各位做者的人生经历,是挺有意思的一件事。

3. 软件技术的学习方法。

前面谈到2006年我在CSDN引起的针对软件技术学习是"理论先行"仍是"实践第一"的论战。其实你们只要看看书中诸位做者的成长经历,能找到几位是"理论先行"的?大可能是"实践先行",而后在实战以后,再开始补上"理论"这一基础。

对于在校学生,我建议在本科低年级(大一或大二)就要开始了解一种主流的软件开发与运行平台,熟练掌握一种开发工具,这样你就具有了进行开发实践的前提。而后,用你所掌握的技能和工具去大量实践,在实践中真正地理解和掌握计算机科学相关理论,发现本身在知识和技能上的不足,而后有意识地加以弥补。更重要的,要在实践中找到一种"感受"、一个"方向"。读者不妨分析书中各位做者在这点上是如何作的,相信会有启发。

近年来,软件技术在飞速发展,许多技术领域都已发展出一个庞大而复杂的体系,在技术背后,须要大量计算机科学理论做为根基和灵魂。在这种时代背景下,"如何高效地学习软件技术"成了一个须要严肃对待和认真思考的问题。

就软件技术而言,我所看到的是一张庞大的"知识之网",其结构相似于互联网中相互连接的网页,各类知识和技术之间都有直接或间接的联系。而任何一我的,穷其一辈子之力,恐怕也只能掌握这张"大网"中的一小块区域。

对我的而言,面对客观存在的"软件技术大网",大脑中要造成一个"小网"--一个活生生的、可动态扩充的"知识之网"。这个小网是大网的映射,但不是机械的映射,而是创建在我的能动性基础之上的动态的"知识之网"。可否造成这一知识之网,对学习软件技术相当重要。

这张"知识小网"上的"节点",就是你掌握的"已经创建了彼此联系"的具体知识。在学习新知识、培养新技能时,只要能找到新旧知识的结合点,就能够让新知识成为新节点,从而扩充你的"知识之网"

软件学习的过程,就是你"织网"的过程。若是在学习过程当中未能织成这一知识之网,你学到的就只是零散的、没多少用的知识,这种知识学再多意义也不大。

我建议读者仔细看一下书中做者是如何"编织"本身的"知识之网"的,这对读者构造有我的特点的知识之网是有帮助的。

4.名校效应。

书中做者大多出身"名门",有北大、清华、南大、华工等国内知名院校。通常而言,因为要挤进"名校"大门不易,能进入这里的人大多已经具备至关的潜力,加上名校通常都具备独特的学习和科研氛围,其中的老师和同窗大都满怀理想,积极进取,在这种环境中学习,人就容易成才。

然而,中国优质的教学资源并很少,并且高度集中于少数几个大城市,大多数学生无缘进入名校,这是客观事实。

个人本科学业是在一所普通大学完成的,而研究生学业则在北理工这样一所重点大学完成。后来又接触了一些北京其余重点高校的老师和学生。的确,重点大学与普通高校在学习氛围和整体环境上

是有差别的,我也曾对此大为感慨,但我也要指出,尽管"名校效应"的确存在,但最终起决定做用的仍是你本身!

身处"不入流"的普通高校,只有大专或中专学历、走自考之路或是非科班出身……这些外在的不利条件都不是决定性的。一个有志气的人,总能在环境的束缚中,经过默默积聚实力,最终突破环境的限制,登上一个新台阶。

也许你付出了很大努力,仍发现因为起点和机遇的不一样,有的人远远地领先于你,而你看上去"永远"也没法追上他,达到他的高度。即便这样,也不要气馁,你只要尽力,也就无愧于心了。

我一直很是欣赏这样一段话:

人生如同打牌,能抓到一手好牌当然是运气好,但重要的是,你不能靠运气生活,而要琢磨怎样把手上这把看上去"不怎么样"的牌打好。

事实上,你能够从历史中找到无数例子,这些一开始并无抓到好牌的人最终却取得很大的成就,作出了重大贡献。

不少时候,我的所处的生存和发展环境不能自主选择,因为环境的限制和其余因素的影响,也许别人能够当个架构设计师,而你只能当个"底层"的普通程序员,这没有关系,你们在人格上都是平等的,只不过能力有高低罢了。再普通的工做,若是能作到精益求精,也很了不得,也是一种成功,关键是你有没有这样一种思想:

即便我"落魄"到在街边摆摊卖豆浆,也要努力成为这条街上"最好""豆浆摊"

最后,引用庄子《逍遥游》中那飞扬的文字做为本文结尾:

北冥有鱼,其名为鲲。鲲之大,不知其几千里也。化而为鸟,其名为鹏。鹏之背,不知其几千里也。怒而飞,其翼若垂天之云。

……

鹏之徙于南冥也,水击三千里,抟扶摇而上者九万里,去以六月息者也。

但愿书中这些"IT小小鸟",最终都能成长为"遨游于九天之上""鲲鹏"

也但愿全部的读者,都能从书中受益,迈出人生向上的步伐!

金旭亮

北京理工大学计算机学院

20098月于北京

 =============================================================

1、蒋宇东 梦断计院,

我和我最后的倔强

握紧双手绝对不放

下一站是否是天堂

就算失望不能绝望

--五月天《倔强》

引子:个人感悟,个人忏悔

我曾就读的沈阳航空工业学院的计算机科班(05级),属于二本院校的一本专业。个人大部分同窗都是高考重点大学的落榜生调剂而来,算是高考中的失败者吧。毕业后去了上海一家IT创业公司。

没有能够向人炫耀的面经,没有华丽的背景,只有一点点学习的感悟,和几分失败的忏悔,与你们分享。

上篇•梦断计院

大学生活立刻就要结束了,不由感叹时光飞逝,物是人非……

刚踏入大学校门的时候,踌躇满志,虽然那时甚至不知道C语言是什么东西,可是仍然对本身四年后的形象充满了无限的憧憬:拥有雄厚的基础知识、良好的学术能力、出众的技术才华,是将来的科学栋梁……

现在的现状倒是:为了获得一个能够糊口的IT民工职位抓破头皮,在郁闷与苦恼中为得到一个工做机会而暗自庆幸,至于什么专心学术、什么科学栋梁,彷佛距离本身愈来愈遥远。

直到此刻,我仍然不认为本身的大学生活是彻底堕落的,我也不认为本身读的书是无用的,我更不认为本身没有学习计算机科学的资质,那么问题究竟出如今什么地方?我想这里有不少缘由,大部分是本身的,但也绝对不能忽视环境对人的影响。

对环境的反思

1. 计院的第一大问题--学生广泛基础薄弱

在我东奔西走找工做的时候,才真正体会到本身原来喜欢炫耀的基础知识是多么薄弱,而它们又是那么重要。我曾经在面试时由于说不清进程间的通讯机制而当场被无情BS,也由于对于本身能力的不自信而放弃一家很牛的公司的研发部提供的笔试机会。

先要说说我所在的计院的第一大问题--专心作学问的人太少了,学生广泛基础薄弱。

本科四年,在这里能看到的真正对计算机感兴趣,而且肯专心研究搞学术的学生真是百里挑一。计院的大环境是网游成风,"腐败"猖獗。没有几我的肯安下心来读书,即便那几个老老实实听课的"好学生"也只不过是为了一个高高的GPA,一个能够在家长同窗面前显摆的奖学金证书。而真正但愿学东西、作学问的人太少了。我找工做时,手里握着一摞奖学金证书,后来被证实绝对是废纸,任凭你怎么吹嘘本身的成绩,没有哪一个公司会真的拿来仔细看上一眼。

回归正题,什么才是真正的基础扎实?个人理解是,不只要紧紧掌握大学课本中关于计算机核心课程的理论知识,并且还要深刻实践;对于该方向很是重要的技术思想、概念名词、技术要点都要有良好的把握,好比能够随手写出快速排序、哈希查找等经典的经常使用算法,熟记线程与进程的概念、它们的差异,而且可以解释清楚诸如僵尸进程之类的问题;会Linux的不只仅是就会几条Shell命令,或者干脆就会装个系统;用C++的不只仅要会语法(不知道这是否是绝大多数计算机专业毕业生对于C++的理解程度),起码要了解一些经常使用的标准库,知道什么是STL,了解些基本的OO思惟方法;学过网络的最起码要用过Socket;了解数据库的不能仅仅就会写几个SQL语句、背两条范式等。

说到这里不由有点激动,前几天在一个IT论坛上看到一个关于大学读书无用论的帖子,说读书无用的人恐怕这些基础知识掌握得也不怎么样,连基础的东西都没弄明白怎么好意思说本身读过书?没读过书怎么好意思说读书没用?!其实不是读书无用,是肯安心读书的人太少,而书读得足够多的人更少。

假若没有这些基础,仅仅会用这个工具、那个框架,充其量也不过是个IT民工,从此的发展一定受到制约,选择只有三条:a.作一生IT民工;b.将大学时欠下来的债补上;c.改行。

这里我不想说太多,话归正题。若是要我从新去选择,我必定会在学习每一门课程的同时尽可能找到相关的资料,扩展每个话题。同时,将一些最经常使用的思想、技术、方法记录下来,而且苦练到能够熟练应用的地步,而且时常加以回顾。

真正基础雄厚的人应该是能够将经常使用的基础性知识熟记成诵的人,提到一个基本的名词或话题可以将其前因后果解释清楚的人。

2. 计院的第二大问题--学风不正,涣散成性

计院的学风不正,涣散成性,早已名声在外。我想一方面要怪罪于咱们学生本身,对前途不负责任,将大好的宝贵时光都用在了网游、泡妞、喝酒等事情上;可另外一方面,计院的领导及老师就真的没责任了吗?

现在的老师大都想着本身的小项目能赚多少钱,现在的领导多数考虑本身负责的这一块不要出问题而影响到头上的乌纱帽。"一切为了学生",表面看起来堂而皇之,实则是句空话。老师根本没时间或没水平备课,上课照本宣科念幻灯片,考试以前为了保证及格率不忘帮你们"划划范围"

记得大学一年级的"计算机导论"课,一个老头足足念了一个学期的PPT,内容就是"C语言基础、"数字逻辑""离散数学"课程的前1/3……内容巨枯燥,并且朗读水平超级差劲。也难怪不少人从一开始就认为进入计院如同进入火坑。大学四年学下来不知道计算机专业的学完了究竟能作什么。

到了毕业时,领导开始担忧就业率了,早就内外成患,以涣散、颓废为风的计算机学院又岂能在短期里奋发起来?这个时候开始埋怨学生这个不是、那个不对,仿佛一切问题都是学生的,我想问问大家早干什么来的?以前有那么多时间很差好调教你的学生,为何这个时候才想起来教育?

在这样的学习环境下,除了主动自学,多多上网搜集信息、泡图书馆,还能有什么选择呢?但话说回来我没彻底作到,最终问题还出在本身:不够坚决,有时会随着大环境一块儿堕落,浪费了不少时间。

3. 计院第三大问题--实践环节薄弱,人才位置错放

看着本身简历中可怜的实践经验,面对人才市场上实践经验黄金般的价格,本身不由暗自悔恨……

不少人都在用理论扎实来搪塞本身实践方面的低能,我想这个借口根本站不住脚。首先,计算机这个学科的性质就决定了没有实践,理论几乎无法理解得扎实透彻。就比如熟记骑自行车要领的人可能根本不会骑车同样。咱们不排除有将来的图灵、Knuth一类的大牛,即便不写什么重要的代码,理论也是巨牛无比。可是对大多数学过数据结构与算法的人来讲,能用C写个Dijkstra 最短路算法就算不错了,你要给他个什么城市公交线路选择问题,他保准晕菜,当场崩溃(这样的例子我见多了)。

其实咱们的同窗中真的有些很是出色,只不过是放错了位置,尤为是女生,我以为大多数都不适合去编程。假若不是在计院,可能他们已经凭借着本身其余方面出色的能力在他们适合的领域崭露头角了。我不仅听到一我的抱怨本身不适合编程,固然一些人是纯粹为本身的涣散找借口--这些人估计换个环境也仍是那样。

可是大一大二的时候,咱们的老师、咱们的领导又在干啥呢?一些必要的引导老是大家的职责吧,干吗叫这些同窗走过了大学四年才意识到本身不适合学计算机?

总之,种种因素所致,大多数同窗四年没编过几行代码,课程设计不过草草了事(听说某些老师甚至推荐同窗去校外找人代作毕设),因此毕业时,以前作过的东西根本不敢往简历里写,由于根本没啥技术含量,都是Copy的。

对自身的反思

1. 项目反思

当我向面试官夸夸其谈本身所谓有技术含量的项目经验时,不住地冒虚汗,甚至还被一个考官当场揭穿并遭到无情BS。如今想一想,更加悔恨不已……

我也曾经意识到实践的问题,也曾经雄心勃勃地要写有技术含量的代码。大学里我本身写过两个自认为是比较有技术含量的项目。不过两个项目皆因打不完的补丁、层出不穷的新Bug、臃肿而杂乱的代码,致使本身对于继续开发与维护失去信心与兴趣,最终搁浅失败。

究其缘由,主要是本身太浮躁。这个问题在应届毕业生人群中及IT行业里是广泛存在的。刚刚会编程就开始YY本身能写出多牛逼的程序,作多牛逼的软件。事实证实,任何牛逼的软件都不是一会儿就那么牛逼的,必需要按部就班地展开。当时,刚刚背熟了C++的语法,就萌生了要写一个牛逼系统证实本身的想法。其实这个想法没有错,错就错在咱们没有进行必要的积累,并且缺少对于系统模块逐步开发并测试的耐心。在网上下载了点别人的设计经验,本身就开始照猫画虎地写代码。其结果可想而知,调试了n久代码才能勉强地运行,并且极其不稳定。整个项目乱成一团,打一个补丁又出两个Bug那种。

这个时候其实应该吸收经验,对代码进行重写,对系统进行改进,甚至有必要从新设计。而我又开始浮躁了,以为这个算不了什么,吸收教训,再写个更有技术含量的牛逼程序必定成功。因而居然无厘头地放弃了那一堆研究了将近一个月的代码,开始了新的项目设计。这个项目的结果更加好笑,我最终甚至都没有完整运行整个程序,由于不管我怎么调试,程序到一半的时候都会莫名其妙地崩溃,而杂乱的设计与垃圾代码使得我想赶忙将这些破玩意儿放入回收站。这时我一方面感受本身也没啥能力写软件,估计再写也就是九流货色,没啥发展;另外一方面开始责怪学校,为何没有一丁点儿编程的氛围,那样也不至于我孤军奋战。我还傻了吧唧地郁闷了好一阵子,以后作了一个我虽然不后悔,可是却以为很幼稚的决定--加入考G大军,并专门学习一年的英语。

其实如今想一想那时真是愚蠢得很,明知道作软件一次成功是不可能的,还恰恰犯这种错误。为何呢?答案就是当时太急功近利了,觉得本身多牛逼,写个程序不费事。但实际遇到困难的时候,又没有耐心与毅力去解决,甚至感受以前的工做是在浪费时间。虽然如今想一想好笑,可是此刻不少人(可能我也在内)还在犯着一样的错误。

总之,急功近利很容易致使莫名的失败感,而且会为本身的失败(其实这个不能叫失败)找各类借口,而后在借口的安慰下彻底放纵本身。这一点也体如今了我考G的过程当中。

2. 个性反思

当时项目上的挫败感使得我对于计算机学院彻底失去了信心,眼看就是最最关键的大三了,这将决定我从此的出路,我该如何是好?

这个时候我是这样想的,若是考研,恐怕会从一个火坑跳到另一个火坑。从而可能会与许多和我同样迷茫的同窗一块儿继续两年"打酱油"的生活。由于种种幻想以及对本身不许确的定位,致使我想到了考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的要求,我就到MITOpenCourseWare去学他们的算法导论,正好还能够顺便练练听力。ACM的题目要求有较强的数学建模能力及Coding能力,有些题目可贵让人根本找不到思路,还有一些看似简单的经典算法题目其中却暗含着大量的陷阱。

我天天坚持至少8个小时的算法理论学习及编程练习,多则长达14个小时。这段时间能够说是我编程能力提升最快的时光。我学到了不少的知识,其中最大的收获就是对于一种陌生的算法或形式化描述,我能很快地理解,并用程序去模拟它的流程。其实大多数看似很是复杂的算法都是由这些最基本的算法思想演化而来的,扎实的算法理论基础对于从此的相关课程学习是很是有帮助的。对于如今程序员中流行的"算法无用论",由于我尚未接触到正规的企业开发,因此暂时不予评论,可是我相信:要想成为优秀的程序员,对于基本算法有深刻与精确的理解应该是一项必需的基本技能。

然而,虽然我进行了近三个月的刻苦努力,可是比赛的结果却仍以失败了结。缘由有不少,有外部的,但更多的是本身的,比起更多的程序高手,我只不过是个普通的Coder,资质通常,接触编程的时间不如他们长,训练的强度也不如他们大,用"脚后跟"想一想就知道结果了吧。其实当时我将更多的但愿放在了明年的比赛上,不事后来由于备考GRE而放弃了。

参加数学建模竞赛

参加数学建模竞赛是我大学生活当中比较有意义的经历,也是在这里,我找到了和我有共同爱好的同窗,咱们能够进行交流,对问题进行争论甚至争吵,我体会到了与别人合做的快乐。数学建模竞赛实际上就是一个迷你的科研过程。别人提出一个问题,这个问题可能出自于不一样的领域,并且大都目前没有获得很好的解决。参赛者用三天的时间搜集与查阅资料,针对问题提出合理的数学模型进行解释,经过实验得出数据进行验证,最后写成论文。我很喜欢这种彻底不一样于课堂与考试的研究方式,我也很是喜欢用学过的数学知识去解决一些实际的问题。

从大二开始,我参加了两次全国比赛,一次美国的比赛。得了一个省级二等奖,一个国际二等奖。结果通常,但我以为过程更重要(决定比赛结果的每每有不少缘由)。这个过程当中我学会了不少,包括一些有用的数学知识,分析问题的方法,数学建模的一些技巧;我试着去学习如何快速地掌握一个陌生的理论并将它运用在建模中,如何与队友配合,如何发挥团队每一个成员的最大优点等。

依然清晰地记得2008年的那个寒假,咱们留在学校参加美国建模竞赛的情景。个人一个队友是个人同班同窗,他的文笔很是好,英文水平也不错,主要负责参赛论文的写做;另外一个是数学系的学生,当时仍是咱们学校建模协会的主席,他的数学功力不错,主要是进行模型的分析及公式的推导;我则主要负责问题分析与计算机求解等方面的工做。咱们的配合很是默契,并且也都渴望可以取得好的成绩。咱们队是全部组里最刻苦的,一般是早上6点起床去实验室,直到晚上10点才回去。记得当时作了很多练习题,阅读并分析了近几年来MCMOutstanding论文,并且逐渐造成了咱们本身的配合与交流方式及解题风格。通过了将近三个星期的集训,咱们满怀信心与激情地开始准备比赛。但事事难料,竞赛的前一天半夜,我居然高烧39度,队友冒着严寒(那时的沈阳格外冷),半夜陪我跑到附近的医院打点滴,照顾我休息,一直陪我到次日清晨才回去。这让我很是感动,同时也深深感到了有好的团队与氛围是多么重要。以后的竞赛,我发挥通常,不过经过咱们齐心合力的配合,拼了四天三夜,总算按时完成了那篇一万多词的英文论文。虽然最终的结果没有达到咱们为学校创造历史的指望,但遗憾却没法掩盖这难忘的美好经历。我忘不了那段奋斗的日子,忘不了你们一块儿通宵讨论数学模型,忘不了生病时队友的关怀,忘不了单老师的耐心指导,忘不了朱老师每次老是在最后多发一盒饭给我,更忘不了你们为了同一目标一块儿拼搏的时光!

大三~大四:考G与求职

大三下学期,我决定加入考G大军。当初决定考G的缘由有不少,不过简单来讲就是对现状的失望与逃避,以及对本身梦想的憧憬与向往,我并无对自身的条件及现实状况作足够的评估,这从某种程度上已经决定了失败的结果。这个决定是草率的,可是我却历来没有后悔过,由于在整个备考的过程当中我付出了很大的努力,虽然努力得还不够;也收获了不少,我甚至由于这段时间的英文积累在后来的求职过程当中获得了一个去外企工做的机会。

虽然有足够的心理准备,可是这次北京之行仍给了我很大的触动。原本觉得虽然外界形势不太乐观,拥有"中国硅谷"的北京会受到一些影响,机会仍会不少,但我在北京转了将近一周的时间,发如今规模最大的招聘会上也仅仅有不多的几家公司,并且竞争异常激烈。直到如今我还清晰地记得招聘会上拥挤的人群,诸多求职者焦急的神情……

在求职的过程当中,我曾经不少次遭遇由于学校不是重点大学而被HR当场拒收简历的尴尬,我也经受了在网上投了几十份简历而杳无音信的焦虑,以及在某公司的面试现场被人绝不留情鄙视的无奈。总之,找工做的过程当中经历了很多挫折,同时也带给我不少的思考。

凭借着还算流畅的英文口语,我获得了去北京一家软件外企作技术支持的机会。为时一年的GT备考并无获得我想要的结果,这个机会也算是对于那一阶段努力的一个结果与回报吧。另外,由于本身课余作的两个不是很成功但却有一点点技术含量的小项目,我还获得了去上海一家作游戏的创业公司作C++开发的机会。

技术支持主要是与客户进行沟通,帮助他们解决产品使用过程当中的一些技术性问题。这个职位须要比较强的交际能力,以及英文口语能力(公司产品主要面对的是欧美客户),可是对于技术方面可能会涉及得比较少,并且几乎不须要去写什么代码。

那个C++开发职位则须要一些实际的编码能力,工做中更多的时间将会是与机器打交道。出于对本身实际状况的考虑,我选择了去上海的那家创业公司。这主要是由于我更喜欢从事技术开发方面的工做,而且在与人交往方面不是很擅长。这家创业公司里的员工基本都是80后,感受你们工做都颇有激情,并且工做环境也比较开放自由,这也正是我想要的工做。这里要说一下,不少人都认为技术支持或销售不如程序开发工做"",我对此观点向来不是很认同。在我看来,每一个岗位提供的机会都是同样的,只不过是工做环境的不一样而已。而每一个人的特色与爱好不一样,因此并非全部的计算机专业学生都要去作开发。特别是一些交际能力很强而对技术不是很是感兴趣的同窗,可能技术支持或销售等方面的职位更加适合他们。选择了适合本身的环境,不只会工做得很愉快,并且可能很快就会在这个岗位上崭露头角,我想这要比作一个天天闷闷不乐的"代码民工"好得多吧。

结语:我想对师弟师妹们说

必定要弄清楚上大学首要的任务。明白本身是来干什么的,走出这里的时候本身要收获什么,本身但愿成为何样的人。每一个人都必需要有明确的目标,除非你想过四年打酱油的生活。这一点我作到了,虽然作得很差,走了弯路,可是我没有白白荒废四年的时间。

要有扎实的学科基础。不要将本身局限在得一个高分的狭小范围内,仅仅看到眼前的荣誉无疑是目光短浅的表现。要注意学习的扩展性,要努力去理解并掌握本专业经常使用的的核心思想与技术,达到熟记于胸的程度。

发现本身的优点,选择适合本身的出路。不要仅仅看中程序员的高薪水,作最适合本身的方向的工做才是最最重要的。

学过理论要注重实践。能够本身作一些力所能及的小东西,有意从事计算机方向的同窗须要熟练掌握一门程序设计语言、一个开发工具、一个系统平台和一种编程思想。本身动手作一些有必定技术含量的项目。

最好是可以利用好假期的时间,出去实习。实习经历将是毕业时"卖身"的有力筹码。

切忌浮躁、急功近利。假如以你的实力能够经过五年的时间成为一个领域的高手,若是本身指望缩短到三年的时间或更短,最终极可能要用八年、十年的时间,甚至可能永远都作不到。

目标要坚决。对于本身已经决定的选择,要执著地追求,直到在其中得到了你满意的成果。

作事情不为本身找借口,借口==失败。

之前听别人说"要有本身的理想,并坚持本身的理想",总感受说得很"",可是如今我却从心里深处认同这种说法。刚上大学的时候,我也曾彷徨过很长时间,我不知道本身究竟要干什么,看不清何处才是本身的将来。后来,我看了不少广为流传的成功人士的故事及他们的心得体会,对我影响最大的两我的是李开复和苹果的Steve Jobs

开复老师的那本《作最好的本身》我不知道究竟读过了多少遍,并且每一次读都有更深的体会与强烈的认同。其实对于外部环境的困惑与不满也使得我苦闷、彷徨甚至想放弃,但读过开复老师的书,我懂得了对于本身没法改变的事物,要有接受它的胸怀;而对于本身能够改变的事物,要竭尽全力地去改变它。每到我感受苦闷无助的时候,我老是努力地提醒本身:不管外界环境如何,我所能作的就是尽本身的力量,利用周围有利的环境,去追寻理想。要作到这一点的确很难,因此要时常提醒本身、督促本身。

Steve Jobs那句著名的"你是要继续卖糖水,仍是要改变世界"曾无数次激发我追求理想的激情与决心。一次偶然的机会,在YouTube上,我看到了一段Steve JobsStanford的演讲视频。今后,每当缺少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,实现咱们的梦想!

网友跟帖

Tiny foolApr 1, 2009 @ 10:37 am

个人见解是,核心问题在于眼界。计算机专业的课程都学好了(个人意思是不要限于考试的标准),实际上是很不错的。我看到过不少例子,不少人很努力,可是水平原地打转,甚至慢慢地就落后于他的朋友们。缘由在于,就他所学,他已经不知道本身该继续往什么方向努力了。

在学校的学生的不幸在于,咱们曾经是一个很是仰视大学的国家,咱们的父母老师,每天告诉咱们考上大学一切就OK了。然而如今社会发展了,大学门槛也低了,咱们处处均可以看到大学生了,用人单位的门槛也高了。自学的朋友也同样,你学会了贝叶斯,开始流行hmm,你学会了hmm,开始流行rcf。可是,咱们每一个人都不是傻子,咱们天生就有天天都上升的空间,只是咱们的眼界太窄,看不到路在何方而已。

小马xioamaApr 1, 2009 @10:01 am

做为一个毕业15年的过来人,我也来讲几句,其实进了大学,一切都是靠自学。我一直在说的一句话就是"在大学里能学习到的惟一的东西就是学习"。由于毕业后,根本不可能靠在大学里课堂上学习到的东西混饭吃,新毕业的人在用人单位看来,等于一张白纸,所不一样的就是这张纸的吸墨能力有多强。

221.233.24.*Apr 6, 2009 @2:31 pm

说些什么呢?彷佛想说的话有太多太多,却又无从提及!

我没过四级,不是由于我不努力,我努力过了。我也挂过不少课,不是由于我很差学,是由于我以为好多课程根本没有用。曾经也无数次的彷徨迷茫过,可是我从没有放弃过。四年我惟一没变的是一颗上进心,一份责任心,一颗感恩的心,一份信心。

记住不要放弃本身! 

221.233.24.*Apr 7, 2009 @02:27 am

文章中说的大学中的种种弊病,我以为是几乎每个大学每个学院和每个大学生都有可能遇到的。不仅仅在咱们计算机。我以为你这篇文章蛮有哲理的,但更多的是对现实的不满,但发泄不满没有任何意义。由于现实就是现实。

与其为这些烦恼,厌烦,不如考虑一下如何在现实的状况下经过本身最大的努力去取得成功会好些。

我以为梦归根究竟是梦,回顾和检讨应该更多地关心本身,由于环境不是咱们说了算的,咱们说得算的只有本身。

Jeffrey ZhaoApr 1, 2009@20:44 am

大风气真的那么重要吗?的确大风气很很差,我也认可,可是我绝对相信你能找出10个志同道合的人,再退一步,认真治学的老师和同窗出来,这样的小团体还不够吗? 如今互联网那么发达,处处都能交流,资源之充沛只会让人接受不完,我以为没有理由怪什么精神不精神,资源不资源。

当看不清世界发展,那么能够看清过去的发展啊,过去有哪些是不变的,不多变的,通常之后改变的可能性也不大。把时间投资在这些方面,通常老是有很大好处的--尤为是周围的人都不怎么投资的时候。至于方向:交流、交流、交流……

fang xuApr 2, 2009@10:44 am

我很反感这种一味拿主观能动性来讲事的。事情哪有这么极端。牛人和庸人都是少数,他们能够不多受环境影响,可是在正态分布中心附近的大多数是很容易被塑造的。大学生虽然不是小孩子,但依然缺少磨练不够成熟。

虽然无论怎样,学生的能力分布也会是个正态分布,但好的向导会使平均值提升。基因自身能够发生遗传突变,可是环境会对其进行筛选或是诱发突变。人也是同样。

KaiixApr 3, 2009@11:10 am

我不知道同在这种状况的朋友怎样想,对这几年反思,有抱怨,有自责。抱怨环境,没有人可以在我稍偏出方向时给我一声提醒;抱怨没有能够一同讨论、研究技术的同伴, 哪怕一个也好;抱怨老师好像透明人,这几年没有几个老师让我记住名字;抱怨本身,恍恍惚惚,彷佛学了不少,其实学到不多。

老是告诉本身除了本身的问题其余的一切都是借口。环境真的那么重要吗,难道我真的不可以享受这份孤独?我认为除非有很是好的自制力和强大的目标驱动,想作到这点真的很难,很是赞成可以享受思惟的孤独是更为贵重的品质。

今年也大四了,回顾过往,遗憾不少。但可喜的是在学校最后一年时本身的思想成熟不少,"朝闻道,夕可死",整理心情,继续向前走。

 

 

2、刘 在失望中寻找但愿

曾经多少次跌倒在路上

曾经多少次折断过翅膀

现在我已再也不感到彷徨

我想超越这平凡的生活

--汪峰《盛开的生命》

引子:失望中有但愿么

我是为数很少的本科毕业工做三年后再读研究生的人。上本科以来的十年,却大部分是在茫然中度过的。我迷迷糊糊,跌跌撞撞。痛苦中有奋斗,挣扎中有快乐。

高中的理想如此简单:上清华,考北大

个人高中绝对是在盲目自负中浓墨重彩地走过的,由于本身的勤奋和对数理化的热爱,班级第一名的头衔时刻挂在本身身上,结果除了清华北大以外,对任何学校都不怎么关心,再加上学校对于学生除了考出好成绩以外什么都不关心的教学方式,使得本身对于大学、专业、前途等一切的一切都处于超级茫然状态,仿佛本身的一辈子只是为了去清华北大读书,仅此而已。多么好笑的理想与人生目标,但也正是这样的目标促使本身在高中阶段不断努力、永不放弃。然而,我一个初中同窗的成绩一直排在我前面,我没有任何办法超越他,所以,高考估完分数后,知道清华已经没有但愿,因而就不知道本身的下一个目标是哪里了。

那时,对其余学校认知的匮乏让本身无助起来,最后的抉择,是但愿选择一个好的专业,因而比较热门的计算机科学与技术和通讯工程专业成了本身的首选。计算机这种奇妙的东西,相信没有哪一个学理工科的男孩子不热爱吧,因而我就选择了计算机做为本身的专业。根据专业来选择学校,按道理说也算是一种策略吧,但我了解的学校资源实在太少,再加上本身当时是个不肯意与任何人交流的人,因而最终,遵从了亲戚的安排,去了西安电子科技大学,一所电子类的至关专而小的学校。

个人母校--西安电子科技大学,被国外教授礼节性地夸赞为"中国的MIT",但显然,咱们都清楚,这种赞誉实在是过了。如今想一想,本科时候的本身是多么的不合群,多么的2。当时本身的价值观念是读书为要,一切让道,彻底套用本身的高中思惟来应对大学生活,最终处处碰壁。

清晰记得几个经典段子

军训时,宿舍其余同窗闲暇时听的歌曲以流行、摇滚为主,当时,著名的爱华(后来被SONY收购)和SONY的超薄Walkman仍是一种奢侈品。罗大佑、唐朝乐队等的音乐在宿舍里面回荡,而我当时出校一次,带回了一盘《歌唱祖国》的磁带,回来后遭到了几乎全部人的唏嘘,此时本身才发现,原来我和别人的差别是如此的大。但当初哪里会认为是本身的问题啊,一如既往地认为全部人都很2,坚持着本身的风格,一如既往地跟你们不太合。

还清晰地记得,当时军训结束,几乎全部人都脱掉军装穿上带有本身个性的衣服去开学院的一次全体会议,惟有我一我的穿着军装进去,结果被全部人视为异类--并且我不只穿着军装进去,还挂着肩上的领花横杠,一切的一切都印证着一个农村来的孩子,接受着最最红色的正统教育,他的入校阶段的生活会是多么的尴尬!

本科四年 定调:迷迷糊糊、庸庸碌碌地拿着奖学金

我是科班--却没学懂计算机

我是传统意义上的计算机科班出身,学过数据结构、编译原理、操做系统、汇编语言、计算机原理、计算机系统结构、离散数学、几率论、计算机网络、数据库、单片机、算法设计、数理统计、高级语言程序设计、面向对象程序设计,从DOSTubro Pascal时代学起,一直学到VC6。然而,我却并无学懂计算机。

本科时,本身的考试成绩一直排在前面,但几乎全部的时间和精力都花在了犯迷糊、作做业和游戏上。本科阶段是咱们精力最最充沛、时间最最富裕、最最容易跟其余人拉开距离的阶段,如何处理这段生活,将会形成最后的千差万别,遗憾的是,当时却没有人告诉我这一点。我像高中阶段同样,只学习那一点点可怜的上课讲的知识,几乎不看教材、不怎么看课外资料,课后的做业基本是独立完成,却历来不是主动地思考、从各个可能的角度出发寻找到解决问题的方法,而是沿着老师讲过的固定的模式,或者寻找相似的解答方法,而后稍微变换,从而完成解答。我老是认真听老师讲课,每次上课历来不预习,历来不会计划这学期我要干什么、这堂课我要干什么,我机械地听着每一节课,机械地在迷糊中重复着做业、考试,我几乎每个学期都会拿到奖学金,可那又怎么样呢?

拿数据结构这门课程为例,严蔚敏老师的经典教材相信几乎学过计算机的人都是耳熟能详的,这本书上的算法和数据结构短小精悍。咱们的授课老师,却只讲最简单的概念和不深的理论描述,给个人感受就是,"数据结构"几乎是门和"离散数学"差很少的数学课--他用最肤浅的知识,"成功地"告诉了咱们"数据结构"是门几乎不用动手写程序的课程,只用上课听听就行了。因而乎,一门须要动手实践、将会极大地提升咱们编程素养和思惟能力的课程,就被咱们这样迷迷糊糊上完了。

震撼:在清华听朱仲涛老师的"数据结构"

2005年准备研究生考试的时候,我旁听了朱仲涛老师的"数据结构"课,当时的感受只能用两个字来形容:震撼。在他的课上,我对数据结构有了全新的认识,对计算机也有了一点与以往不一样的了解。

他的讲课风格很是独特,他只用1/5的时间简述一下要讲的内容,剩下的时间都是当场写程序。著名的约瑟夫环、Dijkstra算法、Prime算法、快速排序、堆排序、锦标赛排序、Tarjin强连通份量、Convex Hull等深的浅的,教材上有的没有的,所有在课堂上从0开始实现:每遇到一个算法,一边写程序,一边讲解,不懂就将程序的运行结构拿出来分析,并不时地穿插离散数学、几率论、内存管理、C语言、汇编语言等知识,几乎将咱们学到的东西很是恰到好处地拿出来,让咱们从内心面以为原来全部的知识是连贯的,咱们以前的积累都是有用的,而且富有成就感。

我清晰地记得他在工业工程系课堂上讲""的时候,用计算几何中的Convex Hull(计算几何中求凸包的算法,由美国ACM大牛Graham发明,该算法经过nlogn复杂度求出平面中一堆点的最外层包围矩形边界)来显示栈的使用。这个算法在A4纸上写说明最少也要两页,加上里面具体的技术,我的以为能够给3个小时的时间来考查一个训练有素的程序员是否合格。而朱老师在1.5小时的时间里,一边讲,一边写,用最优雅的方式,完整地实现了这个算法,写完程序,一个编译错误也没有,成功运行,随机的点,优雅的边界,当时全班鼓掌两分钟。他说:"我很自信,即便是最顶级的程序员,也不能将个人代码优化多少了。"

他的课让我明白:"数据结构",以及一切计算的课程里面,凡是本身不理解的东西,本身说不清道不明的东西,其实有不少人是理解的。个人老师没有给我必要的关键性指导,但,不能否认有一些同窗,他们老是先知先觉,他们老是会问"为何这门课程要这么上",他们老是会思考本身是否是走在正确的路上,因而他们大量丰富本身的实践,从而也优雅地完成了本科学业。但遗憾的是,我和大部分个人同窗们,就这样,由于缺少必要的指导,迷迷糊糊、庸庸碌碌地过完了本科。

如今回想过去,才发现本身当时多么无知、多么机械。其实,不懂的时候,无论任什么时候候,你均可以去问老师、同窗,从而节省大量的时间和精力。咱们必须在年轻的时候有意地培养本身独立思考的能力,常常想想,我要的是什么、为何要作这件事、作这件事有什么好方法、这样作有什么好处和坏处、如何改进等,也要与人交流、沟通,讲出本身的想法,请别人指正。咱们须要培养的是本身的思考方式,而不是简单地获取知识。

计算机专业须要大量时间,须要付出大量精力,也须要极大的耐心。但大部分像我同样的80后都作不到。而作到的,如今几乎没有例外地都找到了很好的工做。

公司不重视技术--与个人兴趣冲突

本科毕业后我就参加了工做,一干就是三年。

我工做的地方是个典型的国有企业转制后的股份制公司,计算机公司,以系统集成和网络为主,软件是副业。个人项目经理和部门经理对我很好,如今我依然感谢他们。只是,我实在没法接受这样的工做情况:待遇通常,沟通匮乏,无视积累,没有传承,频繁的软件部门高层更换预示着软件的寸步难行。也许,咱们把软件业务所有外包会更好,可是那么多为公司辛勤工做的员工将何去何从呢?

工做阶段,个人角色还真很多,有点需求分析,有点系统设计,大量的软件开发,大量的系统实施,一点点知识探索,一点点售前支持。既是典型的多面手,又是行行肤浅的门外汉。不多有人能从技术上指导我,不是由于我很牛,只是由于咱们实在不是个以技术见长的公司,而我本身,却十分喜欢技术,喜欢和计算机打交道,喜欢盯着计算机的输出然后体会其无穷的美感。这是我喜欢作的事,但工做却不容许我这么作。

考研•读研 定调:开始改变思惟习惯,化机械记忆为主动思考

若只有机械思惟--上了清华又如何

工做的第三年,我准备考研了。个人如意算盘是,当20068月个人工做合同到期的时候,能天然而顺利地过渡到研究生阶段。

当时我设想了4种结果:

上清华计算机系的研究生,未来去MicrosoftIBM工做;

调剂到清华软件学院,依然能够去好的外企工做;

调剂到其余院校;

考研失败,就当什么都没发生过,继续工做,或者从头再来。

以上的每个结局,我都能承受,不算破釜沉舟,但绝对尽心尽力。在每个下班的晚上,在每个周末的分分秒秒,我蹬着自行车冲到清华,吃饭、看书,回来睡觉,利用工做的间隙继续看书。就这样,没有任何杂念,没有任何包袱,风风雨雨地跑着,简简单单地过着。带着对将来的期盼,和对现有生活的改变,坚持着。也曾经偶尔想过放弃,但更多的是受理想的驱使。

考研的结果,我进了清华大学软件学院。但仔细回想考研的过程,我却依然没有摆脱思惟的局限--以机械记忆为主的学习方式。也许是我以为时间太宝贵,也许是真的连思考的时间都没有了,我每看到一个题目,老是会先看答案,让答案来指引个人思路,而不是用本身的脑子想问题。

这种学习方式在短时间内的确会取得很大的成果,但却贻害无穷。久而久之,会令人丧失判断力、理解力和交流能力,只留下可怜的记忆力--这样的人难有大成。这样的学习方式会使咱们的思考方式沦为简单地重复和机械地回忆,胆子变小,创新力几乎丧失--对于计算机这种快速变化和要求很高的学科来讲,显然没有什么价值。

读研以后我终于正视了本身思惟的机械与缺少活力的问题。我有意识地努力尝试去改变。看书的时候,我每看一下子就想一想做者在说什么,以训练本身的归纳能力;看看做者表述得是否合理,以训练本身的怀疑能力;勤于反思,以训练本身提出问题的能力。但习惯是长久养成的,显然改变也是须要一段时间的。

实习之门 定调:快想,快说,快干

IBM实习:和之前的工做不同呢

IBMCRL的环境不错,普通员工的办公场所也算宽敞:电脑两台,都是高配置。空调很凉快,体制宽松,但人们的工做很是紧凑、忙碌,压力大,追求高效。

做为一个曾有过工做经验的实习生,在这里体会到了彻底不同的感受。

工做效率高、速度快。CRL的总体工做节奏不太像IBM这种巨人的风格。Mentor是个急性子的女博士,脑子很是聪明,解决问题的能力很强。一样的新问题,她可以很大胆地想出新办法。CRL要求员工讲话简短,注重效率,跟人沟通开门见山,且历来不喜欢重复。我在这里体会到,不少时候,若是不能在头三句话里就把一个问题说清楚,后面就可能永远没有开口的机会了。

对新问题的反应快。这里的正式员工论智商,确实遇上了清华排名10%30%的人才了。没办法,只能以勤补拙了。

工做量大。这里一天的工做量,至关于在之前单位工做一个星期。像战争同样的生活,让我每次下班后见墙就想靠,见床就想睡。不过感受也很是充实。

没有心计,人比较单纯。有什么说什么,不用耍心眼,不用藏着掖着。能够把辛苦的差事,努力作得简单而快乐。

配套设施不错。运动场所还行,咖啡好喝。

求职之路 定调:再次痛感基本功的重要

"完美时空"面试的不完美经历

--崩溃之余也反思

有了本科时找工做的教训,如今,我一心就想找个重视技术、团队氛围很好、周围人水平都比较高的地方,因而投简历基本上都之外企和好的技术公司为主。找工做到如今,我一共面试了17个公司,拒掉5家,被拒11家,最终签下Amazon。挂掉的缘由无非是这几个:英语,思惟习惯,扎实的算法,兴趣点。其中挂掉的比较典型的公司之一是"完美时空"--我认真地准备了差很少两个星期,能够算是尽心尽力,却一无所得,下面讲的就是我面试"完美时空"的不完美经历。

工做场所在一个角落里,问了半天才找到地方,上去一看,傻眼了,彻底不像想象的那样:大大的工做场所,有休息的地方,装饰豪华,反而像一个稍微大点的机房,你们紧张地工做着,梦想、实现、进度等在这个局促的环境下显得尤其珍贵。能够确定地讲,之前同窗说的招人不怎么作事的想法是多么的幼稚,哪一个创业阶段的公司会用1万多的月薪供着一个不干活的主儿?通过3层楼的寻找,终于在7楼找到一间没有被占用的会议室,HR让我等下,本身去叫程序部的两位Manager下来,我当时觉得技术面试应该会限于我作过的几个题目,而那几个题目我已经翻来覆去地想过了。但很遗憾,针对题目问的问题不多,并且我基本上不知所措。

一个Manager先问我当时为何把题目所有作了,而后让我挑一个,说说作得怎么样?我就把本身实际考虑的、怎么样作会更完美等一系列想法都讲出来,接着他问,题目是这么要求的吗?你从题目能看出来要求什么?我就说要将客户端和服务器端放在一块儿,要用多线程,界面不能死,要处理异常等,最好启用log记录。而后他问,哪些是题目要求的?你认为最重要的是什么,等等?我就又讲了用TCP和发送接收文本信息等。貌似他仍是不满意,他一直强调我将一个简单的问题考虑复杂了,貌似我一直没有抓住重点,很郁闷。

以后问const的问题,问我是否是想过,Java是否是精通,我说是,又被问到,Java如何实现constJavaconstC++同样吗?怎么实现的?这个问题又让我崩溃了。

再而后,开始随便问了,打击更大。先问,是否玩过游戏,都玩过哪些,天然答玩过。谈到网游,忽然问有没有想过升级算法怎么设计,我思考的时候,直接被打断,"考虑过没有",答"考虑过""怎么实现?",我沿用暴雪的魔兽的算法基本上讲了一下,也不知道答得咋样。此后由于我星际玩得最多,问如何保证种族的平衡性,这个我又傻了,竟然说了根据实际运做的过程来反馈,以及提了一点攻击属性和兵种等。这个问题又答得不好,其实仍是平时没有怎么去想,脑子以前没有转过,现场去转总会犯傻的。下来想一想,应该是保证各个种族的兵种基本上都既有对应兵种,又有相克兵种,每个兵种攻击都设计它的强项和弱项,每一种战术都有相克的战术,若是考虑到这些,应该就能保证基本的平衡了。不知道这样回答对不对,至少比当场回答得好。

又问,若是让你设计口袋西游,你怎么设计?这个问题估计我又扯淡了,没答到点子上,全凭本身的想象来。再后面就是项目经验的回顾了,此次比以往每次都来得深刻。一样被问到,lucence的文件索引怎么实现的?唉,知其然不知其因此然,这是我一向的问题,NB的公司老是问到个人软肋。答曰,没看过。又问,若是不用lucence,你怎么办?有没有替代方案,你以为整个项目你最引人瞩目的地方是什么,你最愿意展现的是什么?我曾经讲过无数遍这个项目,不一样的公司关注点很不同,像这样被抓住问的仍是第一次。以后谈到在IBM作的项目,谈到了一点测试,直接被问到,你以为自动化测试框架怎么设计?若是这样设计性能很差怎么办?怎么优化?我对测试原本就不怎么懂,这样面下来又崩溃了。而后问平时个人项目大概有多少,怎么作的测试,答曰较少。用到了Junit,被问到Junit哪些地方很差等,全部关于测试的这些东西基本全挂。

终于不问问题了,估计也不须要再问了,我有多少水分他们应该知道了,他们理想的人应该不是我。他们但愿招聘到精通游戏设计,精通而且思考过不少游戏及相关系统底层,而且对测试比较熟悉的人,很遗憾我不是。本觉得我会面数据安所有,结果程序部C++部门的两我的下来把我面傻了……游戏设计,游戏中的设计,以及一些底层的问题、测试框架和相关东西,基本上每个问题都答很差,HR问,你本身给本身打几分,我说80,他忽悠了我一下,我又说7080,而后边上的Manager诡异地一笑,我意识到不对,看来真的是很惨,可能不及格……曾经寄予了太多的但愿,曾经抱着无数的幻想,如今看来,我不属于完美。此次挂掉,对我来讲意义很大。其实这是必然的。

好的外企或好的技术公司但愿招聘到的学生是作事超级投入,特别乐意思考,充满活力,而且具有必定的行业知识的。所以,在面试准备的时候,应该充分了解本身应聘的公司,多思考,多关注架构等背后的东西,才能应付比较深层次的技术面试。

另外,谦虚、和蔼、愿意向别人学习、擅长理性思惟,是技术类工做面试中的加分项。

结语:总能看见但愿的亮光

跌跌撞撞地前行中,仍是能悟出一些道理,与你们分享。

1.珍惜每个生命阶段。每个人的生活都是精彩的,没有必要厚此薄彼,也没有必要给本身太多的打击。每一个人独立地拥有时间,也许我很笨,也许我很穷,因此我须要花费比别人更多的宝贵时间,仅此而已,我要的是--享受过程。

2.作本身的主人。不要辜负上帝给咱们的聪慧的大脑,用它来独立地想问题,用本身的眼睛来看世界,用本身的心灵来感觉,用本身的金口来提问。不要惧怕,不要退缩。

3.增强实践与执行力。不要欠生活,不要欠工做。出来混,老是要还的,你不会的知识,你懒于想通的东西,老是会在一个必要的时候提醒你、惩罚你。将没有搞懂的、但愿作到的东西,写在纸上、贴在面前,认真实践,当你作到的愈来愈多的时候,你就会愈来愈自信,你的层次会提升的。相信我,人与人之间的差距很大,缘由在于自我控制力有差距

 

3、辜新星 时刻调整方向:找到人生的蓝海

我想知道流星的美丽 是否值得去寻求

因而我心狂奔 羽化成黑夜的彩虹

蜕变成月光的清风 幸福了我好久

-- 郑钧《流星》

引子:骑单车的故事

小时候看过一个关于单车的故事:爸爸教儿子骑单车,儿子总也学不会。爸爸看出了问题所在,因而在再一次示范后让儿子看身后弯弯曲曲的车轮印,并语重心长地说:我儿,虽然你看见别人骑车时车头很直,但那也是由于他在时刻调整方向,才能顺利前进啊!

故事里的儿子有没有学会骑车我不得而知,但这个故事一直都能让我在回顾本身的成长历程时想起,显然是个好故事。

本科四年 定调:大一有点瞎忙,然后本身作主

大一我是社团狂

2002 年,我考入北京大学计算机系。能进入求之不得的大学,学习我当时以为最酷的专业,天然很是高兴。进入北大后,我就一心追逐起本身梦想中的大学生活:加入了校团委社团文体部,跟着一帮虽然只比我高一两届但说话作事明显成熟不少的师兄师姐们,忙着认识各个学院的朋友,忙着办各类文艺晚会,忙着管理北大超过100个学生社团;拿了把吉他就拉人组成表演团体,参加了北大校内最火的新生文艺汇演,在北大百周年讲堂的舞台上过了一把主唱瘾;成为了学院团校的积极分子,每期不落地参加全部的活动;还担任了团支部的职务。我很是清楚地记得,大一期间,我每周光各类例会就有三个半。然而,大一也是学习压力最大的时期,不只各类基础课程数量多、难度大,并且几乎全部的新生都要面临转变学习方式以适应大学学习的问题。因此,我当时的生活特别紧张,任什么时候候的感觉都是一个字:忙。

很快,瞎忙的结果就白纸黑字地送到个人面前,个人"高等数学"期中考试只考了不到80分。一纸惊醒梦中人,我忽然意识到,我曾经梦想的自由自在的大学生活,也不是那么无拘无束,至少还有分数这样的硬指标在衡量着个人前进或退步,提醒我不要迷失方向。在初高中,我从老师、父母那里听到了太屡次一个美丽的"传说":如今努力学习吧,过了高考,一切就都解脱了,大学将是你自由发展的天堂。如今看来,事实要让不少将这"传说"看成最后一根稻草的高中生失望了。

大学的确提供了很是丰富的能力培养机会和广阔的我的发展空间,但归根结底,学习和进步才是大学的主题,荒废其中任何一个都不能让大学生活过得充实而完整。

好学长赐我财富

既然已经觉醒,那就改变吧。我开始把大量精力投入到课程学习上:像高中同样进行课前预习,增长了课后自习的时间,天天都在三教或图书馆待到关门。可是,我仍然感受时间不够用,学习的时候总感受各类事情纷至沓来、压迫个人大脑,恨不得能并行做业同时完成若干件任务。我很困惑,跟一个一样作学生会工做的师兄聊天诉苦,谈我面临的问题。他很干脆地给了一个建议:作好短时间时间规划。具体而言,要把天天把要作的事情分红ABCD四类:

A--紧迫且重要;B--重要不紧迫;C--紧迫不重要;D--不重要不紧迫。

而后按顺序为每件事情安排一段专属的处理时间。关键的是,必定要在专属时间内专心致志地作好当前的事情,不受其余任务的干扰,这样才能提升效率。

这是我从学长那儿得到的第一笔真正意义上的财富,马上从善如流,受益不浅。大学期间,我每一年都能得到奖学金,而且由于良好的学生工做表现,得到了北京市三好学生、北京大学优秀学生干部等荣誉。

理解专业,痛并快乐着

最先接触计算机是在小学毕业的暑假,被家人送到市科委的计算机培训班。说是计算机培训,其实就是一帮小孩在386 的电脑上学五笔,用当时算是先进的Windows 3.1操做系统。即使如此,计算机也让我大开眼界。当时我最喜欢的当属最流行的指法练习软件TTWindows 自带的扫雷游戏,看着不断掉下的单词块被击碎或是鼠标轻轻一点就消去一大片方格,内心总会大呼过瘾。等到初中毕业有了本身的奔腾Ⅱ电脑,就不知足于玩玩游戏了,开始各类折腾。那时候最喜欢作的是优化系统性能,各类电脑相关报刊上的系统优化方法是个人最爱,从调整虚拟内存、优化注册表到更新驱动、刷BIOS,危险的、不危险的全都要亲自动手尝试一下,仿佛不调整系统就慢得难以忍受同样。那时候我对计算机专业的认识基本上能够概括为三条:用Visual Studio写程序,学习Windows系统(尤为是注册表),DIY攒机。甚至在大一回答一份关于课程设置的调查问卷时,我到如今还清楚地记得我在建议一栏里写上了:开设Photoshop课程--真土啊!囧

转变的过程漫长而艰难。当大一下学期开始加强对编程的要求时,我缺少编程基础的弱点就明显暴露出来。加上身边还有很多熟悉编程语言甚至有过计算机竞赛经验的同窗,我跟他们的差距就愈加明显:经常本身调试半天找不出Bug所在,而有经验的同窗一眼就能告诉我答案。有差距,就要追。怎么追--

买书,编程的,大部头,不少。从编程语言到编程风格,再到数据结构和算法,几乎每本书我都是从头至尾抱着仔细读完的。

坚持在读书的时候把代码一行行亲手敲出来并编译经过。这种学习方法很须要毅力,毕竟当你看着书上的代码以为很容易懂的时候每每懒于动手,但也只有动手才能发现各类问题,好比用C++class老是忘了最后的分号,缩进不一致致使少写一边大括号,等等。

提早作知识储备。在学习编程技术的时候,我还提早了解了一些编译器和计算机体系结构的知识,对于我理解程序的运行和性能的瓶颈有了很大帮助。

贵人指路,事半功倍。CSDNJoel On Software等网站上的程序员,他们在博客上无私分享的心得和在论坛提供的及时帮助不只让我得到了知识,也给了我极大的鼓励,让我能坚持艰苦的学习。

我和侯捷老师的忘年交

尤为让我难忘并受益颇深的是台湾的侯捷老师。当我大二开始学习Windows编程时,无心中访问到了侯老师的网站,在这里,我很是惊异地发现,侯老师公布了他的畅销书《深刻浅出MFC(第二版)》的PDF全文。当时我知道国外有些做者如Bruce Eckel,会把本身的书的电子版无偿地提供给全部须要的人下载,可是在国内,尤为这样一本如此出名的畅销书,我仍是第一次看到做者将全文贡献出来。我当即下载了这本书,开始随着侯老师的笔触进入Windows编程的世界,并大胆地给侯老师发了一封电子邮件表示感谢。没想到侯老师很快给了我回信,向我询问大陆尤为是北大的计算机教育方式,而且鼓励我踏踏实实地打好基础 ,而不要被层出不穷的新技术遮蔽了视线。我很难想象这样一位翻译、写做的名家在工做繁忙之中能抽空回信,并且态度谦和平易,内心受到了极大的鼓舞。后来,我跟侯老师聊了个人困惑,包括如何学习计算机,以及如何取舍出国和保研,侯老师则侃侃而谈,以本身的亲身经历给出了建议。再后来,侯老师与我在北京见了几回面,为计算机系的同窗开了一次讲座,还饶有兴趣地"旁听"了一节"数据结构"课程,我也协助侯老师翻译了《C++ Primer》等书籍。无论是什么形式的交流,侯老师总像个稍微年长的朋友,风趣平和,而且十分乐意把本身的感悟和经验与人分享,这种宝贵的态度正是我以侯老师为目标须要继续学习的地方。

生活须要忘年交

我把年龄相差12~15岁以上并成为朋友的人称为忘年交,基本上指的是与不是同一时代的人交往作朋友。我把与年长于己者交往称为上行忘年交,与年幼于己者交往称为下行忘年交。

忘年交的价值我称之为"纵向经验突破"。咱们通常人多与同年横向交流经验(一般那是最为人乐于或者天然接受的一种模式),而与上辈和下辈之间缺少天然、平等、放松、随意的交流。这是代际的天然差异效应,同时也致使了代际分隔与冲突。忘年交则在心理上接受与本身有显著年龄差别者为平等的交往对象,从而改变了双方间经验、信息、知识的差距,增大了交流的信息量并提升了双方对彼此意见的承认度,于是显著地减小了矛盾。除此以外,忘年交还增长了对交往对象产生代际文化影响的可能性,冲淡了代沟色彩。

忘年交提出了一个跨代学习模式的问题。忘年交的数量与水平,在必定程度上的确是我的纵向学习能力的一个重要标志,也是我的亲和性与表现魅力的重要指标。

求职之路 定调:结合兴趣,目标明确,准备充分,一举中的

再来谈谈个人求职过程。从第一次面试,到选定工做Offer,先后只有短短四个多月的时间。可是为了获得本身喜欢的工做,我从确立兴趣方向、进行各类准备到应对面试、最后选择职业发展道路,付出的时间和精力比这要多出许多。

确立求职目标:IT业的产品经理和管理咨询业的分析师

整个求职过程当中,我一共只投了十家公司:谷歌(产品经理)、微软(项目经理)和百度(工程师),六家管理咨询公司及中国移动(产品设计岗)。在年后才拿到最终Offer的同窗中,这算是很是少了,主要缘由是我在求职季节到来以前就立下了明确的求职目标,即IT业的产品经理和管理咨询业的分析师,而且针对这个目标进行了充分准备。

为求职目标作好各类准备

针对不一样的职位,我分别作了不一样的准备。

1. 针对技术职位

1 越早准备越好。我在面试的半年前就开始作知识回顾和储备。

2 复习基础知识,主要包括:算法、数据结构、操做系统、体系结构等。此外,对于互联网公司离不开的网络以及分布式系统的相关知识,我也会特别关注。

3 复习的方法。

a. 回顾基本理论;

b. 动手写代码,尤为是基本的数据结构和相关算法,必定要动手写出来并编译经过。缘由是,一来面试经常会面试到基本数据结构的细节,或者从基本数据结构出发,要求作出改进以知足一些特殊条件;二来即便如删除链表头节点这样简单得不能再简单的操做,若是不熟悉,在实现上也容易发生错误。

推荐阅读:《编程之美--微软技术面试心得》。若是能把这本书里一些题目的前因后果搞清楚,面试数据结构和算法方面的题目时会有更强的底气。

c. 要关心实际系统。《程序员》杂志和CSDN网站常常会有实际的大型网站架构分析文章,关注这样的实际系统可以加深对分布式大型系统的理解,对于面试颇有帮助。据说博文视点会组织出版系列大型网站架构分析方面的图书,值得关注。

2. 针对产品经理职位

相对技术类"靠硬本事吃饭"的职位,产品经理的评估指标更加软性一些,相对也不容易特别有针对性地准备。我作的准备主要包括:了解IT产品经理的工做,加强对产品和行业的了解,锻炼逻辑思惟能力,提高英语听力与口语水平。

去微软实习,切身了解IT产品经理的工做,肯定本身的选择。

当我开始考虑本身适合作程序员、产品经理,仍是项目经理时,我对PM的了解还仅限于师兄们口口相传的一些"轶事"。为此我申请了微软Office 部门的项目经理实习,亲身体验了PM的工做。与工程师的工做相比,PM的工做须要面对更多的不肯定性和模糊性,如何将模糊而不肯定的事情制定成明确的目标,这是PM工做中最具备挑战性和最有趣的地方。个人工做是协助提升一个SDK产品的可用性,首先须要决定如何度量和测定可用性。为了解决这个问题,我查阅了大量的资料,并和微软的多位专家进行了屡次沟通和交流,最后成功地完成了任务。在这个过程当中,我曾由于彻底没有头绪而压抑苦恼,但找到合适的解决方案给我带来的快乐和成就感更大,让我在工程师和 PM职位之间作出了明确的选择。

本身给本身一次次出题模拟面试,加强对产品和行业的了解。

申请产品经理的职位天然要对产品和行业很是了解,为此我很早就开始普遍地关注和尝试新的互联网产品。我关心的产品不只包括谷歌、雅虎等互联网巨头的大部分服务,还从TechCrunchWired等网站上了解到硅谷最新的产品和服务。固然,了解只是第一步,以后我会花更多的精力来思考不少问题,好比:这个新产品解决了什么问题,这个问题之前是否存在,是对全部人都存在仍是只针对部分用户,如何发现这个问题,还有什么问题没有解决,等等。这样的思考过程有时候很艰难,可是每一次思考都是对本身的磨练,也至关于一次模拟面试。

经过准备咨询业的案例面试训练逻辑思惟,尤为是结构化思惟。

逻辑思惟的训练是在准备咨询业的案例面试中得到的副产品。咨询行业是以观察和推理来得出问题解决方案的行业,对逻辑严密性要求很高,多了解一些相关的知识和方法,可以帮助咱们训练思惟和表达。例如,咨询行业经常使用的框架,如4C4P等,有助于咱们造成结构化的思惟模式;而根据其更重要的分析原则,如MECE(不重复,不遗漏),则能让咱们脱离框架的机械化思路,根据实际问题进行有条不紊、逻辑严密的分析和论述。

坚持长期训练,坚持有针对性的训练,闯过英语关。

对于外企中须要与人大量沟通的职位,英语过重要了。没有顺畅的理解和较为流利的表达,很难想象我能顺利经过七轮以英语为母语的考官的面试。英语的训练是个长期的过程,但若是找一个水平较高的语伴坚持彻底用英语交流,加上有针对性的练习(好比,用英语回答我上面提到的关于产品的问题),在较短期内达到英语面试要求的水平是颇有可能的。

简历不是写出来的,是改出来的

好的简历:形式上美观大方,清晰明了;内容上充实有料,主次分明,针对性强。

1. 如何解决形式问题

使用合适的模板。模板只有一份,可是,针对不一样的职位及我的经历,应该对模板进行适当地修改,使之适合目标职位的具体要求。好比:

1 针对IT职位,能够将"工做经验"换成"实习经历""项目经历"

2 "我的信息"换成"职业技能",填写本身熟悉的计算机语言和得到的认证,等等。

3 要申请外企经管类的职位,"课外活动""交流活动"则是必不可少的要点。

另外,每一个人的状况不一样,要根据本身的经历和特色来修改简历模板。例如,学术上成果比较多的,能够单独加一项"专利论文",而获奖学金奖励多的,也能够单列出来以突出。

2. 如何解决内容问题

简历更重要的是内容。

1 内容要能体现求职者的能力和经历,知足目标职位的须要。这就要求咱们仔细地挖掘相关的经历,并加以适当的总结和提高,最后用书面化的语言表达出来。

2 内容应该能反映出做者训练有素的逻辑思惟。注意:一段经历须要有三到四个要点来支持,重要的就在于如何选择几个要点的内容,以及如何对它们进行排序。通常而言,能够选择以下两种策略:

a. 第一种,首先简明扼要地说明是一段什么经历,而后用一到两个要点来讲明本身(注意!不是项目组)具体完成了哪些工做,最后一个要点说明工做效果或本身的收获。

b. 第二种,对于事情多且杂的经历,应该选取最具备表明性的事务,按照其重要性递减的次序分别描述出来。

即便针对同一类型的职位,个人简历先后通过不下数十次修改,小到把中文逗号改成英文逗号,大到增删一段我的经历,目的只是为了使得简历更加符合雇主的须要,顺利经过求职第一关。

个人面试故事

第一回  面试百度︱研发工程师

9月底,个人第一次面试是应聘百度Web新产品部门的工程师。

当天共面试了两轮,一周后加一轮经理面以后就顺利拿到了Offer。百度的技术面试一贯难度不小,但幸运的是,一面的面试官虽然年轻,却颇有面试经验。他从几个简单的问题开始入手,逐渐加大问题难度,给了我充分的时间来给大脑热身。

【剧透与面经】

该部门的面试题特色:跟实际系统结合得很紧,分布式系统的题目不少。因为热身充分,等到真正的难题出现的时候,我已经可以放松紧张的神经,全力思考问题的各类解决方案,评估方案的优劣,并试图优化方案,比较顺利地解决了大部分问题--这也告诉咱们,赶上一个有经验的面试官是多么的重要。成功的面试是考官和被面试者双方共同的成功!面试官也很满意,咨询个人意见后,直接叫来另外一位工程师进行第二次面试。

值得一提的是最后的经理面,提的第一个问题居然是:"你在前面面试中有哪题没回答上来,回去后是否思考了,答案是怎样?"这题看似没有问新的问题,但它直接考察了求职者是否具备积极学习和孜孜求解的态度,若是抱着考完拉倒的心态,估计很难让这位经理满意。

技术面试中很难保证不碰到难题,在不能当即回答出最优答案的时候,须要使用一些面试技巧来应对。个人经验是分四步走,即理解题目、原始算法、优化算法、复杂度/ 性能分析。首先要确认问题的细节,经过跟面试官的沟通来完全理解题目要求和限制条件等。而后,在最短的时间内提出本身的原始算法,并进行计算复杂度分析,若是是系统设计,则进行系统性能以及优缺点分析。通常来讲,原始算法很容易想到,但几乎不是考官须要考察的最优解。所以,应该利用理解题目和描述原始算法的时间,脑子里积极开动脑筋,经过联想相似的系统或问题的解决思路,快速造成优化算法的基本思路。在提出优化算法以后,还应进行复杂度和性能评估。

第二回  微软︱项目经理

11月下旬,我参加了微软MBDC部门Office组的项目经理面试。因为在微软作过项目经理实习生,所以我熟悉公司对PM的要求,所以面试得比较顺利,一个下午连续接受四位项目经理的面试,大约耗时五小时。

【剧透与面经】

面试主要围绕着产品设计和项目管理展开,考察应聘者是否具有开阔的思路、对产品开发流程是否理解及对产品进度是否可以掌控。例如,有一位面试官问到了如何对待产品Bug的问题。这个问题考察你是否理解Bug解决的代价、可能带来的风险,以及在不一样的产品开发阶段应对Bug的不一样方式。若是简单地回答解决Bug,那说明对产品开发的经验和理解太过欠缺,也说明思考问题不够全面,不适合这个职位。就我看来,这些要求,偏偏体现了微软做为全世界软件(狭义的软件,区别于互联网等)业老大所最擅长和最看重的特质:稳定压倒一切。

第三回  谷歌︱助理产品经理

从去年10月份到今年1月份的四个月期间,我参加了谷歌助理产品经理的职位申请。产品经理是谷歌一个很是特殊的角色,一个产品除了开发和测试以外的事情,基本都由产品经理主导。其中最重要也是最使人激动的是产品功能设计,也就是说,你对产品功能的任何合理的想法,均可以在产品经理这个平台上获得实现,最终被全球数以亿计的网民使用,改变他们的生活!这样的影响力是吸引个人最主要缘由。另外,足够大的学习平台、世界水准的开发团队和优良的工做环境与待遇,也使我心向往之。

【剧透与面经】

助理产品经理是面向工做经验两年如下的产品经理申请者的一个为期两年的培训生计划,工做内容与产品经理基本同样。也因为产品经理的重要性,谷歌这个职位的招聘流程很是之长,前后面试过个人人一共超过10人次,面试官涵盖了从普通产品经理到负责搜索产品与用户体验的全球副总裁,因此,须要获得自上而下各个层级的同事的承认,才能拿到这个工做机会。

在面试过程当中,面试官既考查了产品具体特性、设计能力及对技术的了解,也看重创造性、个性,以及对产品和行业的理解。既有比较细节的产品设计问题,又有一些与产品设计、与互联网、与软件甚至与IT业都彻底无关的问题,但这些开放性问题却能考察求职者的个性、逻辑思惟与表达、创新性,以及对互联网领域的理解。

兴趣是我全身心工做的基础

对很多人来讲,第一份工做可能就决定了之后的职业发展道路和生活方式。所以,选择目标职位和Offer其实比面试更为重要。

对比工程师和PM实习经历,我发现了本身的以下特色:

喜欢作较高层的思考胜于具体实现,相对于不少技术天才关心"怎么作"并从中得到极大知足,带给我更多快乐是"作什么"的问题;

IT新产品、新特性有着莫大的兴趣;

经常换位思考,试图从管理层、开发者和用户等不一样角度来看待一个产品;

在技术工程师中具备沟通优点,在管理人员中具备技术优点。

这样,我发现了本身的兴趣和"比较优点"--也就是个人蓝海,同时也就明确了本身的求职目标。这些结论若非经过亲身体验,是很难从别人口中获得的。另外,不一样公司的PM职位性质和内容都不尽相同,所以我会经过搜索引擎详细地了解我关心的公司对PM的要求,并从中选择本身最适合的职位。

选择Offer的时候,在管理咨询师和产品经理之间,我考虑的因素主要包括如下(按重要性降序):

我的兴趣;

学习发展机会;

平台及其影响力;

生活方式和待遇。

第一重要的是兴趣,对我来讲,兴趣是我全身心工做的基础,也是成功的必要条件。

我很看重薪水和生活方式,但我没有把它放在第二重要的位置上,由于我更看重的是五年后、十年后的薪水,而不是起薪。有一位师兄跟我说过,对于事业起步的年轻人而言,决定将来薪水的,就是你能在这份工做中学到什么,以及拥有这份工做后你能积累什么做为之后的资本。我很是认同这样的看法。所以,我把学习和发展的机会放在了仅次于我的兴趣的位置上。

企业是我的发展的最主要平台。平台的好坏不只由其大小决定,也在于我的是否适合平台的总体文化和氛围。即便在同一行业中,不一样公司的文化差别也是很大的。谷歌相对宽松的氛围和鼓励创新的文化正是我所追求的,我相信这样的文化可以有助于我发挥潜能。

结语:骑单车快乐向前

回顾本身大学本科和研究生的七年,不一样的阶段有着不一样的目标。无论是学习基础、钻研技术仍是找工做,当本身的方向与目标存在误差,或者向着目标前进的速度不理想时,我总会千方百计地拷问自身,从朋友身上得到经验,对本身作出调整,而后避开弯路,更加接近本身的目标。工做以后是一个新的起点,有着新的目标,我但愿本身可以继续适应新的环境,也但愿全部看到这个故事的朋友都能在学习、生活中不断地校订本身的方向,骑上单车快乐地向前。

 

4、唐雅薇 再难也要向前爬

等待阳光静静看着它的脸

重重的壳挂着轻轻的仰望

让风吹干流过的泪和汗

总有一天我要属于个人天

--周杰伦《蜗牛》

引子:我是普通女生

首先要说明两点:我是女生,我不是牛人。引用一个朋友的签名档:"用了20多年,生活只告诉了我一件事情:我只是一个智商正常、耐力通常、身体凑合、相貌平平的最通常的人。"

本科四年 定调:把握本身,向往外面的世界

我本科来自中国地质大学(武汉),学习的是地理信息系统专业。算是勉强能和计算机够得着一点边儿吧。

前传:一直都是乖乖女

其实我打小就不太擅长学习理科,在我念高中的时候,个人语文,地理、历史学得特别好,而数学、物理、化学老是让我以为很头大。我当时以为,就这么一直把文科学下去是一件多么理所固然的事情啊。眨眼到了文理科分班,按照个人兴趣,我很是但愿选择文科做为个人起点,可是家里的亲戚们据说了要分文理科,就轮番打电话给我,对我进行了一番规劝,言语各不相同,但整体思想就是:"学理科我会后悔三年,学文科我将后悔一生"。我是一个典型的乖乖女,虽然内心不肯意,但我想,长辈们走过的路比我走过的桥还多,听他们的话总归是没错的,因此最终选择了理科。分班后第一次班级报到,几个要好的姐妹看见我惊讶极了,对我说:"唐雅薇,你怎么来理科班了?咱们都觉得你选的是文科呢!你的文科学得那么好!"面对她们,我也只是笑笑,什么都没说。

接受家里的安排也不是第一次了,又有什么好说的呢?那个时候的我,是一个不太有主见的人。就这样,我带着强烈的抗拒而又迷茫的心理开始了个人理科生涯。三年后,我勉强考上了大学,再一次面临了专业的选择。本科的专业也是我父母选的,理由是:"打听过了,这个专业好。"听着父母的话,我也就是跟着点点头。至于更具体的,好比:"什么是地理信息系统?""地理占多大比例,信息系统又占多少比例?""这个专业好在哪里?"我一律不知,至于和IT的关系,更是一点概念没有了。这个专业对我惟一的一个意义就是:我又据说了一个没听过的名词,并且,它将成为个人职业起步。

初入大学:努力追赶,我只比大家慢三年

高考的失败把我一棒子打醒了,我以为本身不该该再像高中那样浑浑噩噩下去,既然已经走到了理科的阵营,就没有回头路了,至少在短期内是没有了。难道一直这样抗拒下去吗?我想,即便是理科的内容,也应该能学得更好吧,并且,这已经不是高中了,如今的专业是我未来的饭碗啊!因而我下定决心开始好好学习。在同窗们轰轰烈烈地投入到美好的大学生活的时候,我则在教室里恶补着各种基础知识。通过一年的恶补,我终于跟上了大学班上同窗的脚步,同时也终于明白了我这个专业究竟是干什么的,以及它和计算机的关系。

或许你们会问,你这不是至关因而科班出身嘛。坦率地说,我本科学习的专业课程是至关杂的,制图、计算机、软件、GPSRS,甚至是测量,各种和GIS沾边的专业课都要学。因此这个专业真正和计算机相关的内容只占计算机系课程的不多一部分,不精,也不深。像软件工程、体系结构、编译原理、算法,这些就更接触不到了。

虽然学习的内容很杂,可是我仍是对这个专业持有必定的兴趣,而且,我不但愿本身再次成为班级的尾巴,因此一直很是认真地在学习,说出来可能你们不会相信,我大学没有逃过一节课,做业都是本身作。而这一切最原始的动机是:我深知本身基础太差,其余同窗已经获取的知识,我没有,其余同窗能够自学的知识,我不能。

大二的时候,我参加了许多社团活动,认识了不少牛人,他们会常常在我面前畅谈本身的理想和抱负,以及对将来生活的种种期待。听着他们高谈阔论,看着他们自信的眼神,我意识到,本身的世界实在是太窄了。就在那一年,我给本身定下了一个目标:无论用什么方式,无论付出多少努力,我必定要走出去看一看外面的世界,我要和他们同样,活得畅快而精彩。

考研•读研 定调:起初迷茫,但思考之门已开,行动更加迅速

放弃保研:我要本身作主

大四上学期,我得到了一个保送本校的名额。父母和亲戚知道后开心极了,纷纷打电话来向我祝贺。而我却怎么也开心不起来。我已经不是高中的我了,在大学的四年,我亲眼目击别人活得多么精彩,反观本身,以为很不甘心。我是高校子弟,从小到大都在这个学校,一旦保研,接下来极可能是在本校读博,而后留校、教书,就此在这个学校待一生。诚然,成为一名大学老师,在不少人眼里是一个至关好的归属,家人也这么认为。但是往往想起我将在这里窝一生的时候,个人内心别提多难受了。

我不想过这样的生活!我要作出本身的选择!通过一番慎重思考,我告诉家人我决定放弃保研,本身考。他们听到后惊讶极了,因而家里又上演了我高中文理分班那年的电话攻守战场景。只是这一次个人态度十分坚定。妈妈很担忧,但我告诉她:"失败,也是个人选择,若是失败了,我就去工做。我真的不想再待在这个院子里了。"

个人志愿是武汉大学的一个重点实验室,武汉大学是名校,我想,在名校生活,我就是睡着觉也必定能够进步。尽管我努力复习,可是那一年我所填报的招录单位名额骤然减小了不少,分数线陡然提升,我果真如我妈所言,失败了。

考研失利,调剂不放弃:去名校学习,睡觉也能进步

考研失败后,我据说北京大学软件与微电子学院在招收调剂生,条件是只发单证(只有学位证,没有毕业证)。思考了好久,我决定去试试看。当家里据说只发一个证的时候,又是一阵"腥风血雨"。由于在此以前,我得到了北京另外一个学校(不是特别有名)的调剂名额,双证齐全,学费低廉,还有补助。家里以为,做为一个女孩子,仍是各类证件齐全一些比较好,等到须要的时候才不会手忙脚乱。但是当时的我却不这么认为。我以为,双证齐全是很重要,可是为了一个研究生证去一个我不喜欢的地方待三年,这样的代价是否是太大了?我不要为了一个证而去念书。并且,我一直以为,在名校生活,我就是睡着觉也必定能够进步。和那么多的优秀人才一同窗习,这是多么吸引个人事情!并且我还能够转双嘛!要是成功了,不就是两证齐全了吗?

带着赌一把的心情,我来到了软院。开始了一个崭新的旅程。

刚来这里我就面临了很现实的问题:专业背景不符。我调剂过来的专业是软件工程,主修软件开发。不是我想要放弃原来的专业,而是实在没有多少选择空间。我本来觉得本身也算是半个IT人了,应该可以对付这些事情,可是来了以后才发现,和那些从文科专业调剂过来的纯跨专业的人比,我也只是比他们多知道些C语言和数据结构的基础知识,并且我也只是个半吊子。真正的IT世界,我只是刚刚打开一道门而已,可能连门都没打开,只是抠开了一个门缝,从缝里向IT世界里瞅了瞅。

也正是因为这个缘由,刚开始的第一年显得尤其艰难。咱们的课业任务很重,老师上课的时候会缺省认为学生学过"编译原理",学过"软件体系结构",可是这些专业课我并无学过,只好私下里恶补。那会儿每一个人还要承担课程项目,给我恶补的时间少而又少,因此压力很大。并且软件学院身处大兴,是一个偏僻的小角落,原本就没有什么丰富的业余生活,而身边的同窗们又无时无刻地谈论技术,这让我以为很受不了,而更让我以为难受的是,同窗们讨论的技术话题大部分我都听不懂,在他们面前,我就是个完全的外行。同时在第一年,我还在转双,天天奔波在课堂和自习教室之间,在恶补计算机知识的同时还要时刻保持着对研究生考试内容的温度……

但这些并非让我以为最难熬的地方。随着对IT行业了解的深刻,我发现我对IT行业没什么感受,我不讨厌它,但仅此而已,并无达到那种很热爱的程度。我开始对个人将来感到至关的迷茫,这让我很是苦恼。继续之前的专业已经不太现实了,可是,做为一个女生,我在IT领域的优点是什么?做为女孩子,如何在IT领域更好的发挥本身的优点?这些我并不清楚。

可是对于要不要入行,入行之后怎么办,我有些本身的思考。

1. 对于跨专业入行的同窗,请问本身几个问题:

1)我真的了解这个行业吗?这个行业值得我放弃原来的专业吗?

2)我之后想成为怎样的人?这个新的行业真能帮助我成为这样的人吗?

2. 若是已经入行,仍是应该将技术自己掌握得牢一些。只要还在IT混,技术这道关是绕不开的。你能够作的也不少,例如选课的时候,多咨询师兄师姐,并结合本身的须要来选,这样才不会花冤枉钱。

我是一个目标驱动型的人,一旦目标明确,认准某种事情,会一直努力下去从而达到目标,可是对本身怀疑的东西,就不会那么有动力。因此在这三重压力下,我转双失败了。可是因为不少师兄师姐都跟我说单双证差异不大,所以我也没有过于在乎。天天的生活仍是上课、学习,对于本硕专业不一样的鸿沟,我也是本着"既学之则好之"的原则,尽我最大的努力去填平。可是,我未来能干什么?怎么才能从事到能发挥我特长的职业?对于这些问题,我一直没有中止过思考。

实习之门 定调:有泪有欢笑,心智更成熟

我和IBM的三次邂逅

--想说爱你不容易

第一次邂逅

仓促的实习准备

已是4月份了。同屋两个女孩接连拿到了不错的Offer。当时的我原本就对本身的能力充满了各类各样的怀疑,如今看到同屋的姐妹们都顺利找到了实习,我开始着急了。在这种错误的焦虑心态下,我一通狂投,但回音寥寥。我愈加以为压力大了,投简历比之前更加疯狂了,到最后几乎是个实习就投。没有任何调查,没有任何考虑。在这种焦虑心态下,我对简历自己也没有下太多功夫,显然,这样是没什么结果的。

8月初,我得知IBM中国研究院的一个项目组在招实习生,因而我投了简历。几天以后我获得了面试通知。拿到面试通知后,我疯狂地复习了两个星期,内心至关紧张。同时,我还咨询了好些已经拿到Offer的同窗,当时全部人都跟我说面试IBM很容易,谈谈项目一个小时很快就过去了,不会很难。听了他们的话,我内心有了底。

预料以外的面试

面试那天我精神饱满地踏进了IBM的大门。面试官至关和蔼。我掏出了简历,内心暗自酝酿着该重点介绍哪一个项目。可还没来得及给他,他就递给我一张纸,对我说:"把上面的算法作了吧,上机实现。我给你两个小时的时间。"我当时就愣在那里了,我在内心预想过千万次面试的场景,但是万万没有想到会是这样的。好像其余同窗找实习的时候不多有上机的呀。可是既然已经来了,就硬着头皮上吧。

但是真正坐在电脑前的时候个人大脑仍是一片空白。后来我实在是急得不行了,就偷偷给GG打电话。他安慰我说,这会儿千万不能紧张,你要是作不出来,能够给面试官讲思路,不少面试官看中的是解题思路而不是编程的结果。听了他的话,我定了定神,回到了机器旁边。两个小时后,我就和面试官说了说解题的思路,给他看了看个人代码,看上去他还挺满意的。

在经历了两个星期漫长的煎熬等待后,我终于等来了IBM的实习Offer,拿到Offer的时候我至关兴奋,由于这或多或少证实了个人能力。个人自信心获得了极大的提升。

高兴归高兴,可是对于这份实习自己,我是至关"稀里糊涂"的,彻底不知道那个组干的什么事、用的什么技术、Mentor带实习生的风格如何……种种关于这份实习的实质性的内容,我一律不知。当时的我也根本没有意识去调查,只是以为本身好不容易找到实习了,必定要抓住机会。

被动的实习过程

在盲目的开心中,我带着种种美好的憧憬开开心心地入职了。个人Mentor并非面试个人人。简单的自我介绍后,她把我带到一个会议室,拿出一张纸说,你的任务就是把这个算法实现了,咱们要用在咱们的系统里。我接过纸,一头扎进Lab开始钻研,心想必定要好好写,开个好头,给Mentor一个好印象。因为算法和系统很是复杂,并且我对系统的其余部分不了解,也没有文档说明,因而花了三天把算法完成(包括调试),可是Mentor仍是责怪我花的时间过久了。当时的我以为很委屈,但我想,本身来实习就是学东西的,Mentor说我作得慢了就必定有她的道理,我仍是要虚心接受才行。

后来我才发现,个人Mentor是一个完美主义者,凡事求好,并且越快越好,这样的带人风格对于菜鸟级的我来讲,显然是不合适的。我后来又作了几个小项目,所用的技术是我彻底不熟悉的,有的连听都没听过。Mentor是个智商很是高的人,但她习惯以她的标准来衡量我,给个人学习时间一般不多。我初入职场,表现得战战兢兢,明知时间不够也不敢说,一般是硬着头皮就开始作了。原本领域知识就薄弱,项目的前期学习又严重不足,结果开发时间老是不够,天天工做都很辛苦,干到夜里12点多,早晨7点刚过又爬起来上班了。但比起辛苦,最难受的是干得被动,这种被动又致使Mentor对个人不满,施加的压力也愈加大了。虽然最后项目作出来了,本身也以为项目作的还不错,可是Mentor就是以为我作得很差,以为代码质量不高,以为慢。在这样的状况下,我逐渐达到了心理和生理崩溃的边缘。三个月后,我决定离职了。

我哭:第一次实习失败了

就在我准备向Mentor提出离职申请的时候,Mentor主动找我谈话了。那天,她把我叫到一个小会议室,对我说:"唐雅薇,你回去把项目的文档好好写一下,而后看看有没有别的实习机会吧。"我愣了,这不就是宣布我下岗吗,听了她的话,我什么都没说,Mentor见我没大的反应,就出去了。她前脚刚离开会议室,我就开始嚎啕大哭,连日来的辛苦、被动、压抑……各种委屈一块儿涌上心头。

哭完以后,我回到Lab写了文档,而后收拾了一下,回到学校。

第二次邂逅

回到学校后,我十分沮丧也感受到十分丢脸,开始从新质疑本身的IT能力。就这样在宿舍颓废了两个星期,一份新简历都没投。一方面我想休息一下,另外一方面,我实在是失去了再战的勇气。两周以后,我以为不能再这么颓废下去了。我对本身说:"再给本身一个机会吧,试一试,勇敢点。"因而,我又从新开始了寻找实习的旅程。

一样的失败,我决不让它重来

吃一堑长一智,这一次我没有急着投递简历,而是仔细回顾了第一份实习的经历。那会儿我最大的感触就是"被动",这种"被动"当然和Mentor的性格有着不可分割的联系,但我本身也要负至关一部分的责任。对于这份实习,我没有作任何的调研就去了,感不感兴趣倒先不提,甚至连是否适合本身都没有弄清楚。学习的东西和本身所擅长的严重不符,学习起来又发现没有多大的兴趣,更不懂得勇敢地为本身争取多一些的学习时间,这些都是个人失败之处。

这些失败,我决不让它再重来一次

新一轮的实习简历投递以前,我重点关注了所招职位的技术要求和项目介绍。不巧的是,我这回投实习是在青黄不接的时候,大公司开放的职位很是少,因此,连着大半个月,我都没有找到实习,不过因为经历过一次失败的实习,我已经感觉到了着急的代价,因此当时心态还好

我笑:自信回来了

某天,一个同窗告诉我IBM CRL的另外一个组在招实习生,要求有地理信息系统和软件开发的背景。我以为有些别扭。可是,现阶段没有多少实习机会,像这种比较适合个人更是少而又少。我说服本身说,为何不先去试一下呢?因而在详细了解了那个组的状况,并对简历进行了修改以后,我投递了简历。一番面试以后,我获得了这个实习机会。我内心很犹豫,一方面,我不知道如何面对原来的Mentor,另外一方面,我实在是以为这是个很好的机会。我想,我不可以再逃避了。因而,收拾了一下心情,我去上班了。

新的座位仍是在原来的Lab里,刚来的头几个星期,我都躲在个人小角落默默编程,生怕被原来的Mentor看见,直到后来她发现了我。咱们友善地打了招呼。忽然间我以为,从前的不愉快都已通过去了。

新的实习因为比较符合个人背景,干起来一点不被动。因为专业相关,即便是学习新的技术,概念的共通性也使我不以为学习新东西的过程很吃力,加班的现象天然少了不少。新组的氛围也很好,同事之间关系很融洽。

这份实习一共持续了近七个月。失去的自信也慢慢地回来了。

两次出入CRL,我认识到无论干什么,必定要找适合本身的东西,对要干的事情要全部了解,才不容易被动。不过这也有必定的坏处,特别是在实习期。实习的主要目的是学习,若是老是作本身擅长的事情,就容易把技术限制在一个范围内,对拓展视野不利。可是,只凭激情去挑战本身的不熟悉的领域,也不是特别好,还要讲究技巧才是。个人第一次CRL之旅就给出了惨败的例子。

第三次邂逅

我以为缘分是一种很奇妙的东西,它老是在不经意之间显示出它的力量。至少在实习结束以后,我觉得我和IBM缘分就此止步,但事实远非如此。

20089月,我开始了求职之路。12月中旬,因为我的缘由,我最终将求职目标转移到上海。可我一直没投过上海的职位,而此时招聘的黄金时期早已过去。

说到这里,不得不提到软院的优点。软院鼓励你们实习,而同窗们实习的单位五花八门,大部分的主流公司里面都有咱们的师兄弟,这样,咱们能够从内部得到第一手的招聘信息,同时,还能够经过他们打听到招聘职位的基本信息。

因而,我开始在同窗们之间打听上海公司空缺的职位。一个同窗告诉我上海IBM最近开放了一个名额,问我是否有兴趣。因为时间紧迫,我大概了解了一下状况就请同窗推荐了。过了几天,那个部门和我预定了电面的时间。

面对面,让我拿到这个Offer

此次电面是我经历过的最正规的一次电面,电话那头有三我的,各自负责了不一样的部分,他们的问题主要从简历出发,而后根据一个点逐渐深刻。过了几天,上海IBM的电话又打进来了。HR说,能够有两种方法继续下面的环节,一是继续电面,二是我亲自去上海跑一趟,我想了想,选择了后者。我不是随便作出这样的选择的,以前的一个姐妹告诉我说,他们公司之前电面过一个外地学校的大牛,实力很是强,一至三面虽然都是电面,但倒是一路绿灯,可是Manager面试给否了,Manager给出的理由是:"No show"

我心想,面对面能够让Manager对我有直观的认识,并且在尴尬的时候至少能够笑一笑缓和睦氛嘛……因此仍是亲自去一趟比较好。只是开销大点,不过能用小钱解决的问题都不是问题,拿到Offer才是王道。

或许是心理状态比较好,加上以前积累了不少面试的经验,再或许是我亲自出现的行为也给本身加了分,整个面试的过程都很顺畅,上午开始面试,中午就给我发了Offer

在发Offer的时候,Manager问我会不会拒掉这个Offer,我并无给她一个确定的答复。由于个人内心有犹豫,并非由于怕如今签了,之后会失去更好的机会,而是由于那会儿我并不十分清楚这个组是干什么的,我怕重蹈覆辙,再犯第一次实习的错误。回来后的一个星期内,我全部的工做是经过各类渠道了解这个组,获得的结论是:这个组还不错。我在这里能够锻炼交流能力,也能够看到产品全貌,还能够锻炼开发能力,这些技能都符合个人职业规划。

至此,个人找工做历程也就尘埃落定,我和IBM也缔结了更加长久的缘分。

个人实习心得

实习的时机。实习密集期集中在456月份,暑期实习,4月份之前比较少,11月、12月会有一次,而8910月份不会有太多实习机会。

实习的方向。建议多找工程性的实习项目。虽然这些地方很难有机会看到所谓的"将来的技术,思想的火花",可是这里能练到扎实的基本功。

实习怎么作。实习的时候不能只凭激情,刚去的时候你们都有激情,这时靠的是踏实和认真思考。等到你们干累的时候,这时拼的才是激情。有困难要及时提出来,不要怕。惧怕的后果只是让本身愈来愈被动。

求职之路  定调:不打无准备之仗,但准备仍是不足

找准我的定位:迈出求职第一步

不得不提的是我找工做的经历。尤为是在金融危机的大环境下。

9月份,摩根的宣讲会宣告了我找工做历程的开始。摩根的宣讲会至关不错,听了以后我就告诉本身必定要加入好公司。不过无论加入什么样的公司,投简历始终是第一步。

有人说,找工做要海投简历,以增长命中率。我又想起第一次找实习的时候,就是由于海投,没有针对性,才落得个失败而归的下场。一个朋友告诉我,找工做就如同婚姻,必定要找到适合本身的,千万不能海投,到时候一个你不喜欢的公司给了你Offer并且还逼签,你喜欢的公司又迟迟没有回音,这个时候是签仍是不签呢?与其那个时候痛苦,不如从一开始就选择好目标。并且,找工做和实习不一样,实习不喜欢能够走人,可是工做是不行的。可见海投并很差。但是投什么好呢?一个简单的答案是:选择本身喜欢的,选择适合本身的。

答案简单,但现实中却没那么容易。相信不少同窗都和我同样,并不清楚本身真正喜欢什么。第一份实习结束后,我曾认真思考过本身的将来,研一时对本身女生角色定位的迷茫又从新回来了。那会儿在求职网站上看到的职位只有开发、测试,还有一些则是搞研究,我当时就想,当研究员哪是我干的活呀。不过我又能干什么呢?难道我要写一生Code吗?这是我想要的生活吗?本身的职业道路究竟该怎么走?没想清楚这些问题,我不敢贸然投递简历。不是不敢尝试,也不是惧怕试错,只是我以为,人的精力有限,校园招聘的机会又是如此宝贵,我不能够把有限的精力浪费在无心义的职位上。

调研很重要:确立大方向

在修改简历的时候,我忽然回想起本身曾经在一门课的小组项目中扮演PM的角色,并率领小组拿到了第一名。这里的PM,到底是不是一个我能够走的方向呢?因而,我开始对PM这个职位进行调研,由于我发现,每一个公司对于PM的需求、职责都有区别,有些我喜欢,有些我则没太大感受。在调研中,我尽可能去了解每一个公司的PM的定义,了解各种PM对技术能力的要求程度,以及对沟通能力的要求。

一番调研以后,我内心有底了。我开始对我要投递的公司和职位进行类别划分,并分析了优缺点:

 

 

划分好以后,我开始给每一个职位作记录,并就每一个职位分别写简历。就这样,我投递了个人第一批简历。事实证实,个人这些前期调研和有针对性的修改颇有效。个人简历经过率很高,只要是本身研究调查过的职位,基本都有回音。

虽然内心大体肯定了PM为本身的一个发展方向,但总仍是以为有些不踏实,思前想后,我才发现,我对本身的这个发展方向其实想得并不透彻,好比:我究竟有哪些特长符合这个方向?除了这个方向,个人特长是否能够带领我走到别的发展道路上?如何将特长更好地和个人技术背景结合起来?若是选择了一个方向,将来会是怎样的?这些我都不是太清楚。

在这里,我要感激一我的,她是微软的郭蓓菁女士,是她回答了我内心最后的疑问。

将来会怎样:与郭蓓菁女士的亲密接触

我去参加微软"2009校园招聘宣讲会"时,看到海报上关于郭蓓菁女士的文章。她是微软资深PM,她的魅力在于,她干任何事情都目标明确,并且事业和家庭生活有着很好的平衡。

另外,在这篇文章里她讲了怎样才能成为一个好PM,都有什么素质要求。看了这些文字,我当时就以为有人在个人脑子里拍了一下。醒了!宣讲会一结束。我就往讲台冲,拦住了正欲离去的郭蓓菁。我告诉了她个人苦恼,问她以为女生在IT行业的优点是什么。她说,女生沟通能力好,表达能力一般也很强,适合PM的职位。我告诉她,我想作PM,可是今年光景很差,竞争很激烈,我若是成为不了PM怎么办?郭蓓菁笑了笑,回答我说:你在找工做的时候找一些比较包容的公司,去了后就和Mentor谈职业规划,让他帮你安排一些适合这个目标的工做,虽然可能久一些,可是能够"曲线救国",能够达到你的目标。

女士的话仿佛给我点了一盏灯,我心中的疑惑被解开了。

通过此次宣讲会,个人目标更明确了。我调动了一切能够调动的资源:在互联网上查找、在同窗之间询问。我知道本身已经开始走入正轨了,我开始相信本身在IT业也能够活得精彩。

个人面试故事

第一次面试--Micro Strategy

经历了一系列的思考,虽然我知道了女生能干什么,而且如今知道也怎么寻找了,但我始终不知道本身面试的时候应该具有什么样的精神面貌,换句话说,我找不到本身的面试风格。学长们告诉咱们说面试要不卑不亢,什么叫不卑不亢?怎样就是卑?怎样就是亢呢?学长们还说对面试官的问题要积极并富有策略地回答。可是这个""怎么把握?这些我都不知道。

个人第一个面试是Micro Strategy,面试来得很忽然,还没作好心理准备,我就匆匆忙忙地去面了。接待个人是一个香港人,说的倒是流利的英文,个人英文水平通常,加上以前几乎没有求职经验,立马就被吓住了。一路坑坑巴巴,说的最多的词是"er",那个香港人却是颇有风度,一直耐心听我说,只是个人表现实在是太差了,并且越说越没自信,愈来愈紧张,这直接致使我犯了好几个无比低级的错误。面试结束后面试官和我握了握手,我内心知道,没戏了。

自那之后的很长时间,我都找不到属于个人面试风格,不知道怎样才能把本身的水平发挥出来,直到我面试阿里巴巴。

第一个Offer--阿里巴巴

我面试的职位是需求分析工程师,因为面试前被告知这个职位不在北京,因此对于当时一心留京的我来讲,已经没有吸引力了,所以,紧张的心情一会儿就放松了下来。

带着这种轻松的心情,我见到了面试官。面试官的每个问题都是围绕职位展开的。他先和我简单谈了一下项目的事情,而后就开始让我分析我所作的其中一个项目的需求过程,还让画了很多图表。不巧的,他关心的那个项目里面并无多少需求的内容,但是他却一直发问。我心想,难道就这样任由他牵着鼻子走?那我岂不是要越说越干?因为我当时心态很是放松,因此胆子也大了,我打住他的话,对他说:"很差意思,这个项目因为是研究型的项目,因此严格意义上的需求过程占比不大,不过我有一个很是有意思的项目,需求和开发过程衔接的很是好,你想不想听啊?不过这个项目没写在简历上。"面试官有点惊讶,继而点头微笑。因而我开始阐述我熟悉的项目,一口气讲了十几分钟。他对个人阐述很满意,让我先不要走,到外面的大厅等待。我知道此次有戏了。

随后我迎来了阿里的2、三面及HR面,套路和一面差很少,有了一面的经验,加上心态无敌好,可以冷静地思考,因此后面几回面试也出乎意料地顺利。

两天后,阿里HR给我打了电话,通知我去谈Offer。这是我第一个Offer,其意义可想而知,让我以为更奇妙的是,这个Offer我本来丝满不在乎,最后居然到了我手上。这里必定是有些奥妙的。我仔细分析了一下,发现此次阿里的面试和之前的有很大不一样。

调整心态。没有什么必需要获得的观念,只是顺其天然,这样我很是放松,少了急躁,可以冷静的思考。

化被动为主动。主动秀出擅长的东西,整我的自信了许多,天然能够加分。

经过阿里巴巴的面试,我终于找到了适合本身的面试风格,总而言之就是:放轻松,多自信,把面试官当朋友来看待,享受每一次过程,哪怕是被鄙视的过程。

随后的面试轻松不少。我养成了一个习惯:记录每次面试的题目,并总结教训。在接下来的面试前,我都会看看个人总结,提醒本身不要在同一个地方跌倒。

最心痛的一次失利--网易有道

尽管找到了个人面试风格,但也不是次次面试都是顺利的。

我投了有道的PM,并顺利经过了笔试,进入面试环节,出于对有道的向往,我在面试前也作了充足的准备,调查了有道的每个产品,作了同类产品分析,并提出了许多新的设想,洋洋洒洒几大页。

一面、二面很是顺利,可到三面的时候问题就来了。面试官要我作了一个产品策划,给我提出了一个很是奇怪的产品,我作得十分费劲。在他对个人设计进行总结时,我仔细观察了他的表情,感受他对我不太满意,但是有道是我很喜欢的公司,我很想要这个Offer,因而我掏出了我以前总结的有道产品文档,啪的摆在他面前,那个面试官都已经准备起身走人了,看到个人文档十分惊奇,立刻读了起来,边读边点头。面试结束后面试官送我出门,他冲我笑了笑,说:祝你接下来的面试顺利。就这样,我经过了三面。

四面的经历我永远都忘不了,我倒在了第四次面试。四面的面试官至关严肃,从头至尾没有露出一丝笑容,这样的面试官是最让我发怵的了。心理上立马弱了一大截。这个面试官给我出的题目是我最不擅长的逻辑分析题。我当时看到题目就想:完了。在这样的心理暗示下,我根本不能专心思考。最后天然就挂掉了。

分析此次面试,我作得好的地方在于:在面试前,对公司认真调研,写产品分析报告。而我最大的错误在于:我不该该那么早就给本身下结论,遇到不会的、不擅长的要积极应对,而不是在第一时间就示弱。

再后来,我迎来了和IBM的第三次邂逅,有了前面屡次的"血的教训",此次,我顺利经过了面试,宣告了我职业生涯的开始。

个人求职技巧

及时总结:记录每次笔试和面试的题目,并在下一次笔试和面试来临以前认真复习。

按部就班:笔试中,遇到不会的题或是很难的题,先写一个笨方法上去,而后逐步深刻。绝对不要什么都不写。对于拿不许的题目或复杂的题目,最好使用铅笔做答,保持卷面整洁,能够下降笔试的误杀率。

主动出击:多参加公司的宣讲会,并等待最后的面对面交流环节。主动和嘉宾介绍本身,让他对你感兴趣。从而增长面试机会。不少同窗在这个环节开始前就回去了,其实这是错误的,后面才是宣讲会的精华之处。

想对IT女生说

务必自信,适合女生的职位其实不少。千万不要随便否认本身。

简单举例以下:PM、技术销售工程师、项目管理、测试、IT咨询、技术支持,还有银行的信息部门,这些都是不错的选择。

务必好好学技术。

即使是开发岗位,只要可以进入一个成熟的产品组,工做起来应该也不会有过大的难度,是彻底能够胜任的。但不要觉得能说会道就足够了。就算是PM,也是拿开发人员的标准来招的。

曲线救国,总会找到出路。

若是实在不喜欢纯粹的IT,那就试着去学习一些可能会感兴趣的学科吧,好比金融,好比城市规划。看看可否作学科交叉。复合型人才也是社会急缺的。

结语:收获与遗憾--写给将来的本身

在北大的这三年,我看到了不少的牛人,他(她)们对我有很大的帮助。我从一个对计算机不太开窍的小菜鸟,逐渐成长为对技术再也不惧怕的准IT人。在这三年,通过一次又一次地思考、实践与挫折,我找到了适合本身的方向,发现了本身的优点。最重要的是,我变得自信了。另外,我认识了一群挚友,他(她)们是我最大的收获也是最宝贵的财富。

个人遗憾有不少。虽然我顶着北大的旗号,但事实上,我却没有更多地去体验北大的文化,没有参与感兴趣的社团,这些是我最大的遗憾。若是给我再来一次的机会,我会更多地活跃在美丽的燕园中。

个人座右铭是个人最坏状况理论--作事情以前先考虑一下最坏结果,若是发现最坏结果和不作这事彻底同样,那就不要再顾虑,大胆作吧。这个理论在至关多的场合帮助了我。有不少同窗在找实习和找工做的时候存在着"不敢投、不敢面"的现象,我以为这是大可没必要的。不少公司的用人条件写着吓人,但事实上,他们每每更看重的是你是否具备很好的资质,是否可以在将来的工做中主动学习,而不是你如今掌握了多少。试一试,又何妨?固然,若是决定试了,仍是要尽心尽力,不要只是蜻蜓点水地就过去了,Do or not do, there is no "try"

总之,清晰的目标加上努力与坚持,即使是普通的IT女生,也必定能够成功。

以马云说过的一句话做为结束,这句话我很欣赏,与你们共勉:

今天很残酷,明天更残酷。但后天很美好,大部分人将死在明天晚上,看不到后天的太阳。

 

5、徐宥 掉进读书的兔子洞

莫听穿林打叶声,何妨吟啸且徐行。

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任生平。

料峭春风吹酒醒,微冷,山头斜照却相迎。

回首向来萧瑟处,归去,也无风雨也无晴。

--苏轼《定风波》

引子:一件小事影响了我一辈子

大学中的一切,其实都和大学前的经历和学习习惯有关。所以,我仍是从我小学时的一件对我之后的人生,包括大学影响巨大的小事提及吧。

大学前:数理化,好老爸

一本小书的出现

个人小学是在农村里和爷爷奶奶一块儿度过的。个人父母住在小镇上,两人平时都要工做,没空照看我和弟弟。因此,我只有周末和放假才到镇上,和父母弟弟在一块儿。四年级升五年级那个暑假,我到了镇上,和父母在一块儿。由于一块儿抓鱼钓虾的玩伴都在老家,百无聊赖的我开始乱翻父亲的书橱,找书看。某天,我翻出了一本叫作《平面几何一题多解》的书,那是本封面很好看的书。我把整本书翻下来,每一个汉字我都认识,但每一个符号我都不懂。因而我好奇地问父亲,这个书讲的是什么呀,怎么历来没见过这些奇怪的符号呢?他就告诉我说,书里讲解的这个东西,叫平面几何。他接着问我说:"平面几何是个颇有趣的东西,你想不想学呢?"我说:"固然想啊!"那时的我,其实只是一个好奇的小学生,迫切想知道这本书里的图画和符号的意思。我确定不会想到,这个很随意的决定,改变了我其后的整我的生。

11岁,开始享受独立思考的快乐

听了我确定的回答,父亲当即从书橱里层(我家书太多了,书橱过小,书橱里书分里层外层,外层的书挡住了内层的书脊,我历来都不知道里面还有宝贝)变戏法通常地翻出了本《数理化自学丛书--平面几何》。对于我父亲这一代人来讲,《数理化自学丛书》是表明着知识、荣耀和梦想的。我感受他翻出这本书的时候的动做是虔诚的,但当时的我并不知道父亲在这套书上寄托的希冀和梦想。我只记得他告诉我,当年这套书,用去了他大半个月工资。就这样,从五年级开始,我就在父亲的指点下,开始蹒跚前进地学习《平面几何》。从一开始不知道什么叫"证实",须要他一字一句帮我厘清逻辑关系,到后来全是自学不须要他教,我很快就喜欢上了自学这种学习方式,天天本身看书而且作八道题。暑假过完后,我就回到了爷爷奶奶的老家。父亲让我继续自学,而且布置我一周作八道题。我在爷爷奶奶家,天天放学回来不作家庭做业也不看动画片,就赶忙作一道几何题。作几何题的妙趣,不融入其中的人是不能理解的。比起小学里的抄生字、抄课文这种做业,作几何题是脑力和体力的双重享受。当时,我周围没人能够讨论切磋,全靠本身。遇到不会的题目,我只能本身左思右想,或者熬到周末和父亲讨论,所以,经常被一道难题从周一折腾到周日。好在这套书是粉碎四人帮后出的初版,当年学生的数学水平比不上如今的学生,而这本书又以自学为主要切入点,因此题目也相对简单,我左思右想几天后大致上也能想到解题思路。所以,我可以经常体验百思而得解的愉悦感。

我以为,这种时常拜访的愉悦感,让我很早就开始相信独立思考的力量。

每一个周末,父亲都用吱吱做响的自行车带我到镇上洗澡、理发,而后批改上周我作的几何题。在自行车上的时候,他经常信马由缰随口说些初中物理和初中代数知识,好比看到船就说浮力,看到马就说作功,看到三角形就说余弦定理等。我也就半懂不懂地听,有时候插几句话,有时候能睡着了,没有丝毫的压力和拘束。很早就被中学数学、物理知识装备的一个小学生是可怕的,我那时候以为知识就是力量,所以我必定要用本身的数学、物理知识作一台柴油机,我很自信地认为本身懂得作柴油机和机动车的一切知识,说不定还能作出第二类永动机。父亲多次告诉我不可行,而我却反过来多次告诉他,你是个没有理想的人。父亲不肯意打消个人理想,只是扔给我更多的书,但愿可以打击我制造柴油机和永动机的热情,而个人知识理想,在读了更加多的书之后,变得更加的坚固了,我相信,学习知识是我人生第一重要事,有了知识,虽然不必定能作柴油机,但必定能作更多强大的事情。同时,我经过学习几何和其余的一些父亲扔给个人书,开始对本身的学习能力有了自信,我相信,找书自学是学知识的好方法,同时,把题从头至尾作一遍是很好的自学方法。

因此,我带着三个理念进入了大学:第一是什么东西均可以自学,第二是慢便是快,笨笨地作一遍题是学习的捷径;第三是知识理想主义,知识就是力量,而读书学知识可以消除蒙昧,掌握改变世界的力量,因此是一件快乐的事情。

大一~大二上:极端自负,极度自卑

专业选择的失意让我暂时迷失了本身

个人高考成绩很不错,高中时还拿了一个数学联赛一等奖,因此,我是带着对本身数学知识(为了准备数学竞赛,我看了不少闲书,有不少就是大学数学系的教材)和学习方法的自信满满,和对南大数学系这个相对很差的选择的遗憾和自卑(当时的高考分数能够填报更加好的学校或更加喜欢的专业)来到大学的。当时个人心理状态能够用八个字归纳:极端自负,极度自卑。这种心态,一直笼罩了我上大学的头两年,并且老是以一个季度为周期,在两极之间交替变化。我在学期开始每每很自负,到期中考试左右很自卑,而后再自负,再自卑,不断反复。

在我看来,极端自负这个心态,其实不是由于自信,而是由于极度自卑生出的应激反应--为了掩盖自卑,只好用自负来掩饰。为何我极度自卑呢,大致有两个方面的因素:一个是个人成绩排名在高中都是很靠前的,可是到了大学就20名开外了,尽管我以为本身的数学水平很不错,考试却老是不怎么样,以为考试考不出真水平;另外一个是以为本身没有在一个本身满意的系--我喜欢能动手的工科,当时我以为比起计算机系和电子系这样的""系,数学系并不"",可即便在不""的系,我都不能作到前十,更别说看上去更加""的计算机系了。为了掩饰自卑,就天然生出了极端自负。那时候,我上课根本不听讲,理由是"书上的东西太简单了"。为了证实本身智商还能够,我老是坐在最后一排,显示本身并不热衷于老师讲课。这样持续了两年,以致于到最后,我连班上每次都坐在前面的几个同窗的名字都不知道。这样的心态明明是错的,我却缺乏一个很好的动因来改变它。

我开始一行行敲经典书上的程序样例代码

不过最原始的三个理念仍是在的,我告诫本身,即便上课不听讲,也不能浪费时间。因此,我把在听课、作做业上节省下来的时间,用在了看喜欢的计算机书和学习编程上了。因而,整个大一大二,我凭借着简单的自学的理念,开始了两件事情,敲《Thinking in Java》(TIJ)和《The TeXbook》上的每个样例。

TIJ的机缘其实很简单,我是在软件学院听课的时候看到他们教Java,可是他们用的《Java 大学教程》太贵了,我舍不得买。 我在网上搜了一圈,发现《Thinking in Java》是一本免费的英文电子书。因而,我就在数学系的机房,天天下午和晚上,开着一台计算机,屏幕上放着这个电子书,再用我很土的笔记本,运行着未注册的 JCreator,一个字母一个字母地敲TIJ上面的程序。我很偏激地认为拷贝粘帖的程序记不住,因此每一个字母都本身动手敲。就这样,花了一个学期,竟然就把全部的程序敲完了,基本上Java 的方方面面,我也了然于胸了。

敲完《Thinking in Java》以后没几天,咱们就期末考试了。那一次考试的试题是用LaTeX 排版的,而不是手写的。我考试的时候就问监考老师这玩意怎么排版出来的,由于我知道Word软件作不到这个效果。 监考老师除了对我不认真考试表示不满外, 还算仁慈,告诉了我LaTeX 这个名词。寒假里,我就买了一本LaTeX教程。而后,忽然认识到,原来TeX 竟然是我最热爱的Knuth的杰做,因而我就疯狂地开始学TeX。个人方法仍是同样,敲例子。记得《The TeXbook》上有一个程序,Knuth让你们本身照着敲入计算机,而后还很幽默地说,实验证实,只有不多的人会按照他说的敲入这个程序,而这部分人,倒是学TeX学得最好的人。看到这里我会心一笑,以为本身的方法原来也不算笨。今后,一字不漏敲入一本书的程序成了我推荐别人学习语言的最好办法。后来大四时我又敲了《A Byte of Python》,前段时间又敲完了《The Awk Book》,都是不到一个月当即从初学者成长为细节很熟、代码顺手拈来的熟练使用者。顺着这个方法,大二我把《组合数学引论》和上海交通大学出版社出版的一本《离散数学》上的题目都作一题不漏地作完了。当时选这两本书也没有特别的目的,就以为这东西应该是计算机的数学基础。这些积累,在大四所有都显现了出来。

我我的认为,《Thinking in Java》和《The TeXbook》都算得上是理论和实践结合的精品书,是经典的英文原版书。我一上来就读了这两本书,阅读品位就上升了很多,并且变得"崇洋媚外"了,任什么时候候都以英文原版书为第一选项了。也正由于此,虽然我自学的过程当中没有高人指点,但自学最重要的一个环节--选书--的盲目性就大大减小了。我记得当时我看得最多的书是华章引进的书,黑封面的,咱们图书馆里有将近半书架。这些书若是一一细读,穷尽四年都看不完。但华章的书也并不是本本经典,我开始注意选择,细读开头十几页后,基本能决定一本书该不应看。因此即便当时没人指点,全靠自学,读的书还算过得去。那时候南大计算机系的教材,有的我看,有的我以为不适合本身,就找替代品了。我以为在选书这个事情上,由于有前两本书的标杆,我少走了很多弯路。从这两本书开始,我疯狂的读书生涯就开始了。那时候南大浦口校区的硬件条件并很差,惟一有空调且能够上自习的地方刚好是图书馆。所以我每一个暑假,基本上都是很早就过去占位,晚上很晚回去睡觉。我对小说等其余书也不感兴趣,就成天看本身以为好的计算机书和数学书,作笔记。某天,我开始了一个雄心勃勃的计划:读完TP312(计算机理论和编程)书架。

大二下:两个榜样,三个要求

大一大二基本上就是在不断的心态波动中前进。我学会了Java,也作了很多题,可是考试成绩一直不是很好,为此我比较苦闷,迫切想要改变这种状态,个人想法是,要么转系,要么好好学习数学。可是转系阻力重重,我又不肯意耐心去学习数学提升考试分数,因此我一度很是纠结。可是大二下学期,我遇到了两个对我人生产生影响的人,这两我的让我从正弦曲线般的心态沉浮中跳了出来,让我一会儿变得目标坚决了。

第一我的是个人同窗及很是好的搭档,如今在 IBM 工做的李获鼎,另外一个是个人叔叔。他们让我变得沉稳,消除了原有的浮躁,学业和心态都走向了正轨。

大二上学期快要结束的时候,咱们数学系的学生会主席一次无心中对我说,在下次数学系搞的文化节上,咱们懂编程的同窗要维护一个叫作"模拟股市"的软件。这个软件是学长用 ASP 写的,运行的时候有一些问题,因此须要专人看着运行。我那时候特自信,就说,干脆明年我用 Java 重写一个吧。后来我记不得是我找获鼎仍是他找我了,反正两我的一拍即合,决定一块儿搞。寒假他在家自学 JSP 我就在家看 JDBC SQL 开学没多久,咱们就开工了,他负责写前端 JSP,我写 JavaBean。两我的编程比一我的好多了,能够相互看代码,并且能够轮流工做,克服浮躁感。我写程序比较粗线条,基本上功能有了,细节就无论了。获鼎比我可认真细致多了,前端一个表格的宽度和颜色都要调很久。在他的影响和"胁迫"下,我作事情也变得细致起来,由于我不细致,他的前端就无法正常工做。那时候他也是一边写一边学,对着书一行一行地敲 JSP,态度比我敲 TIJ 时候还认真。和他在一块儿工做了 20 天,把这个玩具项目写完后,我从他那里学来了耐心,本身也变得踏实起来。"模拟股市"这个小程序发布后,玩这个系统的同窗都挺喜欢的,个人自信心也就有了。加上心态也平稳了,态度也踏实了,天然地,原先的自卑心理就没了。随着自卑的消失,极端的自负也天然消失了。我心态变得正常了。这时候,虽然还有点小迷茫,但一切已经走上正轨,我开始思考之后干什么的问题了,听课、作做业也比之前认真很多,成绩也上去了很多。

个人另外一个榜样是个人叔叔。和他不能算是遇到,算是再发现吧。我叔叔是个颇有冒险精神的人,具备彻彻底底的企业家精神。我很是小的时候,他帮人家修电视,而后借着摆弄电子产品的背景,迅速就搞了计算机。他买了多是咱们全江都市第一台 486。搞了不少年计算机之后,他又自学了单片机,以写汇编为乐。这期间他还搞过印刷等其余的项目,我记得小时候最喜欢的就是到他的工做室里面玩各类各样新奇的玩意。由于他老是不停地尝试新东西,因此我对我叔叔一直的印象都是"善于抓住机会" 倒没有把他和"耐得寂寞"这个词很紧密的地联系在一块儿。大二有段时间,我忽然对单片机很感兴趣,就找了一本 8051 的书在看。刚好被他看到了,他就告诉我,他如今就是作这个的,一周后还送了我一个AVR 的开发版及一系列的玩单片机的电子器件。我历来没有意识到我叔叔在写单片机程序,因此当我听他说这些的时候,惊讶得眼睛瞪得比灯泡还大,好像是忽然发现了新大陆。我一直对和硬件打交道有一种畏惧感,而且体验过 Linux 设备驱动编程,知道这些和硬件打交道的地方须要极度的耐心和细心。在这些底层编程上,C 我都以为不顺当,更不要说单片机上的汇编了。在资源受限的系统上作出工业强度的产品,已经远远超过我能力范围了。而我叔叔,在没有任何科班训练的背景下,彻底半路出家,全靠自学,一我的用几年时间,就把这条路走通了。他如今写的汇编程序,运行在千家万户的水表中,能够说彻底是坐冷板凳积累出来的硬功夫。能够想象,他当时给个人震撼是巨大的。我一度怀疑本身的自学能力,以为有些事情,我永远无法作到,就像童年想作的柴油机同样,只是幻想。而我叔叔,在这时候,给了我一剂强心针。

受获鼎和我叔叔这样两个踏实勤奋的人的影响,我一改之前轻浮的习惯。在大二下学期,我给本身定了三个简单的要求:a. 更加多看书,看好书,而且必定必定要作笔记;b. 多编程,多积累;c. 不怕困难,开始背 GRE 单词。就这样,我就开始了疯狂学习的大三。

大三:深度迷茫,深刻积累

大三是我看书最多、思考最多、积累最多的时候。大三我主要是沉稳冷静地作事情,用不断地作事情、看书和思考,压抑心底深处的对前途的迷茫。其实整个大三,我都不知道本身要干什么、能干什么,只知道像一个运动员同样一直往前奔。早在大二的时候,咱们班不少同窗就开始准备 GRE 了,我也就跟风准备 GRE,在大三的时候花了不少时间在背单词上。说实话,当时我捧起红宝书的时候,出国的动机并不强烈。那时候我并无对美国和中国在各方面的差距有清晰的认识,且过于小看环境对人的影响。潜意识中,我想读计算机的研究生,考研可比出国转读计算机专业要简单多了,学长也告诉我,申请计算机专业很难,咱们数学系也鲜有先例。由于正方面没有很强的激励,反方面又以为困难重重,我就不太把出国当回事,除了背背单词,主要的精力都放在了读计算机书上。我专门扫荡 TP312(计算机理论和编程)那个分类,同时看了不少英文原版书。TP312 中的大部分书,我都是囫囵吞枣地看,作一些总结性的笔记,只有少数几本,如《计算机程序设计艺术》、《编程珠玑》,是认认真真看的。这时候的我已经没有时间,或者说耐不下性子一条一条作题了,只能浏览一些题。即便这样浏览,也让我在后来大四的工做面试中占了不少优点。

我喜欢记笔记,很注意整理本身的既得知识

我有一个从高中就开始的习惯,就是把天天胡思乱想的东西记在一个笔记本上,算是思惟快照。我还经常翻回去自省,看看过去和如今的变化。大一大二的时候,这本笔记本上记载着的是和生活和感情有关的琐碎小事,或者宏大空泛的目标和叙事。而大三时记录的内容明显具体起来,好比这周看完了什么书、下周去图书馆借什么书等。但当时我写下的这些计划之间,是没有很具体的头绪的。在这些要作的事情后面,并无一个明确的线索串起来,而是像无头苍蝇同样处处尝试、处处碰壁。举例来讲,个人笔记本里清楚地记下某周要看操做系统,但是那周还没看完操做系统的时候,又记下本周不看操做系统了,看编译原理。就这样,好似饥饿的狗熊在掰玉米棒子,看上去很勤奋地在掰,掰下来,啃两口,扔掉。当时我能感受到一种永远存在的知识饥饿感,一种永远填不满的饥饿感。不过,我又总以为前方应该有那么一个终极玉米棒子,可以最终填满本身的饥饿感,因此,我就一直向前奔跑。其实这种奔跑,无论多勤奋、多刻苦,由于不够踏实、深刻,永远都是事倍功半的。好在我在不求甚解的同时,很注意整理本身的既得知识,写在小本子上。后来我到大四的时候,写论文也好,考研、找工做也罢,不少知识我都是临时突击的--好在有这么一本小本子,我能够按图索骥地去深刻强化当时如无头苍蝇般乱看的一些书。若是用搜索引擎的工做原理打一个比方,我以为我大三疯狂地读书和学习,就比如是在建索引,等大四要搜索结果的时候,就不再须要每本书全文检索了,直接按照本子上的索引找到当时看的书。

踏实和勤奋这两个从我叔叔和获鼎身上借来的优秀品质,加上取之不尽的TP312书架和背不完的单词,使我没有再一次被深度迷茫拉入自信和自卑的反复中,相反,随着这些积累愈来愈多,我变得愈来愈自信了,虽然这种对积累的自信还没有被现实验证过。

大四:书到用时,无意插柳

大三的迷茫让我不肯定之后的方向,未被现实验证的自信又让我蠢蠢欲动,因此,我就天然地产生了"赌一把"的心态。若是以赌博为喻,我就是在全部的盘口上都了下注,要不全输光,要不总能赚,而我相信至少能赢一盘。

因此,大四甫一开始,我就拟了一个时间表,自信满满地想要在考研、找工做和出国的三条战线上都有所突破。我设想11月以前弄完出国材料,而且把简历弄漂亮,顺带找工做;1月前寄材料,套磁,准备考研,4月前搞定一切,等Offer56 月我就写写毕业论文,而后周游中国了,等我周游回来,至少三个机会让我碰到一个吧,我就从了那个就好了。从这个狂妄的计划中能够看到当时的个人自信,不过我这个自信却是有必定根据的,由于我研究了考研的模拟题和找工做的很多案例,我当时想,好好准备,应该能够上南大的研究生,工做应该能够进腾讯,出国我倒没什么底,因此我也想用前面两个来保底。

大四咱们搬到了鼓楼校区,课表上又只有一门课,因此我就在鼓楼这个新环境里乱跑、乱逛。学校有国际会议,我就跑去和老外搭讪;鼓楼有关于佛教的演讲,我也跑去听;IT 公司的宣讲会和笔试,遇到好的我也去参加参加。若是没事,我就上自习,继续读鼓楼图书馆的书。就这样,我遇到了一个又一个的机会,基本上无论成功失败,都算是有付出就有回报,固然运气成分也很多。

面试题怎么都那么熟悉

10月左右,微软(MSN)来咱们学校面试。这是我第一次面试,很紧张,前一天看书看到1点多,次日午觉就睡过了13点,加上箱子里惟一的一件衬衫皱巴巴的彻底不能穿,因此干脆就穿着拖鞋和 T 恤冲去了。面试的人很友好,面试也很顺利,有的同窗还在等第二轮的时候,个人四轮就结束了。我当时的感受是,微软的面试题太简单了,除了问我南京市新街口周边有多少辆车外,其余题目都是中规中矩的计算机面试题。面试出来以后,我和一个软院的同窗在食堂讨论题,他说:"题怎么这么难啊?" 我就很奇怪,说:"这些题《编程珠玑》上不都有的么?" 后来我才知道,其实看过《编程珠玑》的人,不是我想象的那么多,而我也是在书架上乱翻才偶然看到《编程珠玑》。在2005年的时候,没有Web 2.0 和社会化推荐,个人世界,就只有面前的书架那么大,我幸运地在那么大的书架上遇到了几本经典书,而且细读了,吸取了。

很快,微软给了我一个在上海作测试的职位。当时我一心要去北京,就没要这个Offer。不过有了这一轮,我也知道面试怎么回事了,此次面试,更增强化了个人自信,因而我又开始比较狂妄了,以为本身能进当时互联网中最热的、宣称招 50 个李开复博士的关门弟子的公司-- Google 中国。

利用比较优点选择考研目标

找工做还没彻底展开的时候,我就准备考研报名了。我选择了北大生物系的生物信息学专业。其实这是一个让我能够到北京的小聪明,而不是一个全面慎重思考的结果。当时我看到,这个专业只招两我的,并且试题是和计算机系同样,因而我想,除了我这样的一门心思想去北京的,哪一个人会绕这么大一个弯子去学生物而不去学计算机呢?其实我本身也不敢挑战计算机系,由于我知道难度太大了,可是我又很想到北京去,就想了这个暗度陈仓的办法。我当时还想,考上了,要是不爽,读一年俺就退学找工做。2005 年底的大环境和如今是不同的,那时候Web 2.0的呼声很高,让我以为创业比读研有前途多了。无论怎样,我自认为很小聪明,就报名了,固然考完才知道,就为了这两个名额,有40多我的来考。

我要感谢当时同系的两个同窗苗文建和王琨,他们都是准备考北大计算机系的,即和我考一样的试卷。他们资料很全,我就和他们一块儿上自习,蹭他们的看。大四我买书花钱不少,到了考研这时候真是舍不得花七八十块钱买本身看不上的辅导材料和教材,因此就借他们的看。那时候考研的教材是北大的"操做系统""离散数学"教材。其中操做系统的教材,行家都知道这本教材参考了很多 Tanenbaum 的做品,我也看过就不大愿意再买一本。前面我提到过,我大一大二作过一本离散数学教材上全部的习题,因此离散数学根本不须要花太多精力。至于政治,我是经历过 3+X 高考的人。基本上考过政治的人都知道,政治考好考差和复习不复习无关,至于和什么有关我就不在这里多说了,总之这个东西并无深奥的学问,就只是那么几句话车轱辘话翻来倒去而已,命题套路也很容易掌握。作到比命题者更加聪明,对于受过大学教育的考生,是件很简单的事情。我最后考研成绩还不错,撞大运考了个专业总分第一,其中数学彻底是离散数学的功底,考了136;英语也是靠准备 GRE 托福的底子,考了差很少80;政治也差很少80;专业课运气很好,正好90分搭线。因而就这样糊里糊涂地考上了。

考研这个事情,我至今以为运气远大于真正的付出,结果也很是出乎个人预料。记得结果刚出来,同窗帮我查分的时候,我根本不相信本身考这么好,还放话说若是考这么好,请全宿舍吃饭(我记得当时兜里面只有200块钱,根本无法请人吃饭,后来仍是借钱请客的)。考研结果出来以后,迷茫的我获得了一个很是好的保底,我就比较得陇望蜀了。其实在当时个人内心,我并无认真想过之后要具体干什么,只是隐隐约约以为要不去北京,要不就去美国。有了北大这个机会,我就调高了本身的心理标杆,定下了两个大的具体目标,或者说是圣杯,一个是进 Google 中国,一个是到美国名校读计算机,有了考研这个保底,在2月份过完年,我就镇定自若地认真准备这两件事情了。

面试题怎么仍是那么熟悉

10月份的时候给 Google 投了一份简历,很快在11月份就被拒了。而个人搭档李获鼎在签了 IBM Offer 的次日,却收到了 Google 的面试邀请(我相信凭他的实力,若是晚一天签 IBM,他如今也应该在 Google 了)。我听了以后以为很奇怪,按说咱们两个,作的项目是同样的,学的科目也同样的,写的简历互相也看过,背景也都差很少,我被拒了,他被邀请去面试了,我隐隐以为有什么地方不对。个人不服气,反应在行动上,就是天天上网看 Google 中国最近又招了几我的、怎么招的。那时候互联网上盛传的故事是一我的给李开复用不少不一样的邮箱发邮件,以保证简历可以万无一失到达,结果瞬间被录用了。这个故事的内容和合理性放在一边,我对故事主人公的精神很感兴趣。我以为我也能够再试试,说不定坚持就是胜利。正好那个时候,Google 的一些副总裁到北大有个宣讲活动,说好了现场接收简历的。我从当时在北大的女朋友那里获得了这个消息,回来把简历梳理了一下,让她帮忙打出来,又交了一次。这一次,简历直接交给了某个副总裁,成功了!几周后,Google 中国的 HR 就给我打电话,安排机票和宾馆,让我去北京面试。

面试的过程其实平淡无奇,题目不是《编程珠玑》上的,就是《计算机程序设计艺术》上的,再否则就是网上贴出来的。我我的感受,面试题就那么多,多作作基本上就了然于胸了。我从找工做一开始,就作了个有心人,天天都上网看面试题。 此次面试前,我又把《编程珠玑》这些书复习了一遍。同时我知道本身在面向对象编程方面很欠缺,又看到有面试过的人说面向对象也考,就顺带看了《设计模式》。我还比较有心,花了几个晚上,捣鼓了一个移植于 Mac 的、基于 MVC 的能够当场演示的 Java 小游戏,面试当天我还给面试官演示了这个小游戏的架构和用到的设计模式,这样,我感受,本身面向对象开发方面的弱点就让这个小游戏的演示给弥补了,面试官也一致说好玩。

很快,四轮面试结束后,HR带我去见李开复博士。李开复博士是个风趣的,或者说很善于观察人的人。他见到个人第一句话居然是半调侃的"小伙子,咱们 Google 不能解决北京户口啊",我认可当时的确穿得很民工,由于网上说Google 是个很随意的公司,我是继续以凉鞋装备和鸟巢同样的头发去面试的,可是我还真的不是为了北京户口才去 Google 面试的:。我以前也作了一些功课,了解了一些李开复博士早年作的工做,因此谈话进行得很顺利。说了一下子后,我就抛出了为何 Google 拒我一次又让我再面试这个问题,他说这事情还很罕见,要是我再网申,基本上简历是不可能浮出水面的, 由于数据库里面已经有标记了,不过我这样二进宫算是精神可嘉。这时候我才回忆起面试的一个MM手上拿的简历,的确是我第二次提交书面简历的复印件,而不是网申的打印版,可见仍是坚持再投一次好(这个坚持,我也是和搭档李获鼎学到的,IBM 二面就有拒他的意思,他要求面试官再给一次终面的机会,结果他的终面刚结束,面试官就和他握手恭喜他加入 IBM 了,因此面试这个事情,坚持到最后的才是胜利者)。当天和李开复谈完出来,HR 冲我笑笑,握握手,说,就你和他谈的时间最长。我基本上知道,这个事情成了。

误打误撞,选择了出国深造

在找工做的同时,我出国的事情也没闲。我以为直接靠寄材料申请计算机但愿渺茫(我先前直接申请了几家数学和计算机,都是拒信飞飞),因此我就押宝在套磁上。在寒假以前,我就觉要写篇有点质量的论文发表一下,才能让申请材料有份量,不然招生的未必看得上我这个数学系的、没有任何计算机背景、成绩又不特别顶尖的学生。因而,我就回忆之前乱读的一些论文集和书,再找看有没有最新的值得跟的工做。就这样不着边际地乱找,还真的就碰到了一个感兴趣的题目、一个不大成熟的想法和一个正在征稿的会议。因而,我迅速地开工。凭着数学功底、编程功底和 LaTeX 熟练程度,几天就完成了文章主要结果和写做,而后就是写程序、作实验,而且不断地改很烂的英语写做。个人运气很好,选择的题目也不是很难,因此七天以后,我压着截至时间前几分钟,把文章提交了。2005 年的 LNCS 仍是被 SCI-E 索引的,因此我以为这篇论文份量还能够,更新了本身的简历,一边准备考研,一边开始和美国的教授套磁。

我如今的导师 Yixin Chen 是一个很是杰出的年轻教授(科大少年班出身),我和他套磁的时候,他刚刚从事教职,所以很须要学生。我以前给他发了几封信,有太短暂的接触。到了415美国大学招生的截止日期前几天的时候,他的另外一个原来录取的学生由于某些缘由去不了了。所以,当时他就联系我了,告诉我说,我能够过来美国读书,作他的 Research Assistant。那时候我还在等 Google 中国的 OfferDr. Chen 就对我说:" Google Offer 不难,我也拿过。 你读了书之后也能够拿美国 Google Offer ,但来美国读书的机会就这么一次。"那时候我想问题并无如今这么深入,加上比较想去北京,所以一直犹豫不决,还在催 Google HR 快发 Offer,心想大家哪一个 Offer 先到我就从了哪一个算了。我父亲、我叔叔都不含糊,一个一个地轮番教育我,加上我导师后来讲了上面这番话,我就再也不犹豫,承诺他我必定接受这个 Offer。接着,我告诉了 Google HR,说我不去了。就这样,我全部的本身认真谋划、认真准备的路都没有走,反而最后经过误打误撞和套磁,来到了美国。

 

结语:非没用,兔子洞

总的来讲,面试也好,考研也好,写论文写好,之因此可以比较顺利,我以为都是大一大二一个键一个键敲出来的,也是大三一本书一本书读出来的。我写这篇文章的时候,把相关的来龙去脉放到了一块儿,是为了解释有些事情的来龙去脉。不过我不想给读者一个误解,即我刚好运气特别好,一路直行没有任何弯路。相反,我以为我走了很多弯路,可是我很高兴走这些弯路。好比说,我上大学的时候,不少精力花在了作数论题上,《现代数论经典引论》这本书的习题我差很少一题一题都作完了,可是我出国申请学习数论没拿到中意的 Offer, 如今也不从事相关的研究,因此这些积累至今没看到有什么直接的做用;我一度认为本身要作一个电子工程师,我大一大二还旁听了电子系的模拟电路、数字电路,还混到电子系实验室学 ARM 开发板, 可是如今这些除了吹牛外也没什么做用,学到的一点皮毛也还给老师了。我是个兴趣很普遍的人,看过的杂书、作过的笔记,最后有用的,我以为有十分之一就已经很好了。大学的时候,为了让本身精力不耗散, 我限定本身每次借书,必定要保证四本计算机/数学,外带一本社科人文书,还有一本任意的书,并且那四本必定要作笔记精读。 由于这样,我才可以最终没把有限的人生耗费在无限的浅尝辄止上。

即使这样,若是纯按照如今须要的知识看,我在"没用"的东西上浪费的时间仍是不少。不过我倒不肯意称这些为浪费,在我看来,成长路径中有不少的偶然,没人知道在一些关键时候须要什么样的知识储备,因此踏实地多储备一些是好事。我在大四的经历和其余的一些经历都告诉我,之前经过看书、自学,完全地弄懂的同样知识,会在某个不经意的时候,忽然被用到。这时候对当年积累的庆幸和再发现的快乐,就像蓦然回首见到灯火阑珊处的秋水伊人同样,是无法用文字描绘的。另外,我有个切身的教训,就是要踏实地积累。我读书涉猎很广,不少东西我都能大概知道怎么回事,可是就是学得不深入,因此即便当时花了不少力气,须要的时候还要花大功夫重头捡起。因此个人教训就是,与其两个半瓶水,不如一个满瓶水。这个道理用在读书上就是说,一本好书读两次要赛过两本好书各读一次。要是大学能从新来过一次,我会少读一些书,多读透一些书,这多是我以为当年猛读书的惟一遗憾。

小时候我嗜书如命,我爸爸总是担忧我会成为一个不懂人事的书呆子。大学中的我,几乎每天泡在图书馆,能够说是个彻彻底底的书呆子。其实除了读书外,个人大学生活的其余方面也是很快乐的。我有玩得很是好的同窗们;靠着帅哥室友们的魅力,我还经常和他们一块儿,和联谊寝室那些青春活泼的姑娘们打球、打牌。我还谈了一次恋爱,让我对感情的事情有了深入的认识。这些事情,交替地穿插在我这个书呆子平淡无华的大学四年中,让个人大学生活如此美好,但这些细碎的星星点点的人生经历,都不足为外人道了。

个人大学四年,一头扑入了读书中, 就像掉入了兔子洞的爱丽丝。在读书这个兔子洞里,那些经历的迷茫、挫折和奇遇,都是上大学以前的我未曾想象的!我不算一个合格的学生,我忘了很多任课老师,忘了个人学号,忘了班上很多美丽的女同窗的样子,却没有忘记某个夏天的中午,汗流浃背的我冲进图书馆,跳入一阵凉爽的书香;以及某个春天,我在草坪上读书入了迷,喷水龙头把我后背全打湿了还浑然不觉。这就是我对兔子洞的最美好的记忆。

网友跟帖

Hu Yiqun said,Aug 8, 5:34 pm

我总结相似你和刘未鹏他们成长的经历,有几个共性是相通的:1. 恒心,十年如一日,坚持作一件事,天然就能成为这方面的专家; 2.兴趣,兴趣是你的契机,坚持作一件事,天然会遇到挫折,只有兴趣能够令人坚持,进而突破。

Peng said,August 6, 2009 @ 11:11 pm

做者和不少大学生同样,情绪在自卑和自负间波动,常因看不到将来而迷茫,做者没有选择逃避或在游戏或者小说的虚拟世界里麻醉本身,而是踏踏实实的在努力进步,因此当机遇到来时天然迎来了收获。

Jun Yang said, Aug 7, 9:19 am

做者应该写一些不太成功的和如何从不成功向成功转变的经历,以及相应的心态转变的过程。这篇文章对"弯路"的着墨较少,容易让人在读完这篇文章之后,只关注成功的一面,而忽略了成功背后的努力和弯路。成长不是一件轻松的事情,若是读者过度关注成长后的结果,忽视了对成长以前的过程的关注,容易被误导。对你的成长影响最大的是:1.儿时的父亲启蒙;2.大二时同窗和叔叔的影响。第一点大多数人没法复制,第二点机遇,也和第一点直接相关。至于,其余的结果,我倒以为是水到渠成的事情了。

laihj said,Aug 7, 9:26 am

我倒以为无所谓复制,一我的的经历原本就只是参考而已,笑来老师就写过"当心所谓的成功学"。写的人把本身的经历写出来,看的人看了以为有点教益很好,彻底没有教益也没必要放在心上。真正的学习原本也不是彻底经过他人的经历得到的。有那么一些能够借鉴的地方就够了。对我而言,怎么借书这段就能够借鉴。

陈华 said,August 6, 2009 @ 11:59 pm

我以为做者很大程度上得益于小时候的家庭环境。家里丰富的藏书、和做为知识分子的父亲都能对成长起很大做用。我父母都是农民,上初中一块儿没有机会碰到任何有益的书籍。独立思考和勤奋上进的能力不是与生俱来的,后天的环境过重要了,等我知道这一点,我已经坐在高三无数参考书堆前面了。到了大学,更是疲于应付各类杂事,只能边看做者的博客暗想之后有孩子了要怎样。

Mikster.Z said,Aug @7, 3:02 pm

对我来讲,我经历过挫折。时机错过的始终是错过了,与其修补过去的缺憾,不如开创新的目标。家庭背景这种东西,没有就是没有,咱们能掌控的就是咱们的如今。