开篇 | 架构师之道(在数字世界我要修个仙)

文摘   2024-11-26 09:59   上海  
寻合规之道,共筑数据保障之堡。专注为数据安全管理者、技术专家、隐私法务、律师等专业人士打造的知识共享与交流平台。
点击  "合规社"  > 点击右上角“···” > 设为星标⭐
 
作者 | 陈学进
图源 | pexels
责编 | 合规酱


架构师,编织数字世界的经纬。

——架构师之道


 



  本文作者 
陈学进
陈学进,资深架构师和AI技术专家,早年就职于国信朗讯和上海惠普担任资深架构师等职务;后加入平安科技、众安科技、恒生电子等金融科技公司,从事过基于AI大模型的人工智能体系的建设,也主管过基于大数据的数字化营销产品线,后又从事高性能极速交易的金融投资核心系统的架构设计和技术管理工作。常年浸润于技术一线,对于ToB的系统建设,ToC的互联网系统建设都有比较深的见解,多样的经历,也造就了丰富的技术认知,期待跟大家一起在数字世界修个仙。

大家好,我是陈学进。非常荣幸地接受合规社的邀请,在这里开启「架构师之道」专栏,与大家分享我的成长旅程,我将其戏称为“漫漫修仙路”。在未来的日子里,这个专栏将会定期更新,带您一同探索架构师的世界。
对照修仙的不同等级,我们也从练气开始,学习些基础知识,再来点技能傍身,顺手再捡一些“灵石”啊、“法宝”啊、“仙器”啊什么的,一路打怪升级,待到渡劫时,磨练心性,研习天道,借力打力,一生二,二生三,三生万物,顿悟飞升。
来吧,体验一下别样的技术生活,携一身桀骜的轻狂,从认识自我开始,拥抱不成熟的曾经,成就理想中的自己!

在数字世界我要修个仙


开篇词:先定个小目标吧!
开篇在脑海里面想起了人们常说的那句话:“人如果没有理想,跟咸鱼有什么区别?”,怎么说呢?意思就是人活在世上,总归还是要有那么点追求的,这也是我们从小到大身边的人包括我们父母一直对我们的谆谆教导吧。

想我们从小到大,从呱呱坠地的那一刻起,就注定我们这一辈子即扯淡又平凡的修炼之路开始了,后来我们开始丫丫学语,又跌跌撞撞的蹒跚起步,再到荡起双桨背上书包做起小二郎,然后再到懵懂青春期的初高中,到放飞梦想的大学青骢时光,一路欢歌笑语的走到了人生的岔路口。
在茫然中我们开始无奈的背上套,弓起身,开始了牛马的一生。然后一路打怪升级,闯荡各种副本,挥洒着汗水,磨练着心性,揉搓着灵魂,在通往成功的这条路上,努力着,拼搏着。殊不知,进阶的道路如此之艰难,垫着脚尖,磨破手脚,拼劲全力才堪堪爬上一阶。在这混蛋的人世间,我疯疯傻傻,我又痴痴颠颠,左顾右盼,漫漫人生路,同行并不孤单,如此多的牛马原来都在修仙,渴望着努力有所回报,渴望着渡劫成功,渴望着成就大罗金仙。

回望来时路,哭笑不得,奈不住曾经的一位老者感慨“痴儿,......”。话说回来,就是做条咸鱼又何妨?可以自由哭,自由笑,自由闹,嬉笑怒骂沉沦在这个混沌人世间。

拂去感慨,言归正传,生活中苦逼的牛马,也不阻碍我们逍遥的活在数字世界打怪升级,为着那份儿信念,那份儿执着努力挣扎。总结一下自己的修炼心得,也掺杂一些牢骚,也会有一些唠叨,给各位一个抛砖引玉的参考,如确能帮到各位一二,那就算是莫大的功德了。

01

直击灵魂三问

小时候看《西游记》,不知道大家是否还记得唐僧每次路过一个国家,总会向国王这样介绍自己:“贫僧唐三藏,从东土大唐而来,要往西天取经。” 当时没听出特别的含义来,觉的就是普普通通的几句,甚至觉得唐僧竟说些无营养的废话。

直到后来中学后开始接触哲学,接触到了哲学经典三问:“我是谁?我从哪儿来?我要到哪儿去?”。再回想唐僧的自我介绍,不正是回答这三个问题吗? 他的自我介绍不仅是讲给国王听的,更是讲给自己听的。他清楚自己是谁、从哪里来、要到哪里去,清晰地规划了自己的取经之路,更为难得的是他切实的坚持走了下去。不管路上有多少的艰难和诱惑,妖魔、金钱、权力、美女都没有动摇他西天取经的决心,最后的功德圆满也算是老天对他的馈赠吧。
这个直击灵魂的三问,对于我们来说又意味着什么呢?

“我是谁?”莫非是让我们自己记住自己的名字?不...会吧?从这个问题延伸,我们更倾向于理解为自我的认知吧。我的籍贯?我的过往?我的社交?我的学识?我的从业?我的特长?我的短板?我的思维认知?......
“我从哪里来?” 这个问题问的是不是有点莫名奇妙?当然从娘胎里面来。除此之外,我们还要整明白,我的故乡,我的行业,我的职位,我的职级,我在公司在社会上处于什么样的位置?

“我要到哪儿去?” 简单来说,就是我们要成为什么样的自己,隐含着还包含我如何去成为想象中的自己,也就是大家所说的方法论。

这三个问题是相互关联、互为前提的,回答好它们,就是结合自身特点为脚下的道路做了规划,就可以清晰自己的目标,看到通往目标的路径,明了一步一步怎么去走,知道自己大概走多远,知道自己所做的事情是为了什么,知道在此过程中会遇到很多障碍,更知道为了逾越这些障碍我需要相应地改变自己。

人生需要思考,职业需要规划。只有现实地弄清楚上面的问题,才能走得更稳、走得更远,并且在遇到瓶颈时,有着坚韧而平和的心态。唐僧正是因为对那三个问题的答案了然于心,才能一关一关地克服那九九八十一难,最终取得真经。

当然,我们不是在给大家讲哲学,或者在做人生说教。我们抛出这个问题,只是简单的想在正文开始之前,给大家静默3秒钟,重新认识下自己,明确下成长目标,随我一道摸索下成长路径----追求下“天道”?玩笑,哇咔咔!!!
02
啥是构架师?
既然本专栏是冲着修炼架构师来的,那啥是架构师呢?
来,上目标。

来点枯燥的定义:就像规划和设计建筑物的架构师一样,软件架构师为软件开发做出高层次的设计选择,并选择正确的技术和过程。
03
架构师的职责
相信大家都有切身感受,随着社会的发展,特别是4G之后的移动互联网时代,计算机系统的复杂度,可以说成指数级上升。无论是计算机相关专业的师生,亦或是广大的IT从业者应该都深深的知道,现在软件开发可不是一个人的单打独斗时代,也不是一天两天的简单任务,需要极大的投入大量的人力和时间。

说到这里,我们就不得不说下我们人类的一个通病,凡事自己一个人做,好坏都自己承担,很少会有人瞎逼逼;但凡需要多个人协作来做事情的时候,就会有各种磕磕碰碰,一会儿你要这样,一会儿他要那样,想法、心思、认知很难拉齐,借用经常在武侠片子里面经常听到的一句话:“有人的地方就有江湖”,古人诚不欺我也。

那类比到我们软件系统的研发,其实也一样,一个团队,一个或多个产品,总会有不同粒度的技术和需求会影响软件开发过程。

当谈到创建软件时,技术团队要遵循不同的阶段和方法来提出可行的解决方案。除此之外,技术团队还需要一个软件架构来根据组织的需求和期望构建他们的产品。

但是技术团队如何知道哪种架构最适合他们的项目呢?他们如何知道哪些技术符合他们所服务的组织的需求?谁定义标准并指导他们创建正确的产品?

软件架构师就像一个指挥官,在设计和开发软件时进行技术层面的指导也对他的团队成员进行排兵布阵。如果把软件开发比作烹饪,他就是为一道令人垂涎欲滴的菜肴提供最佳配料和烹饪方法建议的大厨。并在开发过程中与团队一起参与,并为开发制定规则和指导方针。

架构师是负责为软件开发项目规划技术需求、制定标准并建议工具和方法的人。凭借在创建软件架构方面的专业知识,该专业人员指导并处理有关软件应用程序的关键决策。
04

架构师都做啥?

来点通俗的解释,架构师其实就类似于建筑设计师,既精深于业务,也是一位技术指导。从为软件开发制定指导方针和标准,到为实现目标设计制定实施路径、技术方案等。

我们再来看看相对书面的说法:一个好的软件系统,少不了好的架构师的呕心沥血来做相关的业务拆解,技术规划以及相关的数字生态系统引导方面。简而言之,可以涵盖如下的几点:
  • 定义软件的体系结构,它的主要组件,以及与内部和外部系统的交互。

  • 为组织提供架构视图,以便在不同涉众之间建立和谐。

  • 与产品经理、开发人员、客户和其他利益相关者进行互动,设想、设计和开发产品。

  • 定期审查代码以确保最终产品的质量,并帮助团队避免复杂性。

  • 作为软件开发团队的贡献者和导师,使用最佳方法构建正确的解决方案。
原型设计阶段
过了初始的评估阶段,架构师将决定如何构建具体的解决方案。此阶段将需要考虑所有潜在的技术限制和风险,并规划如何实现这个想法。接下来,架构师创建一个架构原型,以确保软件开发团队可以实际构建解决方案。架构原型一般主要来证明方案思路的可行性。

架构师的主要职责是:
  • 应对可能存在的风险和制约因素;

  • 根据业务设计选取相应的技术方案;

  • 据技术方案大家可行的架构原型;

  • 证明解决方案的可行性。

  • 提供详细的设计蓝图,包括但不限于:

    ○ 业务架构

    ○ 功能架构

    ○ 数据架构

    ○ 技术架构

    ○ 部署架构

研发阶段

一旦开发过程开始,架构师将继续设计系统组件以及关键特性,并设定相应的质量标准来确保代码实现符合预先定义的要求。如果项目中没有专门的团队领导,架构师也将参与技术任务的编写。在发生变更的情况下,架构师也将思考如何去做相应的适配或者调整,以确保这些变化不会对预期的产品特性产生负面影响。
主要职责包括:

  • 明确研发流程,研发工具,研发环境及相关知识管理;

  • 配合项目经理进行流程管控及规范规则制定;

  • 编写相关技术规范和要求;

  • 提供技术框架;

  • 编写系统核心骨架;

  • 制定质量标准及版本管理;

  • 需求或者技术方案变更管理;

  • 开发团队指导。

看到这里,大家也可能会感慨,架构师累死得了,全能多面手呢。其实对于一些公司来说,真不见得都跟大厂一样,各种角色和流程都很完善,大家多多理解下。
质量管控

架构师一般情况下会根据产品的形态以及技术实现的路径来帮助选择适当的研发运维及QA工具,对产品的最终部署方法、环境和基础设施以及系统版本策略做出相关的决策。此外,架构师可以在项目结构或基础设施中发起更改。同时,还要确保这些变更不会影响项目预算和交付时间。
主要职责:

  • 研发流程管控;

  • 系统测试总的架构和方案制定;

  • 系统部署测监督;

  • 系统版本管理。
交付运行
由于产品的研发一般是持续迭代的,对于ToB产品而言,将会有实施团队对客户环境进行维护和小的修复,而对于公司自用的ToC的产品,一般会采用DevOps模式,亦即研发即运维的模式来进行内部的持续迭代交付。

架构师的任务是确保完全满足客户业务的诉求,在研发过程中还需要定期检查相关的解读和技术实现并及时解决发现的问题。

特别是ToB的交付类的产品和项目,交付过程中(甚至在验收阶段)随时会面临客户的一些新的调整诉求,在这种情况下,架构师的价值将会体现的淋漓尽致,如何平衡业务诉求和技术实现,以及成本和时间。
架构师在交付阶段的职责:
  • 确保产品的功能以及质量符合准出标准;

  • 配合产品和客户对系统进行验收;

  • 配合项目经理梳理潜在的风险和阶段复盘。

以上只是简单跟大家聊了一些架构师的常见的工作内容,其实每个公司都有自己的管控方式,对架构师也会有不同的职责诉求。
简而言之,可以把架构师理解为支撑大厦的柱子,如果细分职责,可以有多种细分职责,如果职责漫延起来,架构师要操心的事情还真不少。
归于一语,我们自身要发展,还是往能打能抗的发展吧,在未来的职场,才能做到真正的收放自如。

下一篇,聊聊架构师能力要求。

-END-
👆点击图片了解详情

加入社区、商务合作、

投稿等,加二维码咨询 



合规社
数据安全与隐私保护新知分享平台
 最新文章