新零售新技术》中对马小龙总监的专访,集中为大家分享阿里零售通供应链技术架构挑战、技术人成长及团队管理的实战经验。 受访嘉宾介绍正文 您在供应链和电商领域有丰富的架构设计经验,您觉得互联网电商平台在架构设计上的痛点和难点在哪里?如何解决?
A:供应链,是电商发展走向商业,让参与商业活动的多个角色协同起来,主要包括商家主体、上下游品牌商、生产商、物流商、以及合作服务商之间的系统集成、协同办公、数据流转。
架构设计中,难点很多,从三个方面来讲:
业务本身复杂性高,流程长;业务是多态的,不稳定的;
系统模块在原子化拆分后,模块内部高內聚,但系统与系统、模块与模块之间依赖错综复杂,调用链路也变得复杂;在开发和部署中带来很大挑战;
实施运行中的链路监控和成本,也是非常大的;比如搞大促,需要多方系统的协同;
虽然挑战很多,但是这些问题在阿里庞大的生态环境中,都已经解决或者在逐步解决的路上;对技术而言,从简单业务行为到复杂的业务流程、从单一企业到上下游合作伙伴、从一个行业到全生态环境的管理,这些难点、痛点和挑战,通过产品、系统赋能商业过程中,这些问题都可以一一被拆解到不同领域去考虑:
业务模型的梳理和扩展性的考虑;
流程编排和配置能力的考虑;
开发、测试、部署的成本和效率考虑;
系统模块运行管理和监控;
阿里技术体系历次变革,哪些变化对您来说挑战最大?A:其实从一个黄页式的店铺到交易平台再到今天供应链的系统拓展,每一次都是挑战,每一次挑战都是记忆犹新。
今天面临的挑战更是空前的,首先是业务本身,需要从错综复杂的业务内去梳理业务链路,这个需要更主动的贴合客户和场景,甚至去现场实操,构思产品。
然后是单一业务如何做到产品化。从具象业务抽象到实现同类业务,需要产品的扩展性和可配置性,并从产品化向平台化演进,不断打磨完善。如同汽车流水线生产,不同品牌的车可以加配是产品化,一条生产线可以生产不同品牌的车是平台化。
最后是平台化过程中的技术储备和技术选型,需要抽丝剥茧到每一个领域的细节问题。
对技术系统变革,大家通常都会用“飞行中的飞机换引擎”来类比,即每次切换即使新的架构设想很完美,但也必须充分考虑新老系统切换的每一步实施方案是否可行、可控。
您认为架构师这个技术角色最重要的能力有哪些?A:大家都会想到专业技术、学习能力、创新能力等,用阿里的一句话总结就是实现客户价值的能力:知道做什么(What)、怎么做(How)。
分析分解业务,搞明白业务真正需要的是什么,并不断Check和完善What;
用什么来实现,每一种技术方案的优缺点是什么,每一种技术的边界条件在哪里,限制是什么;预判业务趋势是什么,出现拐点怎么来解决;需要什么样的人和团队来做,怎么推动和协调团队成员完成目标;以及如何验证结果和最终效果。
综上,从架构师角度理解就是“系统化分析和思考”和“知其然知其所以然”。
您是如何一步步成长为架构师的?A:我比很多人幸运,来到了阿里,有很多场景去借鉴和实践,身边有很多牛人的帮助。一开始也没有规划要成为什么样的人,毕业能做个码农,每天写写代码、调试系统就是当初的理想。开心的做了6年的基础开发,这一段时间的编码工作对我技术基础的沉淀非常关键。
然后维护别人的系统、不断的修正Bug打补丁,做各种打杂的事情如前端、Java、客户端程序、搜索等,出了问题都会跑在第一线去排查,哪怕是别人的系统我也会研究什么问题、什么原因、怎么解决的、现在的解决方式合理么?这个过程让我行为和思想上得到很大的提升,负责范围逐步从一个小功能、小项目、小模块、小系统到大系统、大业务线;工作内容也从别人设计我编码,我设计小功能别人Review到我单独设计一个模块,负责一个系统维护,规划一条业务线;
对此,我自己的总结就是:责任有多大,能力就有多大,不断的证明自己的能力,从小的做起。
对于年轻的程序员有哪些学习和成长建议?A:在前边的回答里,大家可以看到我的成长经历,这里也分享几点心得:
管理好自己的时间,有时间才能学习;
每一次工作任务,不要放弃每一个技术细节。问问自己:是否知其然且知其所以然?
阶段性的做目标回顾、总结,找一些身边的人聊聊,交换方案;
从技术到管理,您觉得自己转型是否顺利?有哪些经验可以分享?A:技术到管理,我觉得自己还在路上。技术人员转型其实有很大的优势,但也有可能成为障碍。团队成员一开始因为仰慕你的技术在一起,但也可能因为你只怎么样才能治疗白癜风中科白癜风新春喜相迎