- 软件平台架构设计与技术管理之道
- 由维昭编著
- 3588字
- 2023-07-27 16:17:28
前言
计算机技术的发展日新月异,市面上软件架构、项目管理、IT技术类书籍层出不穷,从软件专业和技术视角进行阐述的居多,但对技术烂熟于胸,还是无法保证你能成为优秀架构师或驾驭平台的技术负责人。
在互联网、金融、支付、电子商务、民生服务领域参与IT系统平台建设工作多年,我认为确有必要静下来梳理和总结,写这样一本书,通过精湛的主题短文和技术设计剖析,分享在平台建设与维护、架构规划与设计、技术管理与问题决策等各类工作过程中,对“思维、认知、专业能力”的沉淀总结,以及“工作实战经验”的精华观点提炼,给读者提供丰富实用的工作锦囊,帮助大家掌握顶层架构设计和表达方法,精进方法论,优化团队管理;善于审时度势,明察秋毫,综合提升技术工作的掌控力和布道力;增强软实力,快速地成为一个通识全貌型人才。
论道,可以简言间传递领域智慧、触达心灵。与此同时,更希望视本书为软件平台技术管理指导、架构设计与表达的全景字典,可以书中内容及观点作为实际工作参考,在多种场景下把控正确方向,进行有效决策,以解决实际问题,完成各项任务,并且能够对前瞻性的工作行动有效赋能,帮助读者进行主动审视和积极规划。
书中内容并非完全诉求IT技术本身,每个章节独立成文,语言简洁易懂、诙谐幽默,虽系计算机类书籍,但阅读门槛不高,能够以醍醐灌顶的方式指导软件平台技术工作,是对市面上此类书籍稀缺的有利补充。
写作背景
书中提到的专业知识、技术术语,以及作为全书主脉的“平台”二字,更多来自于本人所工作过的行业领域,即平台的构成体是定位于不同功能目标的系统群,使用以开源技术为主的主流分布式框架和高级程序语言设计开发,服务端和多形态客户端相结合,通过网络方式向(C端/B端)各类客户提供业务应用和场景服务。可以明确地说,此“平台”系社会各行业应用最为广泛且具有代表性的IT技术应用形态,主导软件架构理念和技术演变,并体现IT行业主流的管理与发展模式,覆盖大多数的IT从业者。
驾驭软件平台,面临多方面的工作难度。
1.规模大,团队大,投入大
相互关联的庞大系统群,由架构、开发、测试、运维、质量、项目管理等多个团队共同参与建设、维护和管理,技术人员规模一般超过百人,各端采用多种类型的技术栈和工具,平台建设可能占据企业一半以上的成本支出,上游面对多条业务线(产品线),承载企业全部的数据资产和用户交易,决定企业的市场竞争力和商业价值。
2.参与方多,错综复杂
软件行业各领域呈现专业纵深发展和分工细化的特点,平台建设必须最大化集成和复用外部的能力,需要联合众多外部角色,包括参与平台建设的外包商、产品供应商,以及平台功能所依赖的三方平台服务方、合作机构端等,不可控因素多,集成、异构带来很多的技术风险,跨公司沟通成本高,项目群管理难度大,整体工程的进展和质量风险敞口指数级增大。
3.硬实力和软实力要求都极高
平台中,分散自治与规范统一、技术异构与通用通配、安全合规与开放易用、交付速度导向与架构基石等矛盾对立处处存在,驾驭这样一个错综、复杂、立体的“怪兽”,除了必备专业技术技能、熟知企业业务之外,必须具备出众的沟通力、表达力、领导力、思维认知和场景经验。平台级技术架构设计规划与工作决策,是更高阶的架构能力级别,也是更考验“方法论”的运用和“平衡、取舍”的艺术。矛盾无处不在,驾驭软件平台的精粹是驾驭矛盾。
由于技术栈的多极化、立体化发展,企业中已难觅前后端技术通吃的系统架构师,更何况平台要满足服务治理、高性能和高可用、自适应性,以及开发运维一体化和自动化等不同维度的高标准要求,还会涉及大数据、人工智能、区块链等多个领域。就规模、关联性和复杂程度而言,软件平台非一般系统级技术架构师、团队级开发负责人所能掌控。
在个人技术能力覆盖型的管理方式无法满足的情况下,必然需要平台顶层视角级角色,掌控高阶架构,知道每个阶段的工作重点、抓手和工作价值点所在,在相关领域技术理论之上的层面,剖析多个架构切面和主题,进行平台级抽象表达,并能够洞察和平衡多方优劣,有效进行认知提炼,面向平台的能力空间,进行最顶层架构设计规划和技术工作决策,有效引领系统群整体建设。
读者对象
建设和维护软件平台的技术负责人、架构师、中高级技术成员。
致力工作于“CTO、技术总监、架构师、技术咨询或者布道师”岗位的读者。
扩展知识面,争取持续提高的产品、运营人员,以及IT项目管理(PM)、质量管理(QA)人员。
本书导读
本书名称经过多次修改,最终使用“之道”二字,旨在表明,如果一个系统的技术工作更多地聚焦于以软件技术实力为代表的“术”的级别,驾驭平台则更重于上升至论“道”的层面。很少有这样的书,也很难去写这样一本书。
本书是一本与常规技术书风格迥然不同的书籍,第1~5章通过50节主题短文的表达形式,力求语言的简洁精辟,引经据典,如故事一样轻松易懂,篇幅虽不长,但细心阅读会发现承载的信息量很大,全是干货。
50节主题短文的组成方式为:第1章、第2章的23节内容,不仅点睛思维与认知,而且揭示技术工作中的精粹要点;第3章的9节内容,通过架构主题进行平台架构设计的全景式指导阐述,第4章的9节内容,则对高可用、高性能、防御保障等关于核心能力的话题,进行了体系性的关联、剖析和指导,知识点覆盖面广,概念定义分析透彻,不失为平台架构工作小字典;第5章的9节内容,重点在打造高能力技术团队方面进行授道。
可能还没有这样一本书,剖析技术设计材料,与你探究制图之道。本书第6章和第7章提供20余幅技术方案图和架构设计的工作示意图,来源于本人工作和个人学习过程中的手稿,经过完全的信息脱敏后提供给读者,希望能帮助读者学习“表达技术观点、要点”的方式,这对于粗颗粒度的、指导性的设计工作尤为重要,在平台工作中必不可少。第8章则提供两个领域的技术评审参考项和3个台账模板。如果你在工作场景中为制作技术设计图、方案图或者制定评审清单犯难,也可以使用这些材料作为模板参考,用于解决实际问题。
书中大部分内容和观点阐述,多是从认知和方法论的视角来着笔,横跨思维、技术和管理,希望给读者带来一份职业能力发展的“点金术”,即使你是非此形态的软件(如细分领域内的专业软件、底层软件或者特定应用的单体软件)工作者,一样会从本书获益。
在阅读过程中,希望你能在简单的文字中,识别出具备赋能价值的关键词汇,并进行思考和自我评估。例如,你是否在“风险偏好”“生死线指标”这些方面做过明确的定义,是否熟练使用这些作为决策时的理性判断参考维度;你在向上级汇报时,是否存在“技术性幼稚”的问题,甚至阻碍了职业发展;“技术债务”四个字,是否可以帮助你将很多工作任务归入此类,为任务带来一种有味道的属性,增强任务的识别性,为任务赋能;“模式病”和过度设计在你的团队的设计工作中是否大量存在,为此在技术评审中应该有哪些卡口;“分区治理”四个字,是否可以让下属团队迅速理解平台层数据库设计及应用部署设计的核心出发点;“最小化实现”是否可以帮助团队理解软件工程技术角度的敏捷思想;多次使用的“高阶”“要素”“主题”“切面”“问题域”“标的物”,以及“软技能”“全貌”“推手”“标签”“主脉”“通识”“加持”“套牢”“舒适区”“胜负手”“反模式”“预研”“缓释”“补偿”“水位线”“标靶”“底线”“范式”“勾稽”“契约”“可信度加权”“兜底”“冗余”“心智模型”“风险敞口”“粗略视图”“进程鸡窝”“富文字图”“桎梏”“漏勺”“雪崩”“盲区”“固化”“拓扑”“扎口”等字眼,均来自工作实践的升华和对IT“土壤环境”的诙谐领悟,可以在抽象和总结性工作场景中,解决词汇贫乏问题,在工作中熟练运用这些词汇,可以让你的表达和汇报上升到新的高度,布道能力更高超,宣导更加顺利。
掌控这些技能需要不断地练习与实践,走出技能“舒适区”才能实现突破。本书通篇内容为一行一行原汁原味的创作,剔除批量化制造的铜臭味,使用对话的口吻和尽量接地气儿的语言,多处引用成语、谚语,大量使用比喻写法,期望带给读者原生态技术语言之感受,体现软件平台技术工作中的情愫和品味。
最后,进行两个阅读提示:一是对于阅读本书的收获,我最期望的是提供进入一个新的境界的思考方式,本书中提供了很多经典的例子,究其本质而言,是可以在多个章节里面通用的,读者在阅读中请注意体会;二是对架构设计与技术管理的论道,本书内容是基于我18年工作与学习积累的经验,一定会带有不同程度的主观色彩,因此读者要有一个弹性的理解,与其过多关注内容的正确性和权威性,不如以此为点拨,作借鉴之用,以思考和实践自己的论点。让你的思维进入本书谈论的话题领域,悄然间发生质变,是我的最大目的。
本书经过精心思考后所使用的词语和表述,相信其中不乏精粹之处,映射了本书书名“之道”二字,如同戳破窗户纸,触及心灵,成为你的武器库、技能包,在IT队伍中脱颖而出。
由维昭
2022年5月