2016年度总结

日子过得好快,一转眼到了年底,又到了该总结一下的时候了。

2016年是充满变化的一年,有些变化完全出乎意料,面对这样的变化,我也只能“拥抱”。

过完年到4月份,公司业务线的划分出现了变化,最大的变化是产品部门从业务部门划出,变成一个相对独立的部门,形成业务、产品、研发三格局的结构,这样的结构比较符合互联网运作的方式,所以这个改变还是起到了不错的效果。

2015年总结的时候我说过2016年要在移动产品上发力,在4、5月份的时候,我和移动团队策划了一个活动,就是从PC Web端转化用户到移动端,活动在6月上线,为期2个月,效果非常理想,2个月的时间,移动的订单数量就逐渐超过PC端,与去年同期订单数相比,出现了成几倍的增长,在活动的后期,随着进入行业的旺季,出现了移动和PC订单同增的势头,订单总量是逐步走高的,而且活动结束后移动端的产量也比之前高了很多,说明用户有所留存,由此看出,移动仍然有很大空间,但我们的平台实在太小了,能给我们的空间也太有限,我们移动产品的未来在哪里呢?

就在这个时候公司情况“风云突变”,集团决定我们公司要和集团内的另一家公司合并,新公司的CEO、组织结构都变了,这个变化来的实在太突然,完全没有准备,面对这样的改变,整个团队表现的还比较稳定,虽然我和团队都有很多纠结,但还是在逐步适应的过程中继续前行,其实我也想了很多,最后我告诉整个团队,选择做正确的事情,什么是正确的事,就是对用户有价值的事情,我们不会为了小团队利益做一些最终损害用户利益的事情。

随着公司的逐步整合,我们也接到了新任务,新公司决定将原来分散的多个移动应用整合成一个APP,这个APP的产品研发任务就落到了我们团队上,其实我们整个团队一直有这样的愿望,希望能做一款代表整个集团品牌的APP,为此,我们已经积累了多年。经过4个月左右的不懈努力,一款覆盖集团23个品牌,约5000家酒店,百余个旅游产品的全新APP在12月10日正式上线,这款APP汇集了我们整个团队所有人的心血、努力和这么多年来的梦想。

大浪淘沙,凤凰涅槃,这支团队与我3年多前刚刚接手时的发生了很大的变化,经过3年多我不厌其烦的叮嘱、不断的历练、大大小小的战役(特别是2015年的大仗),这支团队已经逐渐具有了不屈的精神和战胜困难的勇气,面对压力,更多的表现出一种从容和自信,虽然距离我理想中的“梦幻团队”还有很大的差距,但他们已经开始从平凡走向优秀了。

技术方面,今年也取得了很大的进展,2015年总结的时候提到的Docker尝试,在2016年取得了突破,在与合作伙伴–才云科技的共同努力下(才云是为数不多的几个靠谱的合作伙伴之一),我们将95%以上的应用Docker化,并迁移到了基于Kubernetes的Docker集群上,在国内使用Kubernetes的企业还较少,在旅游行业中,我们肯定是第一家,Kubernetes和Docker的运用,使整个开发及运维管理的效率得到了极大的提高,应用发布时间从之前的小时级提高到了分钟级,应用发布逐步下放到开发团队,大多数时候,开发人员只要在Jenkins里点一下,几分钟内应用就发布完成了。与此同时,我们在新的项目中逐步使用Git作为代码仓库,在前端应用中使用React,在Redis/Codis、Elasticsearch优化方面都取得不少进步,而且2016一整年,应用系统都非常稳定,没有出现过大的故障。

个人技能方面,由于公司使用Kubernetes的Docker集群,所以我也开始研究Docker,并迅速喜欢上了这项技术,以前我装一些软件都是自己在Linux下用源码编译,连yum或apt都不用,自从有了Docker,我要测试一些软件,就直接去Docker Hub上找相应的镜像,拉下来直接运行就好了,包括实际或测试用到的GitLab、Nexus、RabbitMQ、Kafka、Postgresql等等,后来我发现一些Docker镜像里面的软件版本较低或功能有局限,干脆把Dockerfile git出来改一下或重写一个Dockerfile,再Build成我需要的镜像。

在7、8月份的时候,我开始研究微服务架构,从而研究Spring Cloud,感觉Spring Cloud的资料还是相对零散,我就写了一个Spring Cloud微服务框架的Demo,放在了GitHub上,微服务架构与Docker是绝配,简直珠联壁合。我在团队中推行React,其实是希望将来能在移动应用里使用React Native,React Native在年初就开始跟踪了,10、11月的时候,我研究了一段时间的React Native,在模拟器里实现了一些应用场景,React Native发展太快,每两周就有一个新版本,整个社区也非常活跃,国内腾讯、阿里都已在移动应用里使用React Native,这是一项有前景的移动开发技术。今年我还干了一件很有意思的事情,在5月份的时候,魏则西事件爆发,一向鄙视百度的我,突然感觉到使用自由的互联网是多么重要,而且是要让家人朋友不能被百度之流蒙蔽,所以我开始研究如何让家人也能方便的使用自由互联网,最好的办法就是在家里的路由器上实现“科学上网”,但一般的路由器是不会有这样的功能的,我开始了解OpenWrt,OpenWrt也是Linux,很多智能路由器的操作系统都是用OpenWrt改的,测试了几款路由器并刷入OpenWrt,最开始我通过路由器VPN出去,但我发现VPN虽然连上了,但很多网站还是打不开,推测是DNS污染比较严重,后来我还是选择了Shadowsocks,在路由器上实现了“科学上网”,家人只要接入这个路由器,就可以访问自由的互联网了。

今年继续读书,读的书有《硅谷之谜》、《文明之光》3册、《分享经济:供给侧改革的新经济方案》、《硅谷钢铁侠:埃隆·马斯克的冒险人生》、《刘强东自述:我的经营模式》、《启示录:打造用户喜爱的产品》、《Google:未来之镜(全球创新巨头真正的工作、思索与规划)》,在这些书里,给我留下最深刻印象的是吴军博士的《硅谷之谜》里讲到的,在硅谷,哪怕是一个很小的公司,其研发的产品也是面向全球用户,所以在硅谷,诞生出了像Google、Facebook这样的伟大企业,而对比我们,我们何时才能有这样的眼界和气概呢?

英语的学习也在继续,在扇贝网上的打卡记录已超过1100天,在今年打卡1000天的时候,我还写过一篇《1000天的感悟》,我相信我仍然会继续坚持下去。

最后说说生活吧,年初的时候,一家人去了趟日本东京,东京之行给我老婆极大的触动,东京的蓝天,干净的街道,发达的商业,行色匆匆但极讲礼貌的行人,这与她在国内看到的情况形成了巨大的反差,我也在思考,但始终无法将彬彬有礼的日本人和南京大屠杀的刽子手联系在一起,也许是日本人太注重规则与秩序,一旦没有约束,人性的丑恶就展示无疑了。年中的时候一家人和我父母,一起坐了一趟邮轮–海洋量子号,邮轮确实适合一家人共同出游,不用费心思。

在充满变化的2016年,还是要感谢一直支持我的团队和爱我的家人,对于2017年,仍然会面对太多的变化,追寻内心、做好自我就行了。

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,所以我们为什么不能把最好的给员工呢?

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

补充:关于公平

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

听老罗演讲

老罗语录已经在网上流传已久,不能否认,老罗是个绝对的人才,NB的人物,相信很多人对老罗的敬仰犹如滔滔江水……

最近在视频网上看到了老罗在吉林大学的演讲,有3段

罗永浩(老罗)吉林大学演讲 上

罗永浩(老罗)吉林大学演讲 中

罗永浩(老罗)吉林大学演讲 下

老罗通过他做老师、办网站、开学校的三段经历,讲述了他的奋斗历程。

我们可以从老罗的语录和他的演讲中总结出一些东西

坚持:老罗总结(或引用)说,失败只有一种,就是半途而废,我非常赞同,这句话可以当座右铭了,人生从小到大,我们半途而废的事情太多了,只有坚持做一件事情,才能做到最好,才能成功,我们也可以发现,很多人的成功,不是因为这个人多有能力,而是他坚持下来,坚持到了最后。

理想主义:在老罗“犬儒主义”的语录里,老罗非常明确的表示自己不是 一个犬儒主义者,是一个伟大的理想主义者,这让我十分敬佩,在当前一个普遍缺乏优秀价值观的社会,能保持一份理想主义,是非常可贵的,应该向老罗学习。

官场论:老罗的“官场论”也非常的经典,溜须拍马的事情都会,但丢不起这人,身在职场还是要保持冷静,保持正直,成熟和圆滑世故是不一样的。

教育观:老罗在初级教育阶段与我们国家现有的教育体制发生了严重的冲突,导致他最后退学,我们如何面对现在的教育体制,怎样来教育我们的下一代,这是一个非常矛盾的问题,如何能让孩子们独立思考、有创新意识,又要面对中国的升学体制,非常矛盾。

Google AdSense西联汇款收款

上两次收Google Adsense的汇款,都是采用支票的方式,时间长,而且在中国银行办理还需要50-60元的手续费,后来在网上看到Google AdSense可以采用西联汇款收款,我也把我Google AdSense帐户里的付款方式改为了西联汇款,帐户里够了100美金,上个月底就看到了付款详情,今天我到农业银行,提取了这笔汇款,没有手续费,我直接换成人民币现金取走。

在设置西联汇款的时候有几个地方注意,它页面上虽然写了“为了领取您的付款,您需要持有政府核发的与以下收款人姓名完全一致的有效证件。”,但是在填写收款人姓名的时候还是写英文,并注意姓名的顺序,比如你的名字是“张三”,那要在“收款人名”填写“San”,“收款人姓”填写“Zhang”,到时持你的身份证到银行取款,是没有问题的。

在国内,西联汇款的代理机构是农业银行和邮政储蓄,在http://www.westernunion.cn/sc/location_search.php可以查到代理的网点,但好像不太准,我今天去的江宁路农业银行在上面就没有,我想应该是大一点的分行或是支行都应该有这样的业务。

到农业银行后先填写两张单子,一个是西联汇款的收汇单,里面收汇人和发汇人姓名地址都写英文,也就是你Google AdSense里留的信息,汇款监控号码非常重要,这也是表示这笔汇款的依据,另一张单子是个人结汇申请书,结汇类型是“现汇”,结汇资金入账方式选“取现”,结汇资金来源就选“其他”,结汇用途写“零用”,其实可以随便写的,之后一些必要的签字等等,连同身份证交给柜台上之后会按照当前的汇率兑换为人民币,拿到人民币就OK啦。

5.12纪念

纪念5.12汶川大地震

距离2008年5.12汶川大地震已经一年了,5.12注定是让中国人永远不能忘记的日子,回想去年地震后的日日夜夜,时时刻刻都会为震区的人们伤感或感动。

76年唐山地震时,我尚未出生,我不曾了解地震给人们带来的伤痛有多深,2008年,我的孩子1岁,看着他快乐的在阳光下游戏,想起汶川废墟下的一个个曾经一样鲜活的孩子的生命,他们父母心中的那种痛……

希望在地震中逝去的人们安息,而生者永远坚强,快乐幸福的生活。

Oracle收购SUN之后

北京时间4月20日晚一条IT界的爆炸性消息传来–《甲骨文将以74亿美元收购Sun》,这个消息确实让人非常意外,因为在之前传出IBM和Sun之间的收购谈判破裂的消息,是Oracle突然接手?应该不是,估计SUN早已有卖掉的计划,只是看谁出价合理吧。

对于Java开发阵营来说,这条消息未必是坏事,毕竟Oracle手里已经有了BEA,在Java企业级应用里就是领头羊,而SUN本身就没有在Java身上赚到钱,相信应该可以更好的整合Java的企业级应用,另外Oracle本身已经使用了非常多的Java技术,两个公司之前也有比较多的合作。

这笔收购让人最担心的还是Mysql,去年SUN收购Mysql,就让人感觉颇为另类,现在Oracle收购SUN,真不知道Oracle会怎样处理Mysql,任其自然发展,还是直接消灭,我想做为广大支持开源的开发者,都不希望Mysql倒掉,更何况当今大多数的Web2.0公司都在使用Mysql,不乏像Facebook这样的大容量用户,如果Mysql没有了,“LAMP”里的M会变成什么?PostgreSQL?还是其他?

商人逐利,这是自古以来的道理,并购的背后,一定有商业利益的存在,收购方希望整合资源、扩大市场、增加利润,被收购方希望套现,一个愿打一个愿挨,无可厚非,但他们究竟会如何面对最终客户,我们只能拭目以待了。

摇滚记忆

近期Google中国发布了谷歌音乐搜索,我就在上面试听听,我习惯性的搜索“唐朝”,发现唐朝乐队的第一张专辑,速度、音质都还不错,听到熟悉的旋律,让我想起了10多年前的中国摇滚年代。

中国摇滚的黄金年代是上世纪90年代初,那时候我在中学时代,我喜欢看《北京青年报》,《北京青年报》有一篇介绍唐朝乐队的文章,当时还没有听到他们的音乐,但却被唐朝乐队深深的吸引了,后来唐朝第一张专辑发布后,我再找这份报纸,却怎么也找不到了。91年的时候黑豹率先发布了他们的同名专辑,在“无地自容”、“Don’t Break My Heart”响遍大街小巷的时候,我们手里买到的大多数都是盗版,当时还没有MP3,CD也很少,主要是卡带,后来为了专门的收藏,特意又买了黑豹的正版卡带和CD。

在整个中学的事情,我都十分的迷恋摇滚,究其原因,我现在想还是因为年轻的反叛、对未来的迷茫,但我并不认为摇滚是一种消极因素,只是一种情感的宣泄。那几年间,我买了所有摇滚的专辑,一股脑的消化吸收,报纸、杂志有些对摇滚的报到,但电视里还是看不到摇滚的影子,我搜集到的黑豹、唐朝的MTV影像也极其模糊,让我对他们这些摇滚人充满了神秘感。

我一直在考虑上世纪90年代初期,中国摇滚出现巅峰的原因,我想一方面,随着社会的变革,大众对于新音乐形式的新奇感,另一方面,那时候集中出现的优秀作品,也是这些音乐人长期对生活感悟、积累的结果,现在随着社会的开放,音乐的多元化,生活的转变,中国摇滚再出现巅峰不太可能了,只能做为一种流派而存在。

由于我对摇滚的迷恋,父母没收了我的随身听,音乐听不到,保留摇滚精神就好,94年中国摇滚红磡演唱会,可以说是中国摇滚真正的顶点,95年,在高考的前几个月,还是在北青报上看到张炬车祸离世的消息,震惊之余还是震惊,不过高考在即,也无暇顾及了,七月流火,随着高考结束,我的情绪似乎也随着中国摇滚慢慢平静的逐渐缓和下来,后来出去上学,红磡演唱会的现场的专辑也出来了,出于对张炬的追忆,这张专辑,包括后来的影像,仍然是我最喜爱的。

1998年我第一次接触互联网,我上网的第一件事情,就是在搜狐上搜索“唐朝乐队”,还真的找到了一些网站,都是网友自发创建的,我记忆比较深的是一个网站,上面有很多留言,有中文还有英文的,让我知道了很多的信息,当时就觉得,还是互联网好啊,我中学时代搜集的信息在这里简直是沧海一粟。

10多年过去了,互联网、资讯日益发达,我们可以轻而易举的得到关于中国摇滚的各种信息,中国摇滚也不再神秘,媒体也对摇滚逐渐松绑,甚至白岩松都呼吁给摇滚更多的空间,然而中国摇滚对于我慢慢成了记忆,心境的平和,让我慢慢喜欢更富旋律的音乐,只是摇滚在中学时代的烙印永远深深的印在那里。

追逐互联网的梦想

离第一次上网已有10年时间了,我想还没有一样东西像互联网一样,如此深刻的改变着我们的生活,互联网带给了我梦想,并在着10年中不懈的追逐着这个梦想。

1998-2000是一波互联网浪潮的年代,99年的时候我创建了自己的网站–“爱情工作室”。

2000年,郑州,之所以在郑州,是因为周爱民(如今中国软件响当当的人物)忽悠我来做AV95互联网方面的工作,互联网在中国那时也算是刚起步,专业杀毒和互联网结合的前途也是不可限量,当时就来了AV95公司的所在地郑州,当时和爱民住在一个屋子里,几乎是晚上工作,白天休息,不得不承认,爱民兄绝对是为软件而生的,当时已经把JavaScript搞的是如火纯清,Delphi、win32更是不在话下,让我顶礼膜拜,不过爱民兄忠实的很随M$,而我后来却选择了JAVA。

在AV95时间不长,北京的一家互联网公司就来收购“爱情工作室”,收购金额不高,并且收购之后我要继续为其工作,我想了想,这也算是一个机会,就离开了AV95,也算是开始了一段创业生活,我找来一个在网上认识的朋友–一叶飞(这家伙现在已经不知去向了),说服他和我一起做,他当时刚刚大学毕业,郑州也没什么好工作,他就和我一起开始开始了这番“事业”。

我们在友爱路租了一处房子,是顶楼,阳台正对着碧沙岗公园,很快就到了盛夏季节,中原的夏天是很热的,空气中没有一丝风,我们租的房子是两间,其中一间有空调,我们就把电脑放在这间,早上我们起来洗漱好,就坐到电脑面前了,一叶飞会打开音箱,播放MP3,我们的MP3里的歌有很多,伍佰、动力火车、唐朝、黑豹、王菲等等,歌曲从早放到晚也不会重复,我们便在音乐的伴随下开始了工作,网站开发、编辑、美工都是自己在做,中午和傍晚,我们两个就会忍受着酷暑出去吃饭,回到屋子里都是一身大汗,要在空调下猛吹,日子一天一天,很充实、也很快乐,当时并没有考虑过太多的盈利模式、网站的未来,只是为了自己的兴趣在做这些事情,当时我已经想到了将网站做成完全的社区模式,所有内容由网友发起,也曾经计划个人日记这些产品,现在看来不就是Web2.0、博客吗?

2001年随着第一波互联网泡沫的破灭,我也结束了和北京网站的合作,爱情工作室也终结了,一叶飞去了北京,由于我父母是上海人,所以我选择了上海,开始了软件、互联网的另一段生活,如今8、9年过去了,我仍然不能忘记那段日子,因为对于我,互联网的梦想从未停止过,我将永远做互联网的追梦人。