为什么要找工作

出国

  • 一直没有想明白为什么要出国。很多人刚上大学的时候就定下了要出国深造的目标,他们的大学生活就按照这条主线稳扎稳打,好好学习、争取名次拿到奖学金、GRE、TOFEL、大三出去交流一个暑假、大四回来开始焦头烂额的准备 PS、CV,投递申请,拿到 offer、 然后出去旅游一圈,最后回来跟大家告个别,踏上异国求学指路,步步为营。说实话我挺佩服这样的人这样的生活,但也仅仅是佩服而已,佩服的是这样的坚持和毅力。但是我扪心自问,这是我想要的大学生活吗?我想了好久,我发现我心里面没有那种冲动,这也不是我特别想要的生活。一句话,我对这样的生活方式没有感觉,不感冒。
  • 出国需要很强的经济背景。我所了解的情况中,绝大多数出国的同学家都在城市里面,家里经济条件都不会太差。我虽然很爱玩,也花了一万多的银子在装备和旅费上,而且我的家庭条件也还说的过去,但是这些花费,恐怕也只够出去交流一次的机票钱罢了。再说我父母都是个体,我不想大学毕业后给他们带来更大的负担。
  • GPA 是一个坎,由于大学前两年玩的太 high,导致成绩很是一般,想出国只有一个方法,就是重修。我才不愿意为了 GPA 去重修那些无聊透顶的课程呢。每当想起来马原、电路、 思想品德,还要交作业,跟老师讨价还价,我就脑门疼。
  • 现在再想想,工作几年,自己有了一定的工作背景和经济实力后,还是很有可能出去深造下。其实一来是深造,第二就是我还是挺想去国外体验一下全新的生活。anyway,出去走走,看看外面的世界,这或许是我读书之外少有的爱好了。

读研

  • 我觉得很多人考研是一种逃避,是一种缓冲,是自己信心不足惧怕走向社会的一个临时窝点。当然并不是所有人都这样。不能以偏概全。
  • 我讨厌党八股,讨厌马列毛邓。我考我的计算机,你弄个马列毛邓干啥,还非得占一百分,什么道理。大学生盲目入党是中国教育最大的悲哀。
  • 我在本科阶段没有找到我的舞台,我对研究生阶段不报任何的希望。我泡过实验室,也了解一些研究生生活的内幕,发现这潭水深的很,不是那么好趟的。有个教授着我谈,硬是给我发一个直博的 offer,其实那个时候我还是挺心动的——在美丽的西湖边老和山下,在静下心来读五年书,探寻下计算理论和数学基础的和谐之美,想想还是挺惬意的一件事情。可是后来我想到要继续向本科那样应付各种无聊的课程、评比、会议、论文,想到王垠的万字退学书,就觉得这对我来说太不靠谱了,因此就据掉了。

工作

  • I need money。我需要钱来满足我个人物质和精神上的需求。我需要钱来作为基础,去做自己追求的更高的事情,比如开办一所学校,比如去帮助那些需要帮助的人。我希望我 30 岁前能够赚够一千万,这个目标可能现在看来还遥遥无期。我还有 8 年。说了这么多,我承认我很爱钱。但我认为钱仅仅是一种手段,但是决不能成为人生的目的。钱可以帮你达到某种人生目的、实现人生的价值,但是钱本身不是你需要达到的人生目的、也不该是你人生的价值所在。
  • 我需要一个快速成长的平台与环境。社会和校园不一样。校园允许挂课,但社会不允许。这就是差别。
  • 我喜欢互联网公司的扁平、高效、快捷。比如 Baidu 自由的上班时间、永远敞开的高层办公室大门、无拘无束的服饰,淘宝的花名文化、江湖文化、倒立传统。
  • 我再也无法在校园的学习环境、评判体系下生活下去。它彻底抹杀了我的学术兴趣,扼杀了我的科研热情。我需要尽早地走向社会,寻找更大的舞台。

怎样去准备

  • 从现在就开始准备你的简历。简历上每一个词每一句话都应该是几周几个月甚至几年的积淀。整个大二一年我挂了 8 门课,连最重要的计算机基础课数据结构基础、计算机组成都挂掉了。总学分不到 90。那个时候唯一做过的像样一点的项目就是一个 Java 课上做的校车查询系统。那个时候我就想,以我这样的基础和条件,再过一年,我能找到什么样的工作呢?我开始去看各大公司的招聘要求,从那个时候开始我就开始关注找工作事宜了。大二下的时候我开始学习使用 Linux,并一直坚持了下来,熟练的使用 Linux 工作学习和生活,让我的工作学习效率有了大幅度的提高。大三伊始,我给自己定了几个目标:
    • 英语
    • 大三成绩
    • 专业能力
    • 项目经验
    • 扩大人际交往面,多认识一些牛人
    • 实习
  • 大三一年我几乎没有出去玩过。这一年我按照自己的目标闭关修炼:
    • 关于英语,我一直只是在坚持读英文原版教材、看英文技术资料,并没有刻意地去提高。
    • 关于成绩,大三上半年我确实很努力的在学习,过了 14 门专业课,平均 80 左右,对我来说是很高的成绩了,大三下由于各种事情,只过了 9 门专业课,弃了 2 门,挂了 2 门,平均也 80 左右吧。
    • 关于专业能力,我一直坚持使用 Linux 和 LaTeX,坚持使用 Linux 让我对 Linux 的日常应用、系统配置有了系统的了解,这让我日后应聘百度运维部有了操作系统能力的良好基础,坚持使用 LaTeX 写作业和报告,一方面提高了我的效率,另一方面也让我有机会结识了一些朋友。比如我一门课的助教在我交了一次作业后就把我的 tex 模版偷了去,用来做他自己的文档,还给我发来了邮件解释。
    • 关于项目经验,大三下的时候进去实验室做了一个 C++ 的手机项目,写了 5000+ 的 C++ 代码,让我的简历上有了浓重的一笔,五月份的时候很功利地去参加了学校的数模比赛,拿下了二等奖,这也终于让我的简历上有了一个像样的专业奖项;很功利地去 ZOJ 上刷了百十道题,还像模像样地去参加了校队的选拔,虽然是垫底被刷,但是简历上关于 ACM 的些许了解,还是让我多了哪怕一点点的资本吧。
    • 关于扩大人际交往面,我倒没有刻意去做。我虽然知道哪里有牛人,但是贸然加入,总是感觉很别扭。大三上的时候曾经去面试过 MSTC TG,无奈水平不够,悲剧了。没能加入 MSTC,没找到属于自己的学习进步的平台,没搞过像样的学业比赛,算是我大学里的遗憾;大三坚持写了一年的 blog,主打技术,一方面总结自己所得所学,另一方面也让自己有机会和同道网友交流学习;我还申请当了 ZJU88 上 LinuxApp 和 TeX 版的版主,虽然版面冷清,自己也确实没有做过什么事情,但这个虚名也可以在简历上写一笔吧;
    • 关于实习,通过自己的努力,我拿到了华数淘宝的实习 offer,虽然实习待遇很低,但是确实认认真真地做了三个月,学了 Shell Script/Python/Web/Server/FFMpeg 等很多东西,也确实做出了一些东西,成功上线。这也成为日后应聘百度运维成功的决胜之处。
  • 扬长避短,有选择的学习。所谓宽专交就是个狗屁。人的精力是有限的。有些东西适当了解是有好处的,但是过于深究未必是好事。就比如你用电脑不一定要知道 Intel CPU 8086 系列有多少条指令,你用微波炉烧饭不一定要知道其内部原理,你买个相机回来拍照不是要把它拆了看个究竟。我最讨厌的就是一个学期选十几门课几十个学分,痛苦的学着,还学不会学不精,最后靠老师放水拿到绩点学分,相当的无聊。据说 MIT 的研究生每个学期平均只选 2–3 门课,选 4 门的不是疯子就是绝世天才。我觉得什么时候中国的大学能够精简下课程体系和专业体系,不再搞那么多花花哨哨的东西,课业考核不再放水,那么中国的大学就离世界一流大学又近了一大步。
  • 关于 GPA 和学位。大二时比较幼稚,放狂言“GPA 就是个屁”——现在倒没有那么年少轻狂: GPA 的确能在某些方面反应出一个人的素质和能力。学位和成绩都不是最重要的,重要的是学位后面捆绑着的你自己的个人能力。或者说,学位是能力的副产品。

关于职业生涯的初步看法

  • 关于码农的前途。不要相信什么 IT 民工,码农没有前途的狗屁说法。更不要相信码农是吃青春饭的传言。码农也是有门槛的。码农可以转金融、管理、销售、技术支持,但是其余的专业却很少有人转回码农的。说码农吃青春饭,如此说来,绝大多数行业都是在吃青春饭了?干一行爱一行,找到自己所爱已属不易,如果看着碗里的看着锅里的,只能凭添一些烦恼罢了。
  • 终身学习。凡是毕业以后再不看书不学习的,要么家里有背景要么有钱,否则都没有前途。
  • 起点与奋斗。世界原本就是不公平的。你奋斗了十八年,很有可能你还是不能和你的同学坐在一起喝咖啡。我来自河北北部一个小小的县城,一个十年都不会有超过两位数的人考上清北复交浙大的地方。走出县城,进入唐山一中省理科实验班,保送到竺可桢荣誉学院,拿到 Baidu 的 offer,即便是去北京混几年,赚了点钱,又能怎样呢?我还是没有户口、 没有房子、没有车子的北漂一族。凭什么北京人享受那么好的教育资源?这个问题永远都不会有答案。你可以继续这样问下去:“凭什么美国人享受那么好的教育条件?世界前 100 的学校有一半都在美国,而美国和中国的人口比例呢?中国大陆的名校个数呢?”这样问下去终究是不会有答案的,也不会有意义,倒只会让自己产生无端的郁闷罢了。开复说“用勇气去改变可以改变的事情,用胸怀去容纳不可以改变的事情,用智慧来分辨两者的不同”,没错,就是这样。既然无法改变,就坦然接受,在有限的条件下实现人生的最大价值,这应该是人生意义所在。
  • 关于平台。看一个人的品味和素质,要看他的朋友圈子。这就是平台的作用。
  • 有的时候不是因为你优秀,是因为你不可替代。
  • 关于专业差异和薪水。大体来说,工作分为两类,所谓技术类的和非技术类的。技术类的门槛较高,光简历就能刷掉一批人,而且很多岗位有专业限制,起薪也会相对高一点,以后的上升空间会比较平稳。非技术类的门槛略低,所以很多时候这类岗位由于不限专业的原因,竞争非常激烈,常常会出现群面的状况。但是我所面试的 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》。这里说的我也没有完成,但是我知道我该读哪些书,该去怎样做。
  • 努力认识一些牛人。作为浙大 CSer,不了解吴嘉之的传奇、不知道徐串叔叔 GCJ 冠军的骄傲、不知道 Zodiac 的辉煌,是不可原谅的。有对比就会有差距。我大一刚刚会装 XP 的时候用了一个 VPN 上网的软件,后来惊奇的发现原来这个软件的作者是我的同班同学 ……到了现在,我用的 Linux 平台上的输入法,ibus-sunpinyin,其中一位主要的作者,也是我的同班同学;我所用的 VPN 上网的包,也是自己同届同学写成的;还有 ACM 金牌 winsty 同学,经常请教一些问题,对我帮助非常之大。其实所谓大牛只有两种,一类是天才型的,一类是勤奋型的。天才加勤奋型的,那绝对是大师级别的。前者,天才型的,比如我的高中同学,我们同样是来自承德小县城的中考状元——中考分数都一样,到了高中第一次月考,我考了年纪 300 多名,那个哥们以数理化三门满分的成绩拿下了年级第一名……后来也是这样,那哥们两个一奖年级综合第一保到了清华,我么,费了九牛二虎之力拿下一个一奖,来到了浙大。后者,勤奋型的,这样的例子太多了。相比较而言,我更佩服后者。

最最重要的

  • 知道你想要什么样的生活,努力去做,并以此为乐。大学里有人说学习 GPA 很重要、有人说社团活动很重要、有人说比赛实习很重要。其实这些都不重要。最最重要的,是你知道你想要怎样的生活,向着这个目标努力去做,并以此为乐。一言以蔽之,follow my heart。记住,你是一个人,不是现代化教育生产流水线上的产品。所谓人生,就在于有目的地折腾。