2015年度总结

2015年一晃就要过去了,写上一篇Blog还是在15年初的时候,时间过得好快。

2015年是非常辛苦的一年,自我感觉比在创业公司还要辛苦,这一年,完成了集团CRM的整合,网站的整合,以及新的移动应用的开发,面临了无数的困难和挑战。

年初时,由于集团收购了一家欧洲的酒店集团,所以在春节前,去了趟法国巴黎进行调研,这也是我个人第一次踏出国门,对巴黎的印象不错,以后一定会带着家人再去一次。

过了年,一直到6月中,是今年最忙碌的一段,几个整合项目齐头并进,不断出现各种问题,不停的解决问题,协调进度,在上线前,我们整个团队连续20多天没有休息,每天都是披星戴月,凌晨下班。我们很多员工,在上线前都没怎么回家,就住在公司傍边的酒店,实在是没衣服换了,才回趟家拿衣服。我自己出现极度紧张导致无法入睡,血压升高,半夜去医院的情况,还好没有什么大恙。

项目在时间点上线,但问题仍然很多,特别是部分系统极不稳定,经常宕机,而且恢复时间极长,当时是非常让人崩溃的,内心里极度痛恨Oracle,他们的产品怎么会有这么多问题,但唯一能做的就是坚持,不断的排查问题,寻找原因,随着时间的推移,事情都在朝好的方向发展。

下半年忙碌的情况好于上半年,通过升级硬件、数据库,增加监控等方法,系统已经进入比较稳定的状态。

2015年也是考验团队的一年,有句话叫:“每个牛人都有一段苦逼的经历”,相信这一年,很多团队成员经历了他们在职业生涯中最苦逼的一段时光,但有磨练就有成长,相信这一年也是他们最快速成长的一年。

个人技能方面,在今年研究了Python,也用Django框架做了点东西,感受是无论Python,还是之前使用过的PHP或ROR,在网站前端开发方面都比Java要高效许多,但公司技术栈还是以Java为主,引入PHP或Python做大规模使用比较有难度。同时我后知后觉的研究了一下Maven和Git,虽然这些东西大家都已在使用了。在下半年的时候,公司接触到一支从Google出来的创业团队,做Docker集群,我们已经与其展开在Docker方面的合作,预计在明年上半年,我们将把部分应用迁移到Docker上。

今年读了几本书,有《从0到1》、《创业维艰》、《孵化Twitter:从蛮荒到IPO的狂野旅程》、《创业时,我们在知乎聊什么?》、《增长黑客:创业公司的用户与收入增长秘籍》、《重新定义公司:谷歌是如何运营的》、《从领先到极致:互联网时代下的创业、创新与管理哲学》,还有几本没来及看的《硅谷百年史》、《硅谷之谜》、《信号与噪声》,这些书都不错,但好像都和创业有关:)

英语的学习一只没有中断,在扇贝网上背单词的打卡已经将近800天了,现在每天在下班回家的地铁上,都听一篇ESLPOD的Podcast,提高听力水平,ESLPOD的内容非常好,也推荐给大家。

年中的时候,我们一家三口,去了一趟泰国普吉岛,这也是第一次全家出国。以前一直忙工作,但以后要多带孩子出去旅游,让他感受不同的风土人情,开阔眼见,增长见识。

关于创业,在5月份的时候,应查立老师的邀请,我去起点创业营做了一个“创业分享”的演讲,与创业者在一起总会感受到激情,创业者无论成功与否都是好样的,希望还有机会能去创业。

展望2016年,我还是会重点培养团队,产品方面精雕细琢,同时重点在移动产品方面发力,技术架构需要演进,逐步摆脱Oracle的束缚,由重变轻,Docker将是一个重要的尝试。

需求管理

我今天又对业务部门发火,源于业务部门要做一个产品X,和我提出的需求就是,实现已有产品D的功能,同时要整合已有产品N,就这么几句话,问我要多长时间,我就说这样的需求无法估算时间,原因在于你们没有告诉我要实现产品D的功能,是全部实现还是部分实现?部分实现的话,是实现哪些功能?整合产品N,如何整合?整合哪些数据?用户应该看到什么样的UI?进行什么样的流程?这些基础问题没有确定,如何估算开发时间?业务部门觉得撰写需求文档太花费时间,但是我明确表示这件事情,就算你们不做也要有人来做,时间是不能少的,在一番不愉快的谈话之后,业务部门决定对项目重新评估。

最终产品的质量,取决于需求的准确程度,以及开发人员对于需求理解的准确度,可以观察大部分失败的项目,很多原因都处在这里,所以对于产品经理、系统分析人员,需求挖掘是一项极其重要和复杂的工作,成败全在这里,不能因为花时间、嫌麻烦就不做,或是做个稀里糊涂,这样的话后患无穷。

说到这里我想起以前看到的一幅图,讲软件开发过程的,非常有哲理,今天特地在网上搜了一下,后来发现还有个专门的网站:http://www.projectcartoon.com/,这幅图的名字是:How IT Projects Really Work

现在这副图的1.5版本还有中文的,http://www.projectcartoon.com/cartoon/31

这幅图显示了软件开发过程中的各种问题,但客户真的想要的和客户描述的就可能不同了,所以不要让错误从开始就发生!

把最好的给员工

前几天,一个工程师向我提出请求,想换一台电脑,因为他现在的机子CPU比较低,一运行Java工程,CPU占用立刻达到100%,而且降不下来,只听到风扇嗡嗡的声音。

之后我向IT支持部门了解了一下现在的硬件情况,我们有几台比较新的电脑,可以使用,我便决定,给这名工程师更换电脑,IT支持经理对我说,你对他真好啊,这可是我们这里最好的电脑了,我回答说,换吧,反正这些电脑总是要用的。换电脑很顺利,速度比以前确实快了许多,现在运行Java工程,CPU占用也只有30-40%了。

其实我决定给这名工程师更换最好的电脑,源自前几看的书《软件随想录》,里面讲给工程师买900美元的椅子,每个人都有独立的办公室,都有2台20寸的显示器,还有另外一个消息,说史玉柱在珠海重建研发中心,硬件不输Google,所以我们为什么不能把最好的给员工呢?

给开发工程师好的环境,好的硬件,一方面是提高工作效率,另一方面,会让员工觉得他们是受重视的,认可他们的价值。公司的所有成绩都是因为每个员工的付出,所以请把最好的给员工。

补充:关于公平

下面有人留言说会奇怪只给这个工程而不给别人,会引起不公平,在我看来,真正的公平很难做到,比如晚进公司的员工用的新电脑一定会是更好的,这对老员工是不公平吗?但我想要说的是一种态度,就是要把好的给员工的态度,如果有好的不给员工,就是管理者的问题了,而且如果员工确实是因为硬件而极其影响工作效率,无论怎样我都会解决的。