I need money。我需要钱来满足我个人物质和精神上的需求。我需要钱来作为基础,去做自己追求的更高的事情,比如开办一所学校,比如去帮助那些需要帮助的人。我希望我 30 岁前能够赚够一千万,这个目标可能现在看来还遥遥无期。我还有 8 年。说了这么多,我承认我很爱钱。但我认为钱仅仅是一种手段,但是决不能成为人生的目的。钱可以帮你达到某种人生目的、实现人生的价值,但是钱本身不是你需要达到的人生目的、也不该是你人生的价值所在。
关于专业能力,我一直坚持使用 Linux 和 LaTeX,坚持使用 Linux 让我对 Linux 的日常应用、系统配置有了系统的了解,这让我日后应聘百度运维部有了操作系统能力的良好基础,坚持使用 LaTeX 写作业和报告,一方面提高了我的效率,另一方面也让我有机会结识了一些朋友。比如我一门课的助教在我交了一次作业后就把我的 tex 模版偷了去,用来做他自己的文档,还给我发来了邮件解释。
关于项目经验,大三下的时候进去实验室做了一个 C++ 的手机项目,写了 5000+ 的 C++ 代码,让我的简历上有了浓重的一笔,五月份的时候很功利地去参加了学校的数模比赛,拿下了二等奖,这也终于让我的简历上有了一个像样的专业奖项;很功利地去 ZOJ 上刷了百十道题,还像模像样地去参加了校队的选拔,虽然是垫底被刷,但是简历上关于 ACM 的些许了解,还是让我多了哪怕一点点的资本吧。
关于码农的前途。不要相信什么 IT 民工,码农没有前途的狗屁说法。更不要相信码农是吃青春饭的传言。码农也是有门槛的。码农可以转金融、管理、销售、技术支持,但是其余的专业却很少有人转回码农的。说码农吃青春饭,如此说来,绝大多数行业都是在吃青春饭了?干一行爱一行,找到自己所爱已属不易,如果看着碗里的看着锅里的,只能凭添一些烦恼罢了。
关于专业差异和薪水。大体来说,工作分为两类,所谓技术类的和非技术类的。技术类的门槛较高,光简历就能刷掉一批人,而且很多岗位有专业限制,起薪也会相对高一点,以后的上升空间会比较平稳。非技术类的门槛略低,所以很多时候这类岗位由于不限专业的原因,竞争非常激烈,常常会出现群面的状况。但是我所面试的 IT 公司,从来没有群面这一说。CS 的起薪是很高的。但是 CS 的人对于王道这种说法还是会有一些不爽的。好像如此一来,CS 是王道专业,自己只要有了这么个专业牌子,自己在专业上的努力就一文不值了。又有多少人知道写千万代码剪不断理还乱的踌躇、有多少人知道简简单单的一个百度首页,后面有上万人的团队在为之服务、保证其正确运行。隔行如隔山,在对一个行业有深入了解之前,还是少做评论为妙。有人说金融怎样怎样,有人又说销售到处跑怎样怎样,可是又有多少人知道金融人员的辛苦,销售人员初期起步一个个电话据信的辛酸。你既然说 CS 王道,薪水高,那你当初干嘛不选这个薪水高的王道专业呢?既然不喜欢,学习不来,到头来也没什么可以抱怨的了。
关于计算机专业的学习
注重内功的修炼。练就一副火眼金睛。什么 SSH 框架、F#、C# 都是过眼云烟,IT 界是新名词诞生最快的领域,随便翻开某个库的 API 文档,都可以发现海量的新名词,根本不可能学完的。Win32 API 有上千个函数,Python 语言有几百个模块,Emacs 扩展命令就如天上的星星,汇编语言若干种不同的处理器架构版本,随便一个大点的项目都有上百万行甚至上亿行的代码,怎么可能学的完呢。去伪存真,学好核心的东西才是正道。 UNIX/TCP/IP/C/C++/Lisp/Algorithm/Vim/Emacs/TeX,这些才是万年不变的经典。
注意书籍的选择。一般而言,还是选择国外原版书比较好。国内的环境太过浮躁,很少有人能够用心去写一本好书。尤其是计算机专业。阅读原版书的好吃就是能够保持自己对本专业英语的敏感度。国内的书籍,腾讯郭欣写的《构建高性能 Web 站点》、李先静的 《系统程序员成长计划》、侯捷老师的一些书、陈儒先生的《Python 源码剖析》、温谦的《CSS设计彻底研究》、邹恒明的《计算机的心智——操作系统之哲学原理》等等,这些都是豆瓣上评分很高、也是国内少有的技术佳作。如果一本书同时有影印版和中译版,建议还是坚持读英文版,虽然开始读起来会有些“慢”,有些吃力,但是最终会受益终身的。
勿在浮沙筑高台。你说你精通算法,能否在十分钟内写出一个快速排序算法?反正我有些吃力。你说你精通 C++,你是否能说出 C++ STL vector 的 size() , capacity() 有什么区别?是否用过模版和虚函数?想提高算法,《算法导论》 一本去找个 OJ 踏踏实实地刷几百道题;想弄懂 C++,就得一点一点的读读 STL 源码;想学通网络,就得扎扎实实地去啃下网络之神 Richard Stevens 经典的《TCP/IP 详解》 三卷本;想学 UNIX,就得去看看《APUE》和《UNIX 编程艺术》;想玩通 Emacs,就要去读读《ANSI Common Lisp》和《On Lisp》。这里说的我也没有完成,但是我知道我该读哪些书,该去怎样做。
知道你想要什么样的生活,努力去做,并以此为乐。大学里有人说学习 GPA 很重要、有人说社团活动很重要、有人说比赛实习很重要。其实这些都不重要。最最重要的,是你知道你想要怎样的生活,向着这个目标努力去做,并以此为乐。一言以蔽之,follow my heart。记住,你是一个人,不是现代化教育生产流水线上的产品。所谓人生,就在于有目的地折腾。