Table of Contents
1 为什么要找工作 1.1 出国 1.2 读研 1.3 工作 2 怎样去准备 3 关于职业生涯的初步看法 4 关于计算机专业的学习 5 最最重要的1 为什么要找工作1.1 出国一直没有想明白为什么要出国。很多人刚上大学的时候就定下了要出国深造的目标,他们的大学生活就按照这条主线稳扎稳打,好好学习、争取名次拿到奖学金、GRE、TOFEL、大三出去交流一个暑假、大四回来开始焦头烂额的准备ps、cv,投递申请,拿到offer、然后出去旅游一圈,最后回来跟大家告个别,踏上异国求学指路,步步为营。说实话我挺佩服这样的人这样的生活,但也仅仅是佩服而已,佩服的是这样的坚持和毅力。但是我扪心自问,这是我想要的大学生活吗?我想了好久,我发现我心里面没有那种冲动,这也不是我特别想要的生活。一句话,我对这样的生活方式没有感觉,不感冒。出国需要很强的经济背景。我所了解的情况中,绝大多数出国的同学家都在城市里面,家里经济条件都不会太差。我虽然很爱玩,也花了一万多的银子在装备和旅费上,而且我的家庭条件也还说的过去,但是这些花费,恐怕也只够出去交流一次的机票钱罢了。再说我父母都是个体,我不想大学毕业后给他们带来更大的负担。GPA是一个坎,由于大学前两年玩的太high,导致成绩很是一般,想出国只有一个方法,就是重修。我才不愿意为了GPA去重修那些无聊透顶的课程呢。每当想起来马原、电路、思想品德,还要交作业,跟老师讨价还价,我就脑门疼。现在再想想,工作几年,自己有了一定的工作背景和经济实力后,还是很有可能出去深造下。其实一来是深造,第二就是我还是挺想去国外体验一下全新的生活。anyway,出去走走,看看外面的世界,这或许是我读书之外少有的爱好了。1.2 读研我觉得很多人考研是一种逃避,是一种缓冲,是自己信心不足惧怕走向社会的一个临时窝点。当然并不是所有人都这样。不能以偏概全。我讨厌党八股,讨厌马列毛邓。我考我的计算机,你弄个马列毛邓干啥,还非得占一百分,什么道理。大学生盲目入党是中国教育最大的悲哀。我在本科阶段没有找到我的舞台,我对研究生阶段不报任何的希望。我泡过实验室,也了解一些研究生生活的内幕,发现这潭水深的很,不是那么好趟的。有个教授着我谈,硬是给我发一个直博的offer,其实那个时候我还是挺心动的——在美丽的西湖边老和山下,在静下心来读五年书,探寻下计算理论和数学基础的和谐之美,想想还是挺惬意的一件事情。可是后来我想到要继续向本科那样应付各种无聊的课程、评比、会议、论文,想到王垠的万字退学书,就觉得这对我来说太不靠谱了,因此就据掉了。1.3 工作I need money。我需要钱来满足我个人物质和精神上的需求。我需要钱来作为基础,去做自己追求的更高的事情,比如开办一所学校,比如去帮助那些需要帮助的人。我希望我30岁前能够赚够一千万,这个目标可能现在看来还遥遥无期。我还有8年。说了这么多,我承认我很爱钱。但我认为钱仅仅是一种手段,但是决不能成为人生的目的。钱可以帮你达到某种人生目的、实现人生的价值,但是钱本身不是你需要达到的人生目的、也不该是你人生的价值所在。我需要一个快速成长的平台与环境。社会和校园不一样。校园允许挂课,但社会不允许。这就是差别。我喜欢互联网公司的扁平、高效、快捷。比如baidu自由的上班时间、永远敞开的高层办公室大门、无拘无束的服饰,淘宝的花名文化、江湖文化、倒立传统。我再也无法在校园的学习环境、评判体系下生活下去。它彻底抹杀了我的学术兴趣,扼杀了我的科研热情。我需要尽早地走向社会,寻找更大的舞台。2 怎样去准备从现在就开始准备你的简历。简历上每一个词每一句话都应该是几周几个月甚至几年的积淀。整个大二一年我挂了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的确能在某些方面反应出一个人的素质和能力。学位和成绩都不是最重要的,重要的是学位后面捆绑着的你自己的个人能力。或者说,学位是能力的副产品。3 关于职业生涯的初步看法关于码农的前途。不要相信什么IT民工,码农没有前途的狗屁说法。更不要相信码农是吃青春饭的传言。码农也是有门槛的。码农可以转金融、管理、销售、技术支持,但是其余的专业却很少有人转回码农的。说码农吃青春饭,如此说来,绝大多数行业都是在吃青春饭了?干一行爱一行,找到自己所爱已属不易,如果看着碗里的看着锅里的,只能凭添一些烦恼罢了。终身学习。凡是毕业以后再不看书不学习的,要么家里有背景要么有钱,否则都没有前途。起点与奋斗。世界原本就是不公平的。你奋斗了十八年,很有可能你还是不能和你的同学坐在一起喝咖啡。我来自河北北部一个小小的县城,一个十年都不会有超过两位数的人考上清北复交浙大的地方。走出县城,进入唐山一中省理科实验班,保送到竺可桢荣誉学院,拿到baidu的offer,即便是去北京混几年,赚了点钱,又能怎样呢?我还是没有户口、没有房子、没有车子的北漂一族。凭什么北京人享受那么好的教育资源?这个问题永远都不会有答案。你可以继续这样问下去:“凭什么美国人享受那么好的教育条件?世界前100的学校有一半都在美国,而美国和中国的人口比例呢?中国大陆的名校个数呢?”这样问下去终究是不会有答案的,也不会有意义,倒只会让自己产生无端的郁闷罢了。开复说“用勇气去改变可以改变的事情,用胸怀去容纳不可以改变的事情,用智慧来分辨两者的不同”,没错,就是这样。既然无法改变,就坦然接受,在有限的条件下实现人生的最大价值,这应该是人生意义所在。关于平台。看一个人的品味和素质,要看他的朋友圈子。这就是平台的作用。有的时候不是因为你优秀,是因为你不可替代。关于专业差异和薪水。大体来说,工作分为两类,所谓技术类的和非技术类的。技术类的门槛较高,光简历就能刷掉一批人,而且很多岗位有专业限制,起薪也会相对高一点,以后的上升空间会比较平稳。非技术类的门槛略低,所以很多时候这类岗位由于不限专业的原因,竞争非常激烈,常常会出现群面的状况。但是我所面试的IT公司,从来没有群面这一说。CS的起薪是很高的。但是CS的人对于王道这种说法还是会有一些不爽的。好像如此一来,CS是王道专业,自己只要有了这么个专业牌子,自己在专业上的努力就一文不值了。又有多少人知道写千万代码剪不断理还乱的踌躇、有多少人知道简简单单的一个百度首页,后面有上万人的团队在为之服务、保证其正确运行。隔行如隔山,在对一个行业有深入了解之前,还是少做评论为妙。有人说金融怎样怎样,有人又说销售到处跑怎样怎样,可是又有多少人知道金融人员的辛苦,销售人员初期起步一个个电话据信的辛酸。你既然说CS王道,薪水高,那你当初干嘛不选这个薪水高的王道专业呢?既然不喜欢,学习不来,到头来也没什么可以抱怨的了。4 关于计算机专业的学习注重内功的修炼。练就一副火眼金睛。什么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多名,那个哥们以数理化三门满分的成绩拿下了年级第一名……后来也是这样,那哥们两个一奖年级综合第一保到了清华,我么,费了九牛二虎之力拿下一个一奖,来到了浙大。后者,勤奋型的,这样的例子太多了。相比较而言,我更佩服后者。5 最最重要的知道你想要什么样的生活,努力去做,并以此为乐。大学里有人说学习GPA很重要、有人说社团活动很重要、有人说比赛实习很重要。其实这些都不重要。最最重要的,是你知道你想要怎样的生活,向着这个目标努力去做,并以此为乐。一言以蔽之,follow my heart。记住,你是一个人,不是现代化教育生产流水线上的产品。所谓人生,就在于有目的地折腾。