神州租车产品与技术中心副总经理张益军专访
2000年大学毕业后,张益军加入了当时的方正技术研究院,曾经那里汇聚了很多国内软件的精英,甚至包括后来走出来的雷军、周鸿祎等。张益军的三年方正时光中,有半年是在一位技术大牛领导的团队,深受其言传身教与技术指导,也就在那时奠定了他扎实的技术底子。
2006年10月,张益军加入现在的团队,彼时公司是做保险代理及其他业务,2007年开始转型做汽车租赁业务,也就是日后被大家所熟知的——神州租车。一晃就是8年时光,从一开始完全不知从何处下手搭建信息化建设到如今完备的互联网企业技术团队,从一开始只有五六个人的开发团队打拼到现在上百人规模的产品、架构、运维、开发、测试的研发队伍,回首这8年时间,张益军感慨良多。
神州租车的技术架构演进及改造升级经历了两个阶段变革。最初在张益军加入团队时是一个遗留的旧架构,当时项目只有五六个人,张益军发现旧的架构问题很多,起初还跟大家辩论说架构不行,但后来发现项目的人只会旧架构的相关技术,只能“硬着头皮”想个折中稳妥的过渡方案。张益军提出了前期先搭一个“可运行的原型”,之所以叫可运行是希望能暂时缓解目前问题但并不寄希望于让它做太久。不过这个原型开始做后不久新问题就显现出来,由于不断在提业务需求,几乎没有时间再去换架构,新招来的人也是基于它做开发。直到2009年架构开始逐渐往Spring MVC 、Spring和iBATIS上迁。开始迁移时张益军采取的原则是新的模块就用新的技术做,老的模块技术在原有技术上维护。但直到2010年,也就是在9月联想控股以股权+债权的形式,向神州租车注入现金12亿元人民币后,紧接着的那个国庆节出大事了。由于原来那套架构抗不住,系统响应慢,当时整体瘫了,网站坏了,呼叫中心也瘫痪了。张益军直言那真是最尴尬的时候,也就是从那时起意味着架构彻底改造做升级变革已迫在眉睫。
2010年国庆节后,神州租车正式启动整体的架构迁移,一边做新的需求,一边迁移。所有的技术改造迁移全放在了做新需求的过程中,难度之大不言而喻。张益军描述说当时真的是一点点移,跟“愚公移山”差不多,一点点搬前后搬了一年半,到2012年中,基本完成全部迁移,换到Spring MVC、Spring和iBATIS架构上。
互联网架构技术在2012年底已较为成熟。张益军的团队开始了下一步的“盘算”,由于之前所谓的迁移只是从代码层面完成迁移,但系统还不是高可用的,比如可以负载均衡、可水平扩展等这些都没有完善。随后张益军带领团队开始了第二个阶段的架构变革——全面转向互联网架构。“从2012年中旬开始筹备往这个方向转型,直到2013年2月整体切过去,至今一直较为稳定,可以说那一步奠定了我们现在整个技术架构,神州租车现在在架构方面可以说跟互联网企业基本一样。”张益军介绍道。
技术架构的改造变革并非一帆风顺,张益军坦言在早期遇到了不少技术瓶颈,也意识到当时团队还相对较封闭,闷头想不如走出去多交流,跟行业中一些同行增强沟通请教,确实收获很多。但在具体改造过程中一些细节方面的问题,张益军也没少亲自上阵,比如中间件层面调优、代码优化调优、数据库调优等,在最困难的时候压力很大,很多他都是亲力亲为。
在神州租车信息系统的建设中,张益军的团队用到了不少开源技术,他认为选用开源软件有四大好处:极大地降低企业成本(费用、时间和人力);代码可自我定制和修复;好的开源软件是一个生态系统;培养人才,可为技术人员提供一条提升能力的途径。
而在具体的技术选型过程中,张益军做了大量的调研和走访,发现了一些盲目使用开源软件可能带来的陷阱,企业在选择过程中一定要避开这些问题,少走弯路。比如使用质量不高或小众的软件;使用开源软件定位与自己的需求不匹配;不及时更新开源软件;对开源软件停留在使用阶段,不投入人力分析与研究;缺乏对开源软件的问题定位能力。
对于企业选择开源技术的原则,张益军结合神州租车在考虑开源技术时的一些思考,做了以下归类。
1. 看定位。分析不同开源软件的定位与优势;充分了解自己需求特点;选择与自己需求最匹配的开源方案。
2. 看出身。开源软件背后支持的企业或基金会的实力。
3. 看人气。使用该产品的公司数量;发挥从众心理。
4. 看场景。使用该产品的应用场景;认识该产品的不足。
而想要用好开源软件,张益军认为在正确选型的基础上,企业还要深入研究使用的开源软件,从而具备一定的问题解决能力和代码修复能力。与此同时,企业还需及时跟进社区的最新信息。
说到自己从技术到管理的转型,张益军用了痛苦一词来形容,而且这个彻底的转型过程足足持续了2006-2010年4年时间。出于两方面考虑他决定走上管理之路:一方面,方正给予的锻炼非常全面,从做需求到设计、编码、测试,再到给客户做培训和系统实施,几乎是一肩挑,这给张益军奠定了走上全面技术管理的基础;另一方面,出于那个年代技术人对职业生涯的普遍担忧,即“30岁以后或者更老后还能写代码吗”。这种担忧现在看或许已不复存在,但正是这种隐约的发愁让张益军早早开始接触一些管理类的书籍和课堂影像。
“最开始6年经历的两家公司中,工作内容涉及较广,岗位上并没有机会对某一门技术做深挖钻研,总感觉再专门钻技术与人同台竞技似乎有点晚,而自己也一直对于一些管理类的内容感兴趣。因为其实一些管理理论,更多的还是对人的人性了解和分析。”张益军认为自己算是在自我暗示再加机缘巧合下走上了转型之路。
“除了这两方面原因,还有一个原因是那时一写代码,晚上就失眠睡不着觉,导致长期神经衰弱。更加有趣的是后来我发现,一想管理问题反而能睡着觉。”张益军半开玩笑地笑着说,“因为就具体问题而言,技术容易钻牛角尖,管理的东西相对较泛。”
不过这一路走来,张益军深刻体会到技术团队管理的不易,当程序员时只用管好自己,当小团队Leader只用管几个人,和管理数百人的团队大有不同。在管理过程中也遇到过很多阻力并非一帆风顺。比如在团队中贯彻实施一些敏捷开发的实践时,原本看似风平浪静旋即被打破,各种声音瞬间涌出。敏捷方法提倡站会,张益军举例说当时在团队开始践行,有些刚毕业的技术人员,又自认为Java技术比他还好,就特别反感天天开晨会,有的是直接对抗、有的是“你说你的,我干我的”,基本没有好好“听话”的人。
“那时很多人觉得我的角色就是监工,问东问西的,一个开站会的实践就弄得鸡飞狗跳。”张益军当时很伤脑筋。“后来琢磨出管理的东西有时不能急,要‘润物细无声’,比如一开始从周会先渗透理念,避免操之过急。”就这样跌跌撞撞中摸索前行,张益军一点一点建立起神州租车的技术团队。
在张益军这些年的团队打造中,有一直跟随的中坚力量,中间也有因为各种原因离开的人员。他直言自己带团队的一个信条就是:做管理层,己所不欲勿施于人。“我自己就是从最初的程序员出身,很了解技术人的一些感受。作为技术团队管理者,如果有些问题你自己都无法解决,就不要压到其他人身上。所以在我们技术升级改造的过程中,很多未遇到过的难题、一些技术攻关都是我自己带着做。”张益军说。
技术是相通的,但每位技术人了解、熟悉或擅长的具体技术也许不尽相同,张益军也遇到过“不服管”的人,比如会认为领导是学C++出身,不懂Java。其实不然,有些语言虽然不同,但毕竟多年工作历练出的技术功底摆在那儿,技术的相通性会在一些具体问题上验证了那句“姜还是老的辣”。
对于招聘技术人员,张益军最为看重的是应聘者对技术细节的把握以及是否爱与人交流。技术细节的把握体现在比如对具体问题研究的深度,他对应聘人员的知识的广度到底达到什么程度反而不那么看重。“现在我们团队中有位技术‘大牛’,最初来我这时,那会才只有三年工作经验,但其实他这三年经验,体现出来可能比很多人干七八年,甚至干了十年的人都钻研得深。”张益军举例说。
至于在短短的面试中怎么判断出对方对技术细节的把握,张益军采取的是提问绕过表面深挖细节。比如仅仅问一些做过的项目,往往有面试者能滔滔不绝,讲得天花乱坠,但只要追问一句实际中有没有遇到过一些难题,他可能顿时就卡住了。这就说明他对技术的使用是停留“面”上,或之前的使用环境简单并未经历过更难环境下的细节处理。
“再举个例子,我在面试中经常遇到一些应聘者介绍自己曾经做过的架构也是互联网架构、多么的厉害、能实现高可用等类似的描述不绝于耳,比如他提到了消息队列,就会追问请他描述消息队列的高可用是怎么做的,具体如何实现的?”张益军举例补充道。
通过一些合理的细节追问,能在面试中筛选出符合企业技术团队需求的技术人才,但招进来的人该如何能留得住?这也是张益军一直在思考和探索的问题。张益军说因为很多技术人是“闷”着的,团队管理者怎么去揣摩他们的心思也是门学问。比如他们来了之后是不是真正喜欢这份工作,或者他们现在做的事情是不是愿意且感兴趣的?
在最初张益军的团队人数并不庞大时,他直接带团队,基本做到去观察每一位技术人员,了解他们的真实感受,去做相应的调整,让才能有充分发挥的空间,也让技术人员能做和自己兴趣相结合的工作内容。“可以说这么多年,团队中我不希望走掉的人,基本都留下来了,这一点让我很欣慰。”张益军笑着说道。
而对于个人未来规划,张益军说将会把更多的精力集中在业务和管理方面,因为从公司老板的角度希望技术能解决更多业务方面的问题。“未来你的技术还能给公司带来什么价值?应该从这个角度多去思考。”张益军用了这句话来概括总结。
张益军:管理的东西有时候不能急,要“润物细无声”,逐步渗透理念,避免操之过急。