今天3月13日,8年前的今天,2006/3/13,我第一天上班。
还清晰记得第一次面试的经历。 我大学的专业是计算机网络技术,是高职教育,说白了就是大专学历。大学期间自感没学到什么东西,上机编程实践的机会也少,一直也担心未来的就业问题。我是2006年7月份毕业。
我的第1家公司(2006.3~2007.2)
2005年春节回校后,我就去学校的网吧上网,用我的126邮箱投递了几封简历。还不错,等了一个星期,有个公司回复我了,我做了下自我简单介绍,其中有鼓吹的在大学期间做过几个IT项目。后来被老板追问,我无从作答。很后悔自己撒的谎言。由衷的向那老板致歉。又过了一个星期,我惊奇的发现,那老板又回复我了,告诫我不要撒谎,并且认可我的诚实的态度,问我是否还愿意来公司面试。 我当然愿意了!就在3/10日星期五去面试了。老板是个瘦瘦的带着近视镜的年轻人,比我大不了几岁,不过一看就是很聪明很精明的人。我们的面试,当然没问什么技术问题,他只介绍了一下要做的项目,云云。最后问我期望薪资,我说1000~1200吧,老板回复我道“我给你1500,你下周一来上班吧”。
我欣喜的很!在我们这个专业的应届毕业生里,我是为数不多的先找到工作的,而且工资算是比较高的。记得2006年3月底,老板拿了750块钱现金给我这半个月的工资,我是非常兴奋。哦,先介绍下我的第一个公司,是个小公司。老板,刘Z,是中铁物流的IT部经理。后来因为拿到了一个大项目就成立了这个科技公司,为广州一通物流做一套集成的物流管理软件,算老板一共4个人:老板和一个项目经理,我和另一个新手。
我工作生涯里的第一年的经历可以说是一帆风顺,春风得意。 我顺利的拿到毕业证,还有了女朋友。工作上,由于是小公司,做的事情自然很杂,webform和winform的程序都写,也经常编写冗长的sql程序。刘Z和PM也比较看好我,给了我很大的帮助,自然我的成长也很快,工资在6月份就到3000了。10月份还拿到一些奖金。11月份,公司谈了新的项目,做一个小区网。他们那边也有项目团队,我们就和他们一起,在东五环边上的一个高档小区里,封闭式办公。到了年底,刘Z因为移民Canada的妻子生孩子,而去了Canada。后来,我们就并入了那个小区网公司。至此,我白天做小区网的开发工作,其余时间还要忙着维护上一个物流软件上的一些未完善的功能。这样的待到了年底,我离职。离职原因有二:一是由于跟刘Z和PM的沟通不畅,我疲于维护之前的烂尾项目,另一方面,当时的年轻气盛,受新同事的误导,我不满于我与同事做类似的开发工作而我的工资却少他们很多。
我的第2家公司(2007.3~2008.3)
2007年春节我没有回老家过年,为什么呢?首先平时我所得的工资,多半是寄回老家,缓解当时比较贫困的家境。而我没了工作,自然就没了收入,就没好意思回老家。跟着女朋友去了她家过年。过了春节后,回京找工作。几次面试,发现我还是有挺多技术不懂的,对面向对象、算法也都是一知半解。好容易在3月份找到了比较正规的有规模的做收藏品的公司,在他们的网络管理部做电商网站开发。公司算是成立不久的,短短数个月内疯狂招人,公司组织多次变更,我的组织关系也跟着改变。包括做的项目,从电商网站、内部论坛、OA,到后来的取缔原来的电商网站而做新的电商网站。干了一年,也就是2008年3月份,公司精简机构,半数员工被裁,我在其列。
我的第3家公司(2008.3~2011.3)
我供职的第三家公司,O公司,是我在第2家那个收藏品公司的前同事李峰给推荐去的。李峰在那个收藏品公司,做了3个月的PM,因不看好公司而离职。离职后,就去了O公司。O公司本是一家韩国的快销品企业,2000年左右进军中国市场,其产品好丽友派、薯片、口香糖深受青少年消费者喜欢。O公司的IT系统,远远滞后于业务的发展。IT部可以说是李峰去了才算是有的,后来从韩国调过来一个李课长,是我们的头儿。我熟悉了一个多月后,适应了这里的环境。开始协助李峰维护公司内部使用的销售管理系统(下面简称“OSMS”)并逐渐自己承担起来。除了公司的ERP外,OSMS是公司里一个比较重要的系统。不过在那个阶段,ERP和OSMS都是千疮百孔,大家的工作多半是做系统维护和改善。ERP是C/S的,只给工厂里的一些企划人员安装使用,OSMS是B/S的,营业企划、各级营业部门、市场部、工厂企划担当等同事每天都要访问。OSMS是2006年让外包公司给做的,定位于支持营业销售。后来,也是我接手之后,又填充了非常多的功能模块。除了起初的营业日报录入、制品价格管理、销售目标设定,还包括针对诸如WalMart、百佳、京客隆、家乐福等超市、大卖场的OT系统及KeyAccount管理、市场物资(LOOK工具)采购管理、KPI、业绩分析、会计报表查询、经销商管理,等等等等。我在O公司的3年,基本上每天都是在忙碌中度过的。一方面和营业企划部的同事讨论需求,梳理流程——有时会走访工厂和营业本部、营业所,体验一把一线同事的工作——排期及开发,部署,上线;一方面,要维护现有功能,包括OSMS与ERP在营业销售数据、物流订单等数据的同步,快速响应并解决营业及工厂担当们提出的系统方面的问题。后来,按照IT部的规划,公司有了供应链管理系统,OLAP系统,营业费用系统,OA等,逐渐把OSMS的一些模块给剥离出去。 记得OLAP系统是2009年中旬公司花了重金请BI公司给开发的,期间我投入了很多的工作,帮助外包的项目团队熟悉业务,了解数据结构,并和他们讨论ETL机制。 OLAP上线后,用户反应并不是太好,大家还是偏好于使用OSMS。 客观来说,大家对OSMS是有怨言的,但更多的是认可。我也是始终一直努力,来提高系统的易用性。营业及工厂的leader们最关注销售分析模块的几个查询报表,每天要看一下昨天的销售业绩。这块的性能奇差无比,动辄要等个2到3分钟才可以看到查询结果,甚至会timeout。为此,我们的头儿也很伤脑筋,因为他也经常被追问为什么这么慢。我的老兄李峰也搞不定,其他的同事基本上是说风凉话。一度我也很郁闷。2009年9月份,李次长(李课长升职)邀请了来自韩国的MVP郑老师,给我们培训sqlserver数据库性能,他对这块给了些建议和改进,但结果也不太理想。当然,很感激郑老师的一些点拨,我后来终于摸索到了解决方案。我将2到3分钟或timeout的时间缩短到了3到5秒即可得到查询结果。 我不是在自吹自擂,我的老大当时看到这个情形也很吃惊。
的确是,顺境不会造就人的提高。在压力面前,我不断思考,不断创新,最终使自己得到了提高。让我感到庆幸的事儿还有,我在2010年中旬使用了silverlight框架改造了经销商管理系统。一个月的时间,常常是在下班后18:00点到22:00点的时间里,基本上是自己一点一点研究,最终交付用户使用。期间因攻克技术难点而带来的惊喜也颇多。
2011年3月份,3年的劳动合同到期,我决定离职。当然,并非因为合同到期,大家都知道,合同说白了就是一张纸,没啥用。我只是为了说明我在O公司工作了3年整。就像搭乘长途公车,我到站了,该下车了。那些日子,我打心里一直饱受过客般的失落。吃散伙饭那晚,我哭的稀里哗啦,连李次长也流泪了。 这是我供职时间最长最有感情的公司!O公司赐予的工作行为以及技术方面的培养,令我无法忘怀。我辛勤的付出,也得到了不少收获,自己在技术(主要指sqlserver数据库维护、t-sql编程及tuning)和团队沟通与协作方面取得了长足的进步。我感激我的团队,就像我在发给同事们的辞职信上所说的“如果我取得了一点点进步的话,90%归功于我的团队!”,同时,在我发出的辞职邮件后,我收到一位工作往来较多却不曾谋面的营业一线业务经理的回信,信中这样写道“我觉得***(O公司名称)的IT部是从你开始的”。
我的第4家公司(2011.3~2013.7)
我供职的第四家公司,京东。我在离开O公司之前已经收到了offer的。我的第一个项目是做一个订单履约项目(下文称Promise)。开发小组里都是技术能手。因为我之前的工作偏重于sqlserver编程,所以在这里才真正接触了dotNet和c#,还有诸如Memcached、Lucene.net等技术。 也开始系统的学习和实践OOP、设计模式、开发模式。小组长是个典型的dotNet控,最崇拜老盖(比尔盖茨)。在这个开发团队,大家沟通融洽,与产品经理、架构师的协作也不错。不过,我干到同年8月份,半年不到的时间,就有离职的念头了。为什么呢?公司官僚气盛。我在2011年8月份买房,办的一些手续需要公司配合,比如盖章什么呢。这么简单的一件事,在京东,足足有多半个月才办下来,搞的我一点脾气都没有了。还有一个原因,可能是长时间受O公司工作方式的影响,在O公司开发、测试、线上部署等流程,由于人少,我都能快速搞定,而在京东呢,走流程,这事儿需要领导审批,那事儿需要领导审批,等审批完了,可能还受运维或DBA的白眼。太烦琐了,我受不了,高处不胜寒呀!
虽动了辞职的念头,但我出去面试不理想,就作罢了。10月份,我们的Promise项目从原开发团队独立出来,成立订单用户体验组,由一位新入职的高级经理接管。这时,Promise二期启动。适逢公司技术转型,由dotNet转为java。Promise二期新增了一些需求,同时采用java开发。而我,因为需要,调去做另一个新的项目,就是我要提到的订单分布。订单分布是一个小型决策支持系统(DSS),利用ETL,从不同维度和粒度分析京东商城订单各指标的分布情况。开发这边由一个架构师主管,我和一个实习生配合。架构师懒散、缺乏责任感,不久经理不让他管了,我顶上。于是乎,就是我和实习生来开发。同时,由于产品经理不太热情。很多事情,不得不交由我来扛着。经理也知道我很尽心,也给我做一些指导。上线前的一个月是最忙碌的一个月,主要是产品经理提出了需求,但是我们要去找很多部门询问订单的各种数据的所在以及计算方式。加上匆匆的提交测试,为测试人员讲解需求,配合他们编造数据,再加上修改程序fix bug,我这天天忙的不亦乐乎。到上线的时候,又接着走烦琐的各种流程,那几天把我整的烦死了,发誓过了春节就滚蛋。
过了2012年春节,我一边忙着订单分布的运维,一边开始找工作。不知不觉到了3月份,正当我鼓足了勇气向经理提离职时,他说他要离职了。部门有了新的经理xjf,是从别的开发团队调过来的。xjf一再劝说我别离职,当然,他也是考虑到了他的利益,刚上任就有属下离职,对他仕途不利。我后来就决定先不走了,继续跟着他干,看未来如何吧。现在想来,xjf能力不错,在他的领导下,经过三个月的努力,Promise的一些乱如麻的事情,已经屡顺。大家的工作也有了条理。那些日子,xjf经常身先士卒,在公司熬夜苦战,他的付出最多!订单分布系统呢,由于领导,包括CEO,CTO,非常关注订单趋势,一旦对数据产生质疑,首先就要质问xjf。每当这时,我们就要去询问相关部门,是不是哪些系统或环节出了什么问题,跟他们核对数据,完了xjf向领导汇报,还往往要撰写个email进行解释。订单分布的源数据都是从别的相关系统抽取过来的,依赖的上游系统出了问题导致订单分布上呈现的结果有误,而这时,还要由我们来找相关人员去解决,经常还要挨批,这事儿,搁谁头上谁心烦。还好,到4月末,订单分布的移交工作提上了日程。一开始是移交到一个兄弟部门,还没等移交完,改了,要移交到数据部。我就开始一遍一遍给他们讲需求,讲每一段程序,每一个sql。直到7月中旬,才完成移交工作。 xjf我俩,如释重负呀!
移交订单分布的同时,我就开始同时也做其他一些事情了。5月份,我作为主管,和部门内另一个开发,配合前台信息部做的一个次日达打标项目。等到6月末次日达打标上线后,我开始和另外2个开发,研究阿里的dubbo框架。9月份,公司研发团队把项目质量提到比较高的层次。大家都在实践如何保证项目质量。比如写unittestcase,检测行覆盖率,定期Code review,搞最佳实践,基于Jenkins+svn做持续集成,mock,等。我们开发组呢,也开始探讨和开发一个自动化的功能测试框架。主要针对的项目是Promise项目。我们严格根据Promise的需求,再写一套计算逻辑,与Promise项目源程序,定期一起执行,互相校对。如果不一致,则寻找问题的原因所在。通过这个框架,的确发现了Promise项目不少潜在的逻辑问题,尤其是在每次有需求变更时。这个项目我也是作为项目主管全程参与的,后来xjf经理也把这个实践分享给其他部门,包括测试部,也来找我了解这个神器。这个项目,后来,还申请了公司内部的发明创新专利。
在2013年春节后,我负责一个订单配送时效的项目。这时起,我的工作变得有些吃力了。首先,2011年终公司技术转型时,我这个dotNet老兵,不想再去深入学习java及一些框架了,刚好,我觉得我转型的时机到了,就跟经理提出要转型做管理,当然,也写一些代码,毕竟java跟c#这些面向对象语言的语法类似,只是java工程里诸多冗长的配置我用到什么就记住什么,不再做进一步的学习。整个2012年这一年来,我的工作偏重管理。在订单配送时效项目里,我的技术方面的弱势越来越成为我进行管理的劣势;其次,项目组里有几个比较另类的程序猿,我的管理上也比较吃力;再次,xjf经理一边让我管理这个项目,一边给我好多部门间协调的事情,往往很费心思;最重要的,我经济压力大,那时,我刚在北京买了房,贷款不说,还借了十多万,于是我想跳槽,我对项目管理也不那么用心了。
我5月初已经定了下家,6月底开始兼着搞那边的前期准备工作。一直没好意思跟经理提出来走。那段时间,我的工作越来越被动越来越糟糕。7月初,我离职。
我的第5家公司(2013.7~2014.2)
2013年7月初,我去了我的第五家公司。与其他公司不同,这家公司在河北邢台。我老家在河北邯郸,从邢台到北京高铁2小时,距离上我可以接受。这家公司主要业务是线下经营字画。老板看到电商的威力,也想做网上商城,他也做了很多的准备。白手起家的80后同龄人,把公司做到字画营销行业里比较有规模的公司,我看重他这个人,还有他的想法,同时,我也认定了这是我借以发展和成长的平台,是我撬起地球的杠杆。于是,应他的邀请,过来和他一起成就我们的事业。我入职后,开始成立并组建网络部,负责团队和项目管理。与其他公司不同,这次,好多事情,要由我亲自来做,比如招人、员工考核、日常管理,服务器采购,项目管理方面,也全由我来做计划、排期、分配任务并监督跟进。的确是一次很好的历练。9月底,团队基本上组建完成,设R&D和UED两个小组。我们的第一个项目,于11月底成功上线,老板也比较满意。接下来的项目,是书画商城,在我入职之后,也一直在做这个书画商城的需求调研和项目设计及规划。在我的领导下,大家的工作比较融洽、高效。不料,一次突发事件,把公司带到了破产的边缘。那是在12月27日,再有5天就是新年元旦。直到今年2月份,公司仍没有足够资金,不得不中止电商项目。当然,我也回到北京,继续北漂。
2014年,路还在继续。
对我个人的一点总结|感想
l 我算是比较敬业的,我常常为了思考工作上的事情,深夜不寐。在O公司维护OSMS系统时,我的脑子是“多线程”的,每天同步处理很多事情或问题。处理问题时,我并不是随意的处理掉完事,而是思考更好的解决办法,试图将问题根治,这点来看,我算是比较认真的; 我刚入职京东时,参与一个订单履约项目的开发,那时候每天3个小时在上下班挤地铁的路上,每天工作时精神饱满,对于一些有“午休”习惯的同事来说,有些接受不了; 在上家公司做团队管理那段时间,事情多,每天睡眠时间低于6个小时,做着各种事情。
l 经历≠经验,我这8年的经历里,没什么经验。但是,我思维算是清晰的,对于解决问题自有自己的一套方法;对于很多产品设计或软件设计的场景,我有自己的观点,也被证明是正确甚至是明智的。
l 我接触的比较多,数据库,重构,设计模式,UML,分布式,html/css,站长,算法,数据分析,软件架构,项目管理,用户体验,管理学,心理学,组织行为,产品,供应链,跟项目组每个干系角色在工作上都有的聊。我不聪明,很吃力的学习各种知识,但没有精通的。
l 我考虑问题比较心细,注重细节。生活中,粗人一个。
l 自认为是个靠谱的人。我在和我共事的人群里的人缘不算差。喜欢顾及他人的感受。百度百科技术类、csdn、博客园,我喜欢分享。
l 我是实诚人,不会也不懂忽悠。现在,实诚未必是优秀品质,忽悠也是一种能力。
l 我离成熟尚有一段距离,在成长ing…。