我在南大的七年
-----From 《暗时间》
@作者透过自己学习经历对“走弯路”的一点看法
“总结自己学习编程中走过的弯路,孟岩先生说到,是不是弯路,不是那么容易界定的”
“的确,也许真的有更好的路,但事前真的很难判断哪条路是最优的,我们能做到的,是把一条路走透了,走深了,只要不是一条太不靠谱的路,深入的过程中总会有很多的收获。只要不是太顽固,善于反省,总有一天也会逐渐意识到越来越靠谱的路。”
@作者提升技术的一些行动上值得借鉴的一些方法
1.看好书,和牛人在一起,还要反复细看;
“理解一个费解的东西,本身需要长时间投入注意力,无形中练了理解能力和思维体力(专注),另一方面虽然MFC不是最佳设计,但理解里面的代码却加强了我对C++本身的认识,这是基本功能;也提升了我对C++的兴趣,这是动力,后来这个动力驱使我去看了大量的系统底层知识,从操作系统代码,一直看到硬件体系结构”
2.发表技术文章
“一鼓作气分析了N个库,写了一系列的Boost源码剖析的文章”
3.技术翻译
“大二我还用业余时间做了一些技术翻译,寒假我坐在家里每天晚上翻译半章《Effective C++》"
大三大四跟荣耀先生合译《Imperffect C++》,每天给自己安排六七页的量,大概花了半年多翻译完
“中间有一段时间停滞,荣耀先生给我鼓励,告诉我一个重要的方法:如果我觉得做不下去了,就硬着头皮坚持做,然后就类似于麻木了,适应了,那种望而却步的感觉会逐渐自动退去。惊人的简单,但事实就是如此,硬着头皮,过了那个情绪上最艰难的时候,也就适应了”
“但我总觉得对性格上的磨练才是最有价值的收获”
4.大量的买书,尽量看英文原版书
“为什么买的这么疯,也是因为受父亲的一个影响,他告诉我发买书不用心疼,因为是长远投资,收益远远大于这点金钱投入”
5.边看编写代码,盲目兴趣阶段
“有模仿Windows核心编程的小程序,有尝试并失败的小游戏,也有拿来对宿舍玩的游戏文件进行分析的工具,还有为上机考试写的库,总之玩的不亦乐乎”
“不像很多知名的程序员在学校里面就写了被人广为使用的工具,那个时候我完全没有这个意识,也不知道什么是开源,自娱自乐而已,所以没有系统训练编码量和编码素养,比较盲目”
6.建立自己的技术博客
@作者微软面试的经历
本科学习方法太业余,缺乏系统的规划,不清楚也不关心这个领域的蓝图,也弄不清什么是重点。
基本功:C/C++,底层知识,算法和编码素养。
@作者认知正常的经历
1.专注的习惯
“父亲会花一整天揣摩一个问题,父亲跟我说过他以前组装电视机时的故事---一切似乎组装正确,但电视机就是不工作。他冥思苦想,不得其解,当晚,半夜从睡梦中醒来,想到了问题的症结所在”
“我在啃一些底层知识时如果弄不懂,也会一遍一遍读,然后用走路吃饭坐车的时间在脑子里一遍遍去琢磨”
2.考研的动机
“一来也很茫然,二来也希望能够继续有一个宽松的环境继续沉浸在自己的兴趣中”
3.心智年龄的成长
“有一句话说:看一个人,只要看他读的书和见的人。还是很有道理的,这两者是一个人成长中最有价值的信息来源“
“我心理还没准备好,本科只顾这埋头学好玩的,也不看路,不知道自己想要什么样的工作,想做什么样的事情”
4.偶遇《影响力》这本书
“这本书打开了我的视野,让我开始关注一个很有价值的领域:我们如何思考,如何正确的思考”
“对思维的特点和缺陷,以及如何思考有了很多的了解,这些知识后来很大程度上使我更清晰的认识自己和自己在学习和生活中面临的各种问题”
5.与人交流
“一是和人讨论能够激发自己的进一步的思考,也促使自己更清晰地表述自己的观点或问题。倒不是说别人就一定告诉你什么新东西,而是讨论对你自己的思维的刺激。二是交流中认识了不少朋友,后来快毕业的时候也受帮助颇多。我一直把TopLanguage的创建看作研究生阶段做得最有意义的事情之一”
@作者关于英语的一些成功实践
“对技术本身的热爱压过了对英语的反感,我还是硬把一整本影印版啃下来了,而且津津有味”
“这个事情的重要性在于,后来我就不再反感和恐惧英语了,这是其一,其二是我开始意识到英文世界的技术资料有多么丰富,所以虽然本身看上去不是一个太起眼的事件,但却是我获取信息方式的一个Tipping Point,一旦熟练掌握了语言这个平台,背后就是一扇大门,通向一个海量的信息源,后来我的信息获取绝大多数便来自于英文,其中尤数Wikipedia和英文版的书为多。”
“如果要去好的外企,口语不过关很可能称为一块短板(当然,英语作为承载最多技术知识的平台语言还有更大价值),包括阅读,书写和口语。”
“我想了一个方案,可以不用额外花时间来学习英语:阅读的训练蕴含在平时的英文技术资料的阅读中,尽量读英文的,一来英文资料更一手和全面,二来也顺便练阅读。书写的训练蕴含在去国外邮件列表发技术贴和自己写的英文博客文章中。口语的训练则蕴含在平时的娱乐中--美剧,有一个暑假我几乎天天开着Friends睡觉,另外学习有国外过来的团队演讲我不再错过,而是主动参加,有一次还带他们出去逛南京,说了一天英语。虽然和外国友人交流的次数不多,但似乎对口语感觉的提高还挺大。”