专栏名称: InfoQ
有内容的技术社区媒体。
目录
相关文章推荐
新浪科技  ·  【#曝AirPods将支持心率体温监测#,A ... ·  2 天前  
新浪科技  ·  【#首饰金价跌破800元#,#金店顾客增多# ... ·  2 天前  
新浪科技  ·  【#部分银行个人养老金存款利率达4%#】 ... ·  3 天前  
51好读  ›  专栏  ›  InfoQ

从码农到 P9 架构师,阿里供应链造梦者马小龙的人生经验

InfoQ  · 公众号  · 科技媒体  · 2017-01-21 09:02

正文

   作者|雷蒙德
背景介绍

作为阿里零售通事业部技术总监,马小龙经历过阿里技术历次变革和业务形态升级,在当下阿里“五新”战略指导下,更肩负扛起零售通供应链技术平台发展的重任。本文为 StuQ编辑在阿里年终聚会沙龙《码出未来 | 新零售 新技术》中对马小龙总监的专访,集中为大家分享阿里零售通供应链技术架构挑战、技术人成长及团队管理的实战经验。

受访嘉宾简介

您在供应链和电商领域有丰富的架构设计经验,您觉得互联网电商平台在架构设计上的痛点和难点在哪里?如何解决?

供应链,是电商发展走向商业,让参与商业活动的多个角色协同起来,主要包括商家主体、上下游品牌商、生产商、物流商、以及合作服务商之间的系统集成、协同办公、数据流转。

架构设计中,难点很多,从三个方面来讲:

  1. 业务本身复杂性高,流程长;业务是多态的,不稳定的;

  2. 系统模块在原子化拆分后,模块内部高內聚,但系统与系统、模块与模块之间依赖错综复杂,调用链路也变得复杂;在开发和部署中带来很大挑战;

  3. 实施运行中的链路监控和成本,也是非常大的;比如搞大促,需要多方系统的协同;

虽然挑战很多,但是这些问题在阿里庞大的生态环境中,都已经解决或者在逐步解决的路上;对技术而言,从简单业务行为到复杂的业务流程、从单一企业到上下游合作伙伴、从一个行业到全生态环境的管理,这些难点、痛点和挑战,通过产品、系统赋能商业过程中,这些问题都可以一一被拆解到不同领域去考虑:

  1. 业务模型的梳理和扩展性的考虑;

  2. 流程编排和配置能力的考虑;

  3. 开发、测试、部署的成本和效率考虑;

  4. 系统模块运行管理和监控;

阿里技术体系历次变革,哪些变化对您来说挑战最大?

其实从一个黄页式的店铺到交易平台再到今天供应链的系统拓展,每一次都是挑战,每一次挑战都是记忆犹新。

今天面临的挑战更是空前的,首先是业务本身,需要从错综复杂的业务内去梳理业务链路,这个需要更主动的贴合客户和场景,甚至去现场实操,构思产品。

然后是单一业务如何做到产品化。从具象业务抽象到实现同类业务,需要产品的扩展性和可配置性,并从产品化向平台化演进,不断打磨完善。如同汽车流水线生产,不同品牌的车可以加配是产品化,一条生产线可以生产不同品牌的车是平台化。

最后是平台化过程中的技术储备和技术选型,需要抽丝剥茧到每一个领域的细节问题。

对技术系统变革,大家通常都会用“飞行中的飞机换引擎”来类比,即每次切换即使新的架构设想很完美,但也必须充分考虑新老系统切换的每一步实施方案是否可行、可控。

您认为架构师这个技术角色最重要的能力有哪些?

大家都会想到专业技术、学习能力、创新能力等,用阿里的一句话总结就是实现客户价值的能力:知道做什么(What)、怎么做(How)。

  1. 分析分解业务,搞明白业务真正需要的是什么,并不断 Check 和完善 What;

  2. 用什么来实现,每一种技术方案的优缺点是什么,每一种技术的边界条件在哪里,限制是什么;预判业务趋势是什么,出现拐点怎么来解决;需要什么样的人和团队来做,怎么推动和协调团队成员完成目标;以及如何验证结果和最终效果。

综上,从架构师角度理解就是“系统化分析和思考”和“知其然知其所以然”。

您是如何一步步成长为架构师的?

我比很多人幸运,来到了阿里,有很多场景去借鉴和实践,身边有很多牛人的帮助。一开始也没有规划要成为什么样的人,毕业能做个码农,每天写写代码、调试系统就是当初的理想。开心的做了 6 年的基础开发,这一段时间的编码工作对我技术基础的沉淀非常关键。

然后维护别人的系统、不断的修正 Bug 打补丁,做各种打杂的事情如前端、Java、客户端程序、搜索等,出了问题都会跑在第一线去排查,哪怕是别人的系统我也会研究什么问题、什么原因、怎么解决的、现在的解决方式合理么?这个过程让我行为和思想上得到很大的提升,负责范围逐步从一个小功能、小项目、小模块、小系统到大系统、大业务线;工作内容也从别人设计我编码,我设计小功能别人Review 到我单独设计一个模块,负责一个系统维护,规划一条业务线;

对此,我自己的总结就是:责任有多大,能力就有多大,不断的证明自己的能力,从小的做起。

对于年轻的程序员有哪些学习和成长建议?

在前边的回答里,大家可以看到我的成长经历,这里也分享几点心得:

  1. 管理好自己的时间,有时间才能学习;

  2. 每一次工作任务,不要放弃每一个技术细节。问问自己:是否知其然且知其所以然?

  3. 阶段性的做目标回顾、总结,找一些身边的人聊聊,交换方案;

从技术到管理,您觉得自己转型是否顺利?有哪些经验可以分享?

技术到管理,我觉得自己还在路上。技术人员转型其实有很大的优势,但也有可能成为障碍。团队成员一开始因为仰慕你的技术在一起,但也可能因为你只关注技术而离开你。

可以分享两点:

  1. 技术人员都有一颗 “挑战难题、证明自己、被人认可技术实力”的心,围绕这一点开展团队管理就很好做了,“道”有了,剩下就是“法”啦。

  2. 技术必须实现商业价值。技术带头人必须知道你支持业务的方向、难点,才能更好的做规划和执行。有业务场景、有人,排兵布阵就是 Leader 需要思考的。

大公司的业务技术创新向来都非易事,对于打造创新型、能打硬仗的技术团队,您觉得有哪些需要注意的地方?

这个确实,我觉得需要在团队里围绕业务做文化定制和宣传,尤其是创业文化:目标明确、落地坚决、结果清晰、奖惩透明。通过项目、日常工作的事件去宣传和培养。今天在“VUCA”的互联网环境中,主要是人的脑力创作工作。既要有一个氛围相对轻松的环境让大家发挥创造力,也需要一个结果导向的心智传播机制。

您是如何帮助团队成员学习、提高整体研发实力的?如何看待技术会议和分享活动?

分享首先就是对分享者自我学习、自我总结、别人帮助自己提升的事情,我很鼓励大家去分享,而且不拘于形式;在和别人交流经验、知识传播的过程中,能让更多的人对于同一个知识领域有各个角度的认知。

分享和技术学习是提升团队能力的一种方式,但是在不同阶段需要给予不同的支持和帮助。团队成员一般会在一个层级上经历“环境熟悉、夯实基础、独当一面、放手高飞”四个阶段,每个阶段对于不同岗位的人的要求也因人而异,做到个人能力提升就实现了团队能力的提升。

您希望怎样的技术人加入自己的团队?

零售通团队目前是一个全栈型组合,有前端岗位、Java岗位、Android 和 iOS 的无线开发岗位及测试岗位,每一种岗位都有特定的专业技能要求,阿里目前招聘最低要求是 P6,代表着能独立完成工作并有带项目能力和辅导他人的能力。

零售通技术团队目前主要是支持集团新战略之一“零售通”,业务使命是“服务每家店,只为每个家”,在这样的创业技术团队,我们欢迎各类技术牛人的加入,一起开启造梦之旅。

我期望的团队是一个特种部队,在一起有同样的行为规范、协同作战实现 1+1>2,单兵作战个人能力也数一数二;每个团队成员都有自己的特长,能为了一个目标而不分彼此相互补位。特种部队的成员都有很强的团队使命感和责任感,在团队内自我驱动、自我激励、自我管理,为了专业技能也需要很强的学习能力。

希望您能对斯达克学院(StuQ)给出一些指导性意见,对 StuQ 做一个新年寄语。

StuQ 学院过去一段时间培养了很多互联网技术人才,他们也逐步成为整个中国互联网技术的生力军。在培养技术人才方面,我的建议是以实践为主。期待以后可以有些项目合作,比如阿里发布一些项目和学院合作,技术人员在学习的同时完成了一个实际工程项目,后续可以被发布到线上发挥作用。这对技术人学习会有场景化的挑战和业务结果的成就感。

2017年,希望 StuQ 越办越好,成为新时代互联网技术人才的“黄埔军校”。

关于「 StuQ 公开课 」

公开课直播轮番听与众专家畅聊技术

StuQ 每周将邀请不少于两位专家大咖,围绕热点技术、实战案例、职场软技能培养、职业成长规划等涵盖多技术领域技术内容的主题分享。每次分享时长将在1小时至1个半小时间。直播开始前+过程中,可随时以文字方式提问,专家会针对具体问题做出回答或给出指导意见。

扫描下图二维码,了解近期公开课课程表:

更多干货情戳阅读原文