专访:平安科技首席架构师金新明和他的程序人生

Posted CSDN 程序人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了专访:平安科技首席架构师金新明和他的程序人生相关的知识,希望对你有一定的参考价值。

【CSDN 编者按】从改革开放后提出金融电子化,到如今新一代技术与金融的融合创新,近半个世纪以来,国内外金融科技究竟如何发展?为了回答这个问题,我们请到了平安科技首席架构师金新明,通过对他经历丰富的技术人生专访,一同见证国内外金融科技产业界的不断变迁。

原文出处:《新程序员005:开源深度指南 & 新金融背后的科技力量》

(注:纸书将于春节后快递,小程序订阅立即生效)

声明:本文为 CSDN 原创,未经允许,禁止转载。

金新明,曾在华南理工大学和曼彻斯特大学分别攻读自动化和计算机双博士学位,原本想要成为大学教授,却在机缘巧合下进入金融科技产业界,从系统架构师一直做到首席企业架构师。

从广州到曼彻斯特,从爱丁堡到伦敦,从天津回到广州……一路上,他亲历了20世纪90年代的中国金融科技产业,参与完成国内第一家银联POS技术集成项目;也曾在苏格兰皇家银行成功落地实践了他在泰雷兹时形成的Mission Critical系统工程理念;开发出可能是银行史上第一个以模型为基础的端到端的驱动项目。回到国内后,他将新的征途选择在“金融云”赛道上,而战车则是——平安科技。

接下来,我们就一起走进平安科技首席架构师金新明的技术人生,看他如何与金融科技产业结缘,如何将不同的产业技术思维融会贯通,如今的他又有哪些进一步的思考,可以给到开发者哪些启发。

金新明

平安科技首席架构师。毕业于英国曼彻斯特大学计算机系和华南理工大学自动化学院,分别获得软件工程和自动控制博士学位,曾任职于多家国际银行。2021年9月加入平安,协助在集团层面推动技术架构的建设和优化。曾参与开发广东省银联第一个POS跨行集成系统,负责设计多个大型企业和金融核心系统以及银行的整体企业架构。

与金融科技结缘:参与全国第一家银联POS集成项目

20世纪90年代,银行卡还是稀罕产品,大型商场的POS机林立,每家银行都要用自己的POS才能刷卡,场景颇为“壮观”。

此时的金新明正在华南理工大学攻读自动化专业研究生,重视项目实践的宽松校风让他在研二即有机会走进企业:“我们可以参加外部公司项目,论文通过答辩就算成绩可以毕业。”幸运的是,金新明恰好遇到广东银联第一个POS机集成项目,负责人找到了金新明和他的两个同学。

“之所以找我们,主要是看重华工学生的学习能力。”就这样,金新明在广州银联江湾的办公楼里,开始用COBOL语言做大型机的编程。“当时各个银行使用的网络协议都不一样,如TCP/IPX.25、SNA……这些让如今的开发者听上去是老古董的协议和各自不同的交易格式,正是无法让终端实现统一的源头所在,我们的编程工作就是要将不同的协议集成,最终通过银联POS中心实现互通互联。”

事实上,终端集成是这一时期金融电子化的主旋律。1995年8月,以Nonstop(无停止)闻名的天腾容错计算机,作为银行自动取款机联网系统的主机在上海投入使用,这是自1993年国务院启动“金卡工程”后,国内首次开通ATM/POS业务的金卡试点。

三个月后,天腾高级容错系统喜马拉雅作为ATM/POS软件运行的硬件平台,也被广东银联POS集成项目所采用。第一次接触大型机,金新明感觉到自己亟待提升,“在此之前,我们自动化专业学习的编程语言只有PC上的BASIC、Fortran和C,对天腾大型机封闭操作系统上的COBOL刚开始感觉无从下手。”

在网络尚未普及的时代,不仅没有线上课程,连方便携带的电子书也没有。金新明和同学只能通过一摞摞书,边看手册边在机器上操作,对各种协议的学习和理解通过理论和实践逐步完成。就这样,广东银联的POS集成项目在几个研究生日复一日的编码中逐渐成形。

作为尚未走出象牙塔的年轻人,能够参与全国第一家银联POS技术的项目集成,自然难能可贵。当他回想起这段经历,最难忘的是:“因为资源稀缺,就感觉学习的每个知识点都很珍贵,像掌握了独门秘诀一样兴奋。”

正是这段不同寻常的经历,为他之后从事金融科技行业埋下了伏笔。

从成为教授到进入产业:开始走上架构师之路

因为缺少获得信息的渠道,金新明和当时的其他高考生一样,填报志愿时并没有对所学自动化专业有更多了解,只是遵循了“学好数理化,走遍天下都不怕”的普世道理。在北方工业大学读本科期间,他学习了硬件和软件知识,包括单片机控制和计算机编程。

之后又到华南理工大学读自动化硕士和博士。读博期间,学校和香港科技大学开展了联合项目,金新明到香港科技大学进行了博士最后一年的项目研究。客观讲,这一年的经历让他感受到国内高校在学习资源、研究方法上和国际化还是有不小差距。“感觉自己打开了眼界,真正接触到了国际领先的研究方法。”

一般来说,学业结束即面临找工作的问题,但金新明此时还不想进入产业界,对理论知识的偏好让他想学习更多先进的技术方法。为此,博士后期他便开始申请国外大学的研究课题,最终拿到几个offer。因为曼彻斯特大学给到全额奖学金,加上“基于软件模型的软件工程”是他想要研究的方向,便去英国攻读了计算机博士学位。

“那时候原本想做教授,对学术就非常渴望。如果不是想要进入学界,不建议大家在学校读太长时间的书。”

话虽如此,但学生时代的金新明还是将学术理想进行到底,读完第二个博士学位后,又到曼彻斯特的另一所大学——索尔福德大学,完成了为期一年多的博士后研究。由于在曼城学习和工作期间参与了很多制定国际信息标准的实际工作,他最终没有选择在大学任教,而是进入了一家专注大型系统开发和集成的国防咨询公司,参与国际信息标准产品生命周期支持(Product Life Cycle Support,ISO10303-239)的拟定和实施的相关咨询工作。两年后,金新明跳槽去到欧洲最大的防务公司泰雷兹(Thales)集团,自此他开始走上架构师的职业发展路径,从系统架构师到方案架构师、数据架构师,再到企业架构师。

由于外国人的身份,金新明在国防这一敏感领域处处受限。“当我做了五六年的时候发现,随着接触面的增大,受到的限制也就越来越大。”

意识到在防务领域技术上很难尽情发挥和获得提升,他开始更进一步思考自己的职业生涯,回想起在广州的银联POS集成经历,他设想,或许重回金融行业是一个好的选择。

重归金融:融会贯通、中外合璧

不过想归想,能否达成还要看机缘。从泰雷兹出来后,他先是去到印度著名软件公司Infosys,巧的是,公司随即派遣他去苏格兰皇家银行做方案架构师,于是他如愿回到了金融行业。

苏格兰皇家银行创建至今已有近300年历史,以零售业务为主。对于技术的赋能理念,该银行主要想实现零售业务的多渠道售卖,包括通过Web端、手机端,或者在branch中实现和客户面对面的实时展示。

事实上,此时的金融零售业刚开启电子化不久,几乎没有成熟可借鉴的案例。即使像苏格兰皇家银行这样的行业头部在金融系统架构上也没有成熟的规范。“基本是需要什么就做什么,快速设计、快速交付。在一些测试环节,甚至需求都没有测试完就直接上线。”

金新明多年在国防系统项目中磨炼的严谨工程思维此时派上了用场。从需求端开始切入设计,选择模块到实现,通过测试验证实现……国防的链路式设计保证了从需求到测试的完整证据链,所谓MissionCritical,不能有任何疏忽和遗漏。

“我把系统工程的概念引入到了项目中,比如从需求端到设计端如何进行链接和转换,确保每个需求在设计中都有涵盖,就实现了可追溯的环路。”

此外,当时的银行监管趋严,借鉴国防系统的架构思维,让系统架构更加严谨,也为未来发展铺设了地基。

“这是让我印象较深的事情,从一个非常严谨的行业,到一个相对宽松,但又趋严的环境,如何将过往的经验借鉴到新的领域。”

从当时市场和团队普遍认可的反馈结果来看,他的这一尝试非常成功。

虽然事业顺遂,但金新明家住伦敦,苏格兰皇家银行总部在爱丁堡,长期的来回奔波让他感觉十分吃不消,便开始寻找在伦敦的工作机会。这时,巴克莱投资银行向他抛出了橄榄枝。

这家银行想要做后台对账系统,希望能够引进基于模型的架构,以模型作为驱动来做整体系统设计,而实现这一业务的技术正好与金新明读博期间所学对口,他的博士论文题目便是《基于模型的流程仿真》,加上在咨询公司做系统工程沉淀的方法,金新明便成为不二人选。他很快收到巴克莱投资银行的Offer,岗位是当时市场上鲜有的“流程架构师”。

作为项目模型的牵头人,金新明用Zachman框架将业务模型、数据模型进行了搭建,在此基础上进一步开发了能够根据模型生成代码的引擎。“我负责这个项目所有模型的架构,包括业务流程模型、数据模型、用例模型,以及事件模型,并且设计开发了一个代码生成引擎,这可能是银行界第一个以模型为基础的端到端的驱动项目。”

对于金新明和他的团队来说,面临的最大挑战是如何将模型的效率提高,同时还要做好不同团队质检的版本协调,包括模型版本控制、生成的代码标准化等问题,都是此前没有遇到过的。

“需要用各类工具来辅助技术的实现,做好端到端的设计、测试和集成,很多方面需要协调考虑。这是我遇到的技术挑战最多的项目。”

如今回想,金新明对这样的“瀑布式开发”进行了反思。“一定要有模型改变才能生成代码,这一点如果从现在敏捷的角度来衡量,肯定不够敏捷。模型和代码生成器本身就是瓶颈,而如果前端、后端和数据库团队都依赖建模团队,就很难像敏捷开发者一样做快速迭代。不过,这毕竟是成长的过程,而且后来兴起的很多软件工程实践,如DDD(领域驱动设计)和我们当时基于模型的开发还是很相关的。”

在英国学习、工作十四年后,金新明选择在2014年回国。他先是加入渣打银行在天津的研发中心,负责金融平台的架构,他的团队参与开发、设计了当时的沪港通。2015年回到广州,成为汇丰集团首席风控架构师,后来又去到香港,成为亚太区对公银行首席架构师。2021年9月,金新明加入平安科技,成为首席架构师。

“从去到英国读博,二十余年来我一直在国外企业和银行做技术,没有过国内企业的工作经历,受到邀请的时候我也非常好奇,想要知道国内头部金融科技企业如何做研发和架构,感觉是非常好的平台和学习机会。此外,也想把国外成熟企业中的经验,特别是架构方面借鉴到我们的系统中来,所以决定来平安科技。”

目前,金新明负责平安科技以及集团的整体研发和架构管理。

搭建架构师团队,应对标准化和特殊性的挑战

加入平安科技后,金新明主要负责两项工作:一是分管技术中心,包括DevOps平台(神兵)、微服务架构、API门户,以及治理框架;也包括中间件、工作流等一般企业都需要使用的公共能力。另外,为了对架构能力进行盘点和提升,他带领成立了集团架构师团队,将各领域专家沉淀下来的技术精华复用给集团各子公司。

在集团层面,金新明和负责研发架构的专家一起成立了研发架构委员会,目前负责平安集团研发领域标准规范的制定和实施工作。同时成立了架构师社区,目前有1600多位架构师参与讨论和分享。在他的带领下,集团层的专家库也建设了起来,包括DDD、高并发、高性能等实现不同技术性能的专家悉数归类到库中。

“如果遇到集团层的技术挑战,库里的专家可以马上组成专家组提供相应的咨询和技术服务,这样就能把整个集团的专家力量调用起来。”

谈及目前面临的主要问题,金新明认为主要在于技术选型上很难“大一统”:“平安集团很大,每家子公司的选型可能都不一样,对我们来说技术的整合和统一是最大的挑战,但至少做到在一个大的框架范围内。”

实际则是,相似也很难做到,尤其对于存量系统,因为已有用户,再进行转换非常困难,“所以只能从新增系统开始让大家遵循标准。”

在定义标准的过程中,每家子公司也有自己的独特诉求。如何求同存异,以及在严格的开发时限内,满足业务需求的同时又能从战略角度进行技术的提升和整合,都是摆在他面前,未来需要逾越的难题。

如今的金新明,重归金融行业已有十余年。从自动化到计算机,从国防技术到金融科技,从国际知名企业到国内头部集团,他已然融会贯通、中外合璧。那么,对于时下新金融背后的科技力量,他又有哪些看法呢?

云和大数据带来底层系统的改变

《新程序员》:目前通用的金融科技划分包括大数据金融、人工智能金融、区块链金融和量化金融四个板块。你认为这样的划分方法主要基于什么考虑?是否认同?

金新明:我倒是没有很关注过这样的划分方式。一般是按照行业业务来划分,如银行金融科技、保险金融科技。大数据、人工智能这样的划分很明显是从技术角度切入。但根据我的个人经验,感觉这样的划分其实很重叠。例如,量化金融中肯定会用到大数据和AI的能力,它们之间有很多交集。

还有一点是技术的迭代非常快,如区块链,十年前还没有这个概念。我们现在的技术概念可能在十年之后又会被新的技术所替代。如果不考虑技术迭代的问题,现在这样的划分还没什么问题,但如果把时间拉长,这样的划分可能就会有问题。

《新程序员》:近五年来哪些技术对金融的改造最大?体现在哪些方面?

金新明:排前三位置的我认为是云、大数据和AI。首先是云,我之前在银行,大部分工作都基于云的转型。当时要求所有系统上云,而且是上公有云。但系统上云不是简单把现有系统从实体服务器搬到虚拟机上,而是要求系统重新设计架构,要充分利用云原生的能力。所以,上云的系统设计和数据管理都面临很多新的挑战。

第二是大数据,数据的应用对于金融行业来说也是底层变化。如今数据量急剧增加,如何有效应用数据,而且满足监管的要求,都是非常重要的。

第三是AI的应用。但实际上,AI在金融产业的真正落地还没有实现规模化,但它引发的探索和实践意义非常大。

《新程序员》:这三项你认为最重要的技术,它们改变金融产业的底层逻辑是怎样的?

金新明:云带来的是底层系统设计的改变。二十多年前我第一次接触到的系统是“天腾”,它采用了很多冗余设计,包括多备份的CPU,单个备份不够就用两个。所以,以前我们讲系统可靠性是冗余设计一倍,或者两倍。但如果遇到像“双十一”这样的情况,冗余百倍、千倍可能都不够。在这种情况下,用传统机房、服务器来满足这么大量的需求是不可能的,只有上云,通过无限和更加稳定的空间才能解决这一挑战。

当然,云带来的好处不只在于可扩展性,而是一整套提效方法。云上有一系列专业工具,对于用户来说,可以不再考虑底层的东西,直接取用即可。

在数据层,以前是数据量不够,现在是太多。数据的增多让决策复杂度几何上升,判断哪些数据是真正可靠的才是关键,比如同一个客户可能会有两个相互冲突的数据,要判断哪个才是可信的,如何在相互之间搭建关联度,如何从一个数据链接到另一个数据等等。

还有一点是监管层面。传统的系统设计没有考虑到个人数据的隐私问题。特别是在金融这样的强监管行业,想要做好数据的利用和保护,一整套端到端的设计必须到位,包括如何进行企业层面的元数据设计,如何完成整体数据架构的设计,这些方面都是需要加强的。

至于人工智能,改变主要集中在某些相对简单的场景中。从底层系统来说,因为逻辑过于复杂,还不能在开发过程中形成完整成熟和方便落地部署的机制,更多依托超大量算力的算法。但算力支出很大,金融行业很讲求性价比,如果性价比不高很难大范围推广。

所以,我个人认为,人工智能技术对于金融行业来说还没有根本性的触及,但是云和大数据可以说影响到底层了。

私有云是第一步,“金融云”是未来方向

《新程序员》:目前行业在云的部署上有哪些特点?云原生在金融科技的应用情况如何?如何保证安全性?可结合你所经历的实践案例举例说明。

金新明:云的部署需要分国内和国外两个角度来讲,是很不一样的。国外的金融企业基本采用公有云,不管银行还是其他金融机构,云供应商也是以公有云为主,不支持私有部署,像谷歌、微软、AWS等厂商,他们的研发方向设定都不支持私有部署。国外的监管经过多年发展,也慢慢认可了这个方向。

这一点也可以谈谈我自己的经历。之前工作的一家银行刚上云的时候,我们要和全球每个国家的监管部门去谈,包括“为什么上云?为什么上云是安全的?如何符合监管的要求”等等问题。监管的态度也是有变化的,从一开始不了解、不支持,到后来基本支持。但国内目前对云的态度相对来说还比较保守,不太放心。在这样的环境下,私有云的部署就更容易推行。

我个人比较支持公有云,或者说是行业云,现在所讲的“金融云”概念,核心要义是——怎样可以有一个在金融行业认证部署的产业云,这是很多金融机构都在期待的方向。所以,私有云是第一步,公有云是未来的方向。

《新程序员》:在我们对云原生的相关调查中,发现目前在云的部署上确实是私有云最多,占到34%;公有云则占到20%左右。另外,近年来多云部署也比较热门,在金融行业,多云部署是否有显见的趋势呢?

金新明:结合我的经验看,多云部署确实是趋势。我之前所在银行就是采用多云战略,包括谷歌云、Azure、AWS、阿里云在内的四大云都用了。之所以采用多云,因为国外必须有ExitPlan,即退出计划,主要考虑到厂商的经营稳定性,从设计角度需要有PlanB。

应用多云需要考虑的重点是要了解每个云,对它们的需求也必须明确,是用到特定功能,还是采用共同特性,都是需要考虑的点。如果采用云供应商自身特有的功能可能效率更高,软硬件达到最优化,但同时也要考虑到不同云之间的共通性,可能需要牺牲一些效能,好处是迁移成本更低。

监管的要求、系统的需求,以及功能设计上迁移的需求,种种需求之间应该达到怎样的平衡,这是首要考虑的问题。

《新程序员》:作为数据密集型行业,金融业对数据的互联互通需求迫切,是隐私计算技术的主要落地领域。目前隐私计算主要应用在哪些业务中?应用情况如何?还存在哪些壁垒?

金新明:隐私计算确实是这两年特别火的领域,我们平安也在一些应用上实现了落地,像联邦计算和多方安全计算,在具体项目上我们已经有一些落地案例。

我之前在银行也有一些关于隐私计算的探索,如跨境的客户信息分享,基于不同国家的监管要求,相对来说更严格。我也曾和清华大学一家公司做了多方安全计算上的一些尝试性探索。在未来肯定是一个方向,我认可这个方向。

《新程序员》:区块链技术对于金融行业的重要性体现在哪些方面?

金新明:区块链最重要的是去中心化,但去中心化与监管存在冲突。从监管来说短时间内还是有顾虑,不过从技术角度来说确实是一个方向。

我们讲Web3.0,从区块链到NFT、DeFi,再到元宇宙(Metaverse),有一些银行在元宇宙世界开了支行,这些探索都还是挺有意思的。

《新程序员》:从自动化到金融科技,也是从硬件到软件,你怎么看软硬件的问题?

金新明:软硬件要更好地结合,通过软件算法来实现硬件的控制,只有两者的无缝结合才能达到最佳目标。现在也有用软件代替硬件控制的做法,但如果是机械相关的,还是需要有真正的控制设备才能实现。

做全栈式开发者,注意结构化和严谨思维的培养

《新程序员》:中国在金融科技产业的发展上有哪些特点?例如,相较国外我们的技术先进性,政策规范对金融科技发展的影响,以及市场环境为金融科技提出的要求等。

金新明:从初入产业的十多年我都在外企,平安科技是我参与的第一家国内大型的头部企业,下面谈一点我自己的感受。首先,技术方面是成熟度的问题。我之前工作的银行有100年以上的发展史,经过了相当长时间的沉淀,慢慢才有了现在的成熟度。中国的企业最长只有三四十年,实际上国内企业已经是在跨越式地发展。

从另一个角度来看,国外企业曾经踩过的坑,或者说经验,我们还是可以去规避和借鉴的。例如,国内大型企业在做大的过程中如何从整体的角度做规划和设计,这些方面还是有不少可以学习的地方。

国内监管更多是当产业发展出现问题后的被动监管。例如互联网金融,为什么在中国可以蓬勃发展,但在国外就没有太起势?有人说是因为我们的技术发展超前,但我个人认为主要还是在于监管的容忍,给了互联网企业更多的探索空间。

所以,监管环境的成熟与否也有好有坏。我们正是因为监管环境趋向成熟,反而留存了不少可探索空间。所以,中国今天在互联网金融上做的探索性尝试是国外远没有达到的。但这两年,也明显感觉到在收紧,互联网金融也更趋正规化,这是从相对不成熟到成熟的必经阶段。

《新程序员》:对于开发者,你还有哪些建议和期许?金融行业的开发者需要哪些特殊的能力吗?

金新明:我一直认为开发者一定要自己动手操作,尝试新的东西。我有一个建议,现在有很多开发工具帮助我们简化了很多事情,但有的时候开发者需要尝试把这些工具撇开,自己从头到尾搭建,真正深入到实践后形成的学习思维非常重要,是成为全栈式开发者的思维基础。

对于金融行业开发者来说,技术方面没有太多需要注意的,基本都一样。更需要关注的是结构化、严谨性这些思维属性的培养,也要关注金融行业本身的产业特点,如监管。如果监管的要求没有考虑到,就可能造成很大的系统性问题。

最后,需要具备开放的心态,开发者的学习能力持续提升是根本。

以上是关于专访:平安科技首席架构师金新明和他的程序人生的主要内容,如果未能解决你的问题,请参考以下文章

百度开放云首席架构师徐串:架构师必须理解程序员的痛

专访前C#编译器组首席工程师Eric Lippert

华为云数据库首席架构师:关于数据库他这样说……

华为云数据库首席架构师:关于数据库他这样说……

平安产险深圳分公司:邓斌出任中国平安首席投资执行官 夯实投管体系和能力建设

专访唐成:从小工到专家,PostgreSQL的修炼之道