在这将近两年的工作里,发生了太多的事情,有了太多的收获和惊喜。一直想将他们付诸笔下却没有这个动力或者时间来实现,今天选择在2010年的最后一个夜晚。北京的冬天外面挂着凛冽的寒风,而屋内,一瓶啤酒,坐在电脑旁,我决定静下心来好好的记录和分享我在这两年中的收获和喜悦。

Ok,废话少说,let's talk.

1.走上工作
08年底,那时我大四,在国内一所一流的大学读计算机。和大多普通的大四学生一样,我选择了考研,只是因为觉得从心底里没有做好工作的准备,我热爱游戏,热爱自己所谓的音乐,热爱和兄弟们整天宅在宿舍的感觉,热爱能自由支配的时间。说实话,大学四年我几乎没学到什么,我从小学开始学习编程,我初中高中参加过信息学OI,所以有相对比较扎实的编程功底。大学中,我混迹校园,后来沉溺游戏,学业上没有取得过任何值得骄傲的东西(只有一门程序实践课曾经打过满分),游戏上取得的成绩就大多了,呵呵,这里说这个了。走过来之后,会发现所谓的电子竞技信仰,那都是小孩们编织给自己的梦想,活在自己世界里的英雄,不是真正的英雄。

临近考研,我觉得自己这样下去很没有意义,即时考上了也不开心,当时我想改考北大,所以我甚至想再复习一年,来年再考。所以,考研理所当然的没过,不调剂,于是开始无聊找实习。当时托一个在网上认识的北理弹吉他的朋友(现在已经成了我的非常好的哥们)内推到现在的公司实习。

于是乎准备简历+面试了N轮(为什么实习生也有N轮面试,这个我当时很费解,后来才知道是为了确定把我放到哪个岗位),通知我来上班。

说实话,我的专业应用水平当时在年级中算不错的,对语言层面的掌握(当时C、C++、JAVA、C#、PASCAL、汇编什么都小懂)和数据结构(常年做ACM类在线题库)都不错,所以面试笔试什么的基本不成问题。

2.实习
2009年3月,我入职开始实习。我被分配在一个部门叫做“终端产品事业部”,主要做一个嵌入式的中间件研发。走进工作,才知道原来正规的工程项目研发和学校写的代码是天壤之别,逼迫我不断进步、学习,我当时对很多面向对象的概念都还很模糊,因为在学校做算法或者数据结构题的话,基本都还是用面向过程(在学校时即使是用C++,也只是偶尔用到一些STL特性而已,很少用到面向对象)。

我觉得这段时间我过的异常“痛苦”且“快乐”。痛苦的是:我发现自己是一个软件研发的门外汉,“虚函数”和“纯虚函数”我甚至都不知道是干什么的,更别说什么“回调函数”,以及后来的软件上的所谓“集成”、“移植”等概念了。快乐的是:同事们非常友好,我在每个人身上都能挖掘到无穷无尽的宝藏,学到很多宝贵的知识,这种知识不是对课本的再复述,而是结合了实际经验和各人的理解消化之后的知识。

我迫切的热爱上了与人沟通,正因为这样,也使得我很快的成长起来。

我这时发现一个自己的很大问题,就是我想表达一个自己的思想,却总是无法找到最贴切的软件用词。后来我总结,这是软件研发新手必须走过的一关,就是了解团队沟通术语。每个团队都有自己的表述习惯,可能是起源于/标准化于团队的一个或若干个技术能手,总之,这种标准化沟通用语在工作中能起到莫大的作用。(包括后来了解的广义上的“设计模式”,其一堆看上去很牛X的模式名,也只是总结出来的团队沟通用语)

由于我在工作中的出色表现,我的实习工资被从1500/月 提高到硕士生标准2000/月。

不过实习嘛,后来也基本处于各种项目周边打酱油的阶段,不可能给你核心项目研发任务的,公司也不敢冒这个险。之后我回学校做毕业设计,就基本又断断续续请了2个月假。

3.毕业入职
09年7月毕业,经过和兄弟们狂喝滥灌的日子后,收拾精神参加工作。大家都知道,09年毕业生就业情况特别差,很艰难,特别是计算机专业,我的一些同学直到现在,也没有找到理想的工作。当时公司给我的offer相对来说不错,4500/月 + 北京户口。

对于本科生,解决户口是一件不太容易的事,所以我就珍惜了下来,决定到这家公司干。

正式入职,继续做 中间件研发。这时我开始参与核心项目,刚开始还是应用的研发与移植。随着对业务、开发流程的熟悉,我有了很多自己的想法,从以接口、框架的应用层面开始向引擎方面进发。后来技术总监对我比较欣赏,再加上一个老员工的离职,一下子让我从外围的开发工作投入到核心研发。

在这期间,我做过一个快速项目的项目经理(技术竞标,不过这个项目本来就没希望)。做过一个架构重构的实施负责人(领导3人团队,并且有来自各个team的技术支持)。做过一个系统最核心模块的代码重写。做过一个省级项目的应用层开发。做过一个N个厂家技术移植的白盒测试和技术支持(这里出丑了,对外邮件中用词各种不专业,哈哈)。

4.工作之余的思考
工作总是很繁忙,伴随着加班、辛酸。有时候甚至加班到晚上3点回家,我也没有任何怨言,反而有一种解决问题了的喜悦。

但是在工作之余,不免很多想法冒上心头。

 1)作为乙方,我有时觉得我们做的事情很没有地位。“摇尾乞怜”可能太过分了,研发的地位比商务低,整天需要修改代码来适应商务或者甲方的要求。让我很没有自豪感,在我心中,程序员、软件工程师应该是一个高傲的职位,是一个知识分子,知识分子都有一种独特的清高,为了五斗米折腰摇尾乞怜,真窝囊。(请原谅刚毕业的我内心的躁动,其实程序符合需求这是软件研发的基本原则,只是当时我太年轻,哈哈)

 2)我越来越不喜欢自己的工作内容,整天应付繁杂的BUG,这些BUG有时是来自底层的,你需要找负责底层的TEAM做支持,而在应用之下、硬件之上封装了3层!由于是跨平台的,可能同时还有N个操作系统平台和软件平台,C/C++开发跨平台这方面本来就很有问题,再加上中间层开发者

水平良莠不齐,或者中间层没有经过严格的接口测试,或者porting部分没有经过严格的移植测试,问题就来了……找BUG原因会找到会让你崩溃的。

 3)我对嵌入式一点兴趣都没有,没有成就感。

这时我对游戏开发产生了浓厚的兴趣,于是开始业余时间自己研究游戏开发的一些技术和原理。当时也啥都不懂,就组织了一帮子志同道合的朋友开始弄,自己做系统设计、项目组织。写了半年差不多整了几万行代码(做一个框架开发),当时我们还饶有兴致的自己实现了一个脚本解释器、一个封装HGE的2D渲染库、一个回合制游戏核心框架和一个牛B的游戏剧本半成品,后来由于时间和技术因素,暂时搁浅。但是我一直认为这段时间业余时间(几乎所有业余时间)做这个游戏框架是对我水平的一个极大的飞跃。后来我还研究了silverlight、WPF等“时髦”技术,这都是后话。

5.重拾信心
在工作中,身边的同事们对于我来说都是大牛,感觉从他们那儿知识总是取之不尽。于是我一直以一种很谦卑的态度在工作、生活。认识我的人都知道,可能我是一个比较傲的人,谈起对技术的理解,绝对不会认耸。后来想起来,也就只是能在不懂的人面前吹吹牛逼罢了,在真正的高手面前,你什么都不是。

时间一晃到了2009年10月。这时,有一个全公司范围内的技术级别考评。公司很多研发人员都参加了。不可思议的是!

我在笔试中取得了全公司最高分。(当然,很多大牛没参加)要知道,这是一个在美国上市的中国技术公司,人才济济,我从未想过能脱颖而出。这让我顿时对自己有了新的定位,我仔细整理了一下自己的思路:通过半年的工作,我在业务上已经有了大致的了解。包括我们的产品定位,技术选型。同时在技术上我有了飞速的进展,对如何构建工程级项目从完全不懂已经入了门。在我和我的一般同事们比较中,可能欠缺的就是对产品的细化理解以及对业务的理解了,而并非能力本身的差距。我从小到大,从来不怀疑自己的智商。而实践证明,我确实也能以较“惊人”的学习速度快速达到学习目的。所以我一扫工作中的阴霾,重新树立了自己的绝对自信,原来这半年我在工作中的稚嫩只是因为业务确实太复杂,而不是我水平低人一等。这让我有信心去学习任何复杂的软件研发技术和业务。

6.换部门
到了2009年年底,突然有消息,基于三网融合的思想,公司决定迈向互联网方向。马上要组建相关部门,选了我作为第一批员工。

我一万个愿意,我早就想摒弃嵌入式这块(硬件不是我的长项)而投入互联网的怀抱了。而且新的业务很快速被定为到以搜索业务、数据挖掘业务为核心的产品上。部门组建初期,甚至长期一段时间,我们只有3个研发人员。另外两位都是经验极其丰富的,一位有近10年工作经验后来担任部门技术总监,一位是清华毕业工作20多年的破解专家。只有我一个新人,而当时老大对我的任务就是,不断的学习新知识。

我擦,这个任务我太爱了。从此畅游在各种互联网技术中,在这段时间中,我整个从搭建、维护到调优过LAMP,我做过silverlight甚至flash,我甚至写过css/js/html,业务上还接触到ajax以及其长连接推送应用comet,这些技术从调研到最后应用于产品全都是经我之手。

值得一提的是,部门后来马上转入一位DB专家,他是一个非常热爱交流的人,我通过整天的和他交流,了解了在工程项目中数据库设计的流程和一些基本理念。

工资的话,这时我主动通过人事(人事MM和我很熟~,因为我在公司玩乐队,所以认识了来自各个部门的好朋友。)和老大提了一下,给我涨到了6000/月

7.JAVA团队
2010年6月左右,部门在一个项目上决定整体技术转型JAVA,于是招聘了一位JAVA架构师。我也开始投入JAVA的怀抱,由于有了工程型构建的底子加上面向对象,我在很短时间内就熟悉了J2EE的一些常见概念。比如IOC、AOP、ORM的概念和深入理解,同时熟悉了spring、hibernate、

lucene等JAVA模块。同时参与到项目的具体编码,我也是负责最核心的算法组织模块。

后来由于设计问题,需要进行大规模重构。我临危受命,负责组织重构,加班加点出色的完成了任务。后来就负责整个项目的技术上开发,该项目现在仍在维护,大致可以理解为一个分布式调度的数据挖掘框架及实现,加上一个模式识别组件,加上一个自动聚合算法。这个项目后来由部门老大亲自操刀设计,我参与了设计全过程,让我结合实际理解了 解耦、分工、系统规模以及数据流驱动。

这里有必要提一下部门老大这个人:他也同时是我原来部门的老大,跟我一起转到这个部门。我们部门成立就是为了要最终成立一家独自运作的公司(相当于内部二次创业),所以也相当于是我们自己的事业。老大是清华自动化毕业,10多年的工作经验,从硕士阶段就从事软件相关,毕业开始带领研发团队,到原来公司上市的产品都是他组织研发,让公司的董事们能登上中国富豪榜……太牛B了,我在之前部门还见过他写的代码,岂止能用膜拜来形容。是一个绝对的技术至上的研发出身管理人员,办事果断,亲力亲为,严厉……总之非常符合我的个性。

这时老大找我谈话主动给我涨薪到8K/月。我在之后的项目中,还做过若干通用方案的调研、设计,比如远程数据传输方案、分布式日志收集方案。还解决了项目中的重大技术问题。(之前应用跑在tomcat中总是有内存问题,我通过jprofile工具仔细跟踪,结合一些技术文档,解决了这个问题,根源在于第三方库使用的不正确。)

8.买房
其实2010年过年之后我就一直在考虑买房的事情,也不断看房中。终于在6、7月的时候决定买下一套房子,整个过程中资金筹措、谈判之类的把我累的够呛,够写一篇中篇小说,这里先不赘述了。总之我大概以110万代价(40+首付,60+贷款)买下了一套位于北京5环外的66平米的房子。现在看来,还是值得的,因为房价一直在涨,而且本地将处于三条地铁线交界区,肯定将飞速发展。

所以2010年的大事之一,就是我有了第一套自己的房子。

9.转变
由于之前JAVA开发项目的拖沓与各种管理问题,领导很愤怒,后果很严重。相关人等都被“请”走。而我们成立公司的事情也是越来越迫在眉睫,我们意识到,一位好的系统架构师是难寻的,也是难以从其他公司挖过来的。

老大很有魄力,(注意,我觉得这一点也是来自清华人共有的魄力,后面会解释)老大说,我们应该自己培养一个架构师。任何看起来非常牛逼的架构,也只是看起来而已,归根到底还是为需求服务,并且商用级别的架构都没有什么巧妙也没有什么难(当然这里指一般的商用系统,不是指改变世界的前沿技术如google、facebook),无非在于架构师对技术的理解、对设计的经验以及对技术发展趋势的把握和对技术发展前沿的嗅觉。于是,被认为具有良好计算机基础 和学习能力的我,被任命为部门架构师,也就是新成立以后公司的架构师。并且工资成8K/月 涨到 XX(未定)/月。我十分欣喜,同时也深感压力。喜的是我竟这么快成为了架构师,这是多少软件研发人员心中的目标;压力是,作为一个毕业不到2年的本科生,我何德何能担此大任。

当然,我这人最大的优点就是自我解压。我很快投入到新的工作中来,在工作中,老大安排了我和公司的首席科学家经常沟通,通过手把手的讨论我的设计稿,以及“夜半虚前席”的讨论,我在设计上很快的有了入门。我了解到了从头开始设计架构的考虑重点,一般流程以及如何迈出关键步伐,在哪个阶段定稿、拍板哪个部分的技术选型。并且在一个很快的时间内,我设计并组织实现了一个通用的分布式工作流引擎。并且这个引擎将大规模应用到今后的商用级系统。

这段时间,我还在部门推广lua、python等技术的应用,通过不断学习、熟悉新的知识,我将尝试寻找更多的新技术与我们产品的结合点。我相信,这也是系统架构师的职责。

10.清华人共有的品质
在工作中,我有许多同事都是毕业于清华大学。他们都是“土生”的清华人(从本科开始一直是清华),我发现了许多真正值得学习的共同品质,这是一些独特的气质。可能是真正的聪明人的体现。

1) 归纳能力。总是能把问题归纳成一个树状描述结构,条理特别清晰。

2) 愿意思考。在力所能及的思考范围内,总是把问题想的尽量全面,而不是留给“以后”去考虑。

3) 认真。从不轻视问题。

4) 理解能力。和聪明人说话从来都只要说一半,他就懂了。我太喜欢这种感觉了。

……

我并不是说这是只有清华人才有的品质,我只是觉得这些都是我们非常值得学习的,你说呢?

11.成为股东
新的公司马上成立,员工可以具有一定的持股。

我将投入10来万(当然,这不是我自己赚的钱,借的),怀着坚定的信息,将路踏实的走下去。愿新年大家一切都好!




30岁前不必在乎的30件事


  1、放弃

  把握的反面就是放弃,选择了一个机会,就等于放弃了其他所有的可能。当新的机会摆在面前的时候,敢于放弃已经获得的一切,这不是功亏一篑,这不是半途而废,这是为了谋求更大的发展空间;或者什么都不为,只因为喜欢这样做,因为,年轻就是最大的机会。人,只有在三十岁之前才会有这个胆量,有这个别资本,有这个资格。

  2、失恋

  不是不在乎,是在乎不起。三十岁前最怕失去的不是已经拥有的东西,而是梦想。爱情如果只是一个过程,那么正是这个年龄应当经历的,如果要承但结果,三十岁以后,可能会更有能力,更有资格。其实,三十岁之前我们要做的事情很多,稍纵即逝,过久地沉溺在已经干涸的爱河的河床中,与这个年龄的生命节奏不合。

  3、离婚

  不是不在乎,是一切还来得及。一位三十八岁的女友与老公结婚十五年,冷战十三年,终于分手。她说:"如果说后来不愿意离婚是为了孩子,那第他第一次提出离婚我没有同意,现在想来真不知道为什么。如果个时候早分手,我的生活绝不会是今天这个样子。现在再重新开始,总觉得一切都晚了。"

  4、漂泊

  漂泊不是一种不幸,而是一种资格。趁着没有家室拖累,趁着身体健康,此时不飘何时飘?当然,漂泊的不一定是身体,也许只是幻想和梦境。新世纪的时尚领袖是飘一代,渴望漂泊的人惟一不飘的是那颗心。

  5、失业

  三十岁以前就尝到失业的滋味当然是一件不幸的事,但不一定是坏事。三十岁之前就过早地固定在一个职业上终此一生也许才是最大的不幸。失业也许让你想起埋藏很久而尘封的梦想,也许会唤醒连你自己都从未知道的潜能。也许你本来就没什么梦想,这时候也会逼着你去做梦。

  6、时尚

  不要追赶时尚。按说青年人应该是最时尚的,但是独立思考和个性生活更重要。在这个物质社会,其实对时尚的追求早已经成为对金钱的追求。今天,时尚是物欲和世俗的同义语。

  7、格调

  这是小资的东西,"小资"这个词在今天又二度流行,追求格调就是他们的专利。小资们说,有格调要满足四大要件:智慧、素养、自信和金钱。格调就是把"高尚"理解成穿着、气质、爱好的品位和室内装潢。也就是大老粗只会表现谈吐的庸俗,"小资"们已经有能力庸俗他们的心灵了。主流观念倒不是非要另类,另类已经成为年轻人观念的主流了,在今天,老土倒显得另类。关键是当今社会是一个创造观念的时代,而不是一个固守陈旧观念的时代。

  8、幼稚

  不要怕人说我们幼稚,这正说明你还年轻,还充满活力。"成熟"是个吓人的词儿,也是个害人的词儿。成熟和幼稚是对一个人最大而无当、最不负责任、最没用的概括。那些庸人,绝不会有人说他们幼稚。不信,到哪天你被生活压得老气横秋,暮气沉沉的时候,人们一定会说你成熟了,你就会知道"成熟"是个什么东西。

  9、评价

  我们最不应该做出的牺牲就是因为别人的评价而改变自我,因为那些对你指手画脚的人自己也不知道他们遵从的规则是什么。千万不要只遵从规矩做事,规矩还在创造之中,要根据自己的判断做每一件事,虽然这样会麻烦一点。

  10、不适应

  在一首摇滚里有这么一句:"这个城市改变了我,这个城市不需要我。"不要盲目地适应你生存的环境,因为很可能这环境自身已经不适应这个社会的发展了。

  11、失败

  我的老师曾经跟我说,一个人起码要在感情上失恋一次,在事业上失败一次,在选择上失误一次,才能长大。不要说失败是成功之母那样的老话,失败来得越早越好,要是三十岁,四十岁之后再经历失败,有些事,很可能就来不及了。

  12、错误

  这是年轻人的专利。

  13、浅薄

  如果每看一次《泰坦尼克号》就流一次眼泪,每看一次《大话西游》就笑得直不起腰,就会有人笑你浅薄。其实那只能说明你的神经依旧非常敏锐,对哪怕非常微弱的刺激都会迅速做出适应的反应;等你的感觉迟钝了,人们就会说你深沉了。

  14、明星

  不是不必在乎,是不能在乎。明星在商品社会是一种消费品,花了钱,听了歌,看了电影,明星们的表现再好,不过是物超所值而己,也不值得崇拜呀?就像你在地摊上花五十块钱买的裙子,别人都猜是八百块钱买的,物超所值了吧?你就崇拜上这身裙子了?

  15、代价

  不是不计代价,而是要明白做任何事都要付出代价。对我们这个年龄的人来说,这绝不是一句废话。否则,要到三十岁的时候才会明白自己曾经付出了多少代价,却不明白为什么付出,更不明白自己得到了多少,得到什么。

  16、孤独

  这是为自由付出的代价。

  17、失意

  包括感情上的,事业上的,也许仅仅是今天花了冤枉钱没买到可心的东西,朋友家高朋满座自己却插不上一句话。过分在乎失意的感受不是拿命运的捉弄来捉弄自己,就是拿别人的错误来惩罚自己。

  18、缺陷

  也许你个子矮,也许你长得不好看,也许你的嗓音像唐老鸭……那么你的优势就是你不会被自己表面的浅薄的亮点所耽搁,少花一些时间,少走一些弯,直接发现你内在的优势,直接挖掘自己深层的潜能。

  19、误会

  如果出于恶意,那么解释也没有用;如果出于善意,就不需要解释。专门说到"误会"倒不是因为一个人在三十岁之前被人误会的时候更多,而是这个年龄的人想不开的时候更多。

  20、疯狂

  这是年轻人最好的心理调适,只能说明你精力旺盛,身心健康。说你"疯狂"是某些生活压抑、心力交瘁的中老年人恶意的评价,他们就像一部年久修的机器,最需要调试,但只能微调,一次大修就会让他们完全报废。

  21、谣言

  这是一种传染病,沉默是最好的疫苗。除非你能找出传染源,否则解释恰恰会成为病毒传播最理想的条件。

  22、稳定

  三十岁之前就在乎稳定的生活,那只有两种可能,要么就是中了×××,要么就是未老先衰。

  23、压力

  中年人能够承受多大压力检验的是他的韧性;年轻人能承受多大压力,焕发的是他的潜能。

  24、出国

  也许是个机会,也许是个陷阱。除非从考大学的那一刻你就抱着这个目标,否则,对待出国的态度应该像对待爱情一样,努力争取成败随缘。

  25、薪水

  只要是给人打工,薪水再高也高不到哪儿去。所以在三十岁之前,机会远比金钱重要,事业远比金钱重要,将来远比金钱重要。对大多数人来说,三十岁之前干事业的首要目标绝不是挣钱,而是挣未来。

  26、存款

  这倒不一定是因为我们钱少,年轻人现在谁都知道钱是有生命的。机会这么多,条件这么好,可以拿钱去按揭,做今天的事,花明天的钱;也可以拿钱去投资,拿钱去"充电"。钱只有在它流通的过程中才是钱,否则只是一沓世界上质量最好的废纸。

  27、房子

  除非你买房子是为了升值,要么就是你结婚了。我有个同学,家在外地,大学毕业之后,单位没有宿舍,家里就给他买了一套房子。他曾经有过去北京工作的机会,但是他觉得刚买了房子就离开这座城市说不过去,就放弃了。到现在他工作稳定,但一事无成。唯一的成就就是结婚了,并且有了孩子,因为他觉得不该让这房子永远空着,所以房子变成了家。房子是都市生活的寓言,这个寓言不应该过早的和我们相关。

  28、年龄

  女孩子一过二十五就开始隐瞒自己的年龄,其实大可不必。现在青年期都延迟到四十五岁了,二十五又算得了什么呢?

  29、在乎

  这是一种拿不起、放不下的心态,它的反面不是放弃,而是天马行空,自由自在,永远保持革命乐观主义的精神。

  30、舍得

  有舍才有得!