OSC 大咖说 | 专访当当架构部总监史海峰: 从程序员到架构师,做一名长情的变革者

花仲马 发布于 2016/05/12 09:53
阅读 7K+
收藏 46

最近几年,电子商务蓬勃发展。随着电子商务的功能和数据越来越多,系统规模越来越大,越来越复杂,需要有人在整体的视角上去关注方方面面的东西,技术的领导者——架构师的作用就凸显了出来。好的架构师甚至比技术管理者还难寻觅,薪资不菲。但业内有这样一句话:“不是每一个程序员都能够成为一个架构师“架构师成长之路如同攀登金字塔,每一步每一个层级都是非常大的挑战。

最近,小编有幸采访到了当当架构部总监史海峰,听这位架构师中的“战斗机“讲讲他的从业经历,管理心得,对电商系统架构的看法,对于互联网技术的思考。以下是史海峰的采访实录。

从业经历:一名长情的变革者

Q:请您简要介绍一下自己的从业经历。
A:我的第一份工作是在神州数码,待了大概4年,之后进入亚信,工作7年,两份工作都是做电信集成,从程序员做到项目管理、团队管理。尤其在亚信我负责北京移动系统集成工作,对接系统比较多,所以对大型系统整体架构有比较深的体会。

Q:看来您是一个长情的人,每份工作的时间都很久。
A:对,我本身不喜欢折腾;而且,我认为遇到好的团队,以及自己熟悉了整个系统架构、流程体系,才能更好的发挥价值。如果频繁跳槽,很多时候就是变成了在刷资历,比如在北京比较典型的是百度,很多人就去百度镀个金,然后就出来了。

Q:那您是因为什么样的机缘加入当当的呢?
A:我是2012年来的当当,做架构师,入职也算比较巧合,是当当的HR通过简历搜索找到我,并不是自己投的。说起来,当当也是我最早体验线上购物的电商网站,那时候还是01年。

Q:您能想到哪些关键词,来总结您在当当4年间工作的收获感悟呢?
A:如果要有个关键词能将这4年贯穿始终的,那就是变革。无论是对我自己还是对公司,从2012到现在,基本每年变化都很大,做的事情都不一样。
印象特别深刻的一年是2013年下半年开始,我主导了多数项目的架构设计,每天就是开会讨论定方案,最多的时候一天开8个会。但这样我就有机会参与绝大部分的主要项目,能掌握更多的信息,考虑的更全面,比如什么样的设计最适合项目需求,是否要用一些临时方案,是否要迁移数据,如何部分上线,是不是要做性能测试……这些都是在架构层面需要考虑的事情。而且当当有很多产品线,上百个系统,一个项目很可能会涉及十几个系统,但是各系统的负责人其实不是特别了解整体的情况,就需要有人拆解开,而且再串起来可以形成闭环,作为架构师要负责这件事情,所以2013年对我来讲收获很大,是自己能力的一次变革。
2014年这种变革就更明显,我成了架构部的负责人,承担更多的是人员的招聘、管理、调配等工作。 同时我们成立了技术委员会,启动了对于互联网主流技术方面的调研,推动技术落地,做了一些系统规划方面的事情,还负责组织内外部的技术交流。到了2015年,我们组织结构进行调整,研发、产品、测试团队按照不同产品线合并成部门,这样就变成了垂直的管理方式,架构、运维、项目管理仍然是独立部门,架构部又承担了基础平台搭建和性能测试的职责。如果说2014年我有一小半的精力在做管理,2015年我一多半的精力在协调,组织方面,直接参与的项目也少了,算是一个先做加法再做减法的过程吧。

Q:那您觉得,作为一个老牌的电商品牌,当当这4年的变革,体现在哪些方面呢?
A:当当这4年,仅在技术领域就有特别多的改变,但我觉得最重要的变革体现在技术体系的革新。
在2012年之前,当当主要的开发语言是.NET和PHP,12年决定把 .NET换掉,于是有了第一个Java团队,到现在除了一些遗留的模块没有动,主要的业务系统都已经转成了Java,互联网主流的开源技术几乎都在使用。如果还在用.NET,现在会怎样,那是不可想象的。为什么要研究主流技术?因为技术团队不能指望有几个牛人之后就能怎样,要整个团队一同进步。一个大公司必须贴近行业主流的技术体系,才不会被行业落下,才能吸引更多的人才,更好的发掘团队成员的潜力,发挥员工的积极性,鼓励基层的人去钻研技术,追随技术潮流,包括做开源。

技术与电商:别在短期内高估技术的力量,在长期低估技术的力量

Q:你觉得技术这个后援力量,对于电商是一个很关键的要素吗?
A:电商业务核心就是交易,逻辑复杂,分分钟都是钱,稳定性一致性要求很高,如果规模大了,技术就非常关键。淘宝的子柳曾说过一句话,大概的意思是“别在短期内高估技术的力量,在长期低估技术的力量。”短期的概念是指我现在想做一个产品,忽然想起来,我就缺个程序员,这个就是高估了,以为找个技术人员,想做的事情就万事大吉了。
长期来讲是如果做了个有一定规模的系统,稳定运行了几年,业务也发展起来了,会有许多其他的东西转移你的注意力,认为技术没那么重要了。可事实上你的现有系统就是你最重的资产,你必须持续投入,保证系统稳定可用,保证数据不丢,然后看怎么在现有的基础上更上层楼,更快更灵活的满足业务创新和发展,以及用好多年沉淀的大数据。从企业发展角度看,技术必须成为运营的核心能力,有了这样的技术才能在更高层次与同行竞争。
技术已经不再是我们原来做乙方那种给你提供技术服务,你需要什么功能我们实现就ok了,这是一个非常浅层的理解和应用。真正的互联网时代,所有业务都是通过网络,通过IT技术去进行连接,技术已经像血液一样的重要,只不过企业的不同阶段,它的紧急性和重要性有所区别而已。

革命不分高低贵贱,管理就是分工合作

Q:从项目管理到技术团队管理,你在整个过程中感受比较深的一些管理上的经验是?
做管理我也是一点点地去体会,我认为大家都是平等的,不会说我比你职级高就怎么样。这个行业圈子并不大,铁打的营盘流水的兵,山不转水转,没准就在哪又见着了。

所以我的管理就是分工合作,分工就是各司其职,合作就是同心协力。我负责我的角色,革命不分高低贵贱,需要大家互相理解,做好本职工作,同时精诚协作,才能形成合力,不至于一盘散沙。做技术的人多数很实在,没有那么多想法和要求,基本上每个人都是螺丝钉,既然是这样,大家做好沟通,能把团队的方向明确了,把公司的目标当成自己的目标,踏踏实实的做有价值的事,再关注自身的成长,保持良好的合作心态,在这方面达成共识,一起工作还是挺愉快的。

Q:无论是你培养出来的人才,或者你见证他从青涩到成熟,或者现在级别比较高了,在他们转变的过程中,你有给到他们支持吗?
A:人其实挺难培养的,属于顺势而为吧。不管哪个公司,都是一个商业化的组织,都有经营目标,要去追求业务增长或者实现更多的业务功能,必须往前走,组织里一定有人表现得更突出,进步的快,贡献也很大,无论他是自我驱动力强,还是有其他方面的原因,只要给他机会和空间,他们的贡献会比其他人大很多,因为他的驱动力是不一样的。一个优秀的员工,贡献可能是其他人的很多很多倍,不仅仅是指任务产出。
团队成员能力上一定是有差异的,但在人格上是平等的。每一个岗都需要有备份或者是副手,要有梯队的结构。管理者要搭建梯队,给团队内部提供成长空间,才能保证团队的稳定。我比较重视交流,会跟团队的每个小伙伴分享自己的想法,也会讨论一些不一定是技术的话题,当然,也从大家身上学到了很多,交流是成长的催化剂。

关于开源

Q:刚谈到当当也在做开源,能和我们简要介绍一下吗?
A:我们2014年开源了DubboX,因为Dubbo本身就是开源的,所以算是一个契机吧,回馈给社区。 2015年开源了分布式作业调度框架Elastic-job,替代TBSchedule,2016年我们开源了数据库分库分表中间件Sharding-JDBC。Sharding-JDBC还是蛮有挑战的。在电商领域,处理大量数据是非常常见的场景,无论是用户数据、商品数据、订单数据,包括仓储库存,这些数据用MySQL必须分库分表。我们发现没有适合的特别成熟的分库分表中间件,所以从去年开始做Sharding-JDBC,因为它要比Elastic-job复杂度高很多,研发耗时比较长,今年才做的开源。放到GitHub上获得了很多关注,也从社区收到很多反馈和建议,帮助我们改进产品,现在有不少公司在使用或者调研我们的开源产品。

Q:把它开源出来是真的是很有贡献。

A:我们开源之后,看到这些产品对于体量没那么大的公司是非常需要的。大公司有足够的技术力量去研发自己的技术组件或者进行二次开发,但是体量小的公司就比较适于直接拿开源来用,省了很多事。

Q:您觉得开源和开源精神在中国的普及程度是怎么样的呢?
A:开源到社区是有反应周期的,不是发出去之后一下就能火。发出去之后,就算有人关注,研究也会花很多时间,研究透了也未必马上会用,也许赶上机会做一个什么项目才能用起来,所以需要长期的坚持。当当在做开源,也用了多数的主流的开源产品,受益很大。在中国大家参与开源热情受限于企业或者大家工作的时间,可能没有外国那么多那么强,但开源一定是将来的方向和趋势,现在国内有不少的开源产品在不断地发布和更新,也有很多同行成为国外著名开源项目的核心贡献者。目前整个IT行业还在发展,缺少更多更好的技术人才,同样缺少更多更好的开源产品。

寄语众包

Q:简单的说一下对开源中国码云和众包的看法。
A:现在IT行业整体都缺人,而且缺熟手,实际上多数技术的还是要靠自学,上班能给你提供一个入门机会,但最后成为一个高手还是要靠自己。码云这种在线开发的平台,给大家提供了一个可以去学习、去尝试、去校验、去锻炼自己的能力机会,是自学的过程,而众包提供了实践的平台,给自己带来收入的同时也能了解自己真正的水平。               另一个方面,相比于以前的雇佣合同制情况下,一个人能不能把工作干好,还得进公司之后试用一段时间去判断,众包模式节奏更快,信息对接会更透明,用庞大的社会资源摊薄了风险成本,提高了产品成熟的速度和资源利用效率。

Q:您会使用众包吗?电商的开发系统、开发团队以及环境是否会用众包?

A:电商系统有很多类型,有一些耦合的特别重,比如业务逻辑流程、交易支付订单。这些要快速迭代必须熟悉业务和原有系统,有行业门槛,众包不太合适。相对比较独立的,不是那么耦合的可以考虑众包,比如问卷调查、商品评论之类,以及涉及到一些算法、数据分析的项目,当然数据分析要考虑数据脱敏的问题。

感谢史海峰的精彩分享。想要进一步了解他对IT国计民生、工程师、程序猿、行业技术的最新观点,和他私下谈谈职业规划,聊聊技术问题的OSCer,可以搜索微信号:ITCrossTalker ,关注史总的微信公众号“IT民工闲话”!

当当招人啦,想加入的同学们可持续关注,招聘信息随时更新哟~~

详情请戳此处

加载中
0
狗操_我今年大三它妈
狗操_我今年大三它妈
下面有什么要问的吗?
0
johnlee007
johnlee007
当当还有人用吗?
s
shihf
收入稳定,几千人的公司,几百人的技术团队
0
开源中国首席知识青年
开源中国首席知识青年
请问当当是干什么的,是当铺么?
s
shihf
这个业务可以有,但我当当还没有牌照
0
盛夏的白菜土豆西红柿
s
shihf
帝都大型IT民工养成基地之一
0
Mi丶Long
Mi丶Long
@如果还在用.NET,现在会怎样,那是不可想象的?  --,大神,能告诉我,是什么吗?
s
shihf
1.很难招到合适的开发工程师 2.难以融合电商主流技术方案
0
Alenzhen
Alenzhen

上次我跟分析师对接的时候,他总会问我的一点就是,如果这样做技术能实现吗?


Alenzhen
Alenzhen
@shihf 我就是Android 开发啥。
s
shihf
@Alenzhen 熟的话直接告诉你怎么做了
Alenzhen
Alenzhen
回复 @shihf : 他后面来了一句我对Android平台不是很熟。。。。
s
shihf
做技术的,除了说“不可能”之外,还喜欢说“没有技术做不了的”……
0
返回顶部
顶部