在程序员的职业规划中,成为软件架构师是一个非常有吸引力的选择。但是对于如何才能成为一名架构师,不少同学认为只要代码写得好,就能得到公司提拔,晋升为架构师。还真不是这样的,如果不具备架构思维,即使代码能写到极致,在开展工作时也将不可避免地掉到坑里去。例如,看起来面面俱到的设计,但因为太复杂而无法落地;错估需求,导致高射炮打蚊子,浪费资源;实现方案总想毕其功于一役,结果需求变化就要推倒重来。所以程序员要清醒地认识到,写好代码仅是软件开发过程中的一个环节,把代码写到极致也不会自动成为架构师。架构工作贯穿了软件生命周期,做好架构一定要学会架构思维。有一本书专门告诉程序员如何培养架构思维——《架构思维:从程序员到CTO》。本书以架构师工作中的痛点问题为导向,结合大量真实、复杂的案例,帮助架构师建立起思考框架,提高架构设计能力,规划职业成长路径。
曾听有的同学说,当上架构师以后就也不用再写代码了,只要把设计做出来,交给程序员去实现就行。这是对架构师工作的片面理解,做架构并不是在编程能力上进行简单的延伸,而是需要综合能力的提升。先引用书中原话,来看一下架构师的定义:架构师是为复杂场景设计结构化软件并且引导多个团队来实施它的人。根据上图中架构师所处的位置,可以总结出架构师所要承担的职责:· 理解业务需求,分析和评估技术方案,制定合适的架构设计方案;
· 负责系统架构设计,涉及软件模块的分解、组织、交互和集成等方面;
· 选择最适合的技术栈,包括编程语言、框架、数据库等;
· 指导和参与开发人员进行编码实现,并对其进行代码审查;
· 审查和评估系统设计和代码开发过程中的技术风险和问题,并提出改进建议;
· 协调各开发团队之间的合作,确保系统架构的一致性和兼容性。
所以在架构师的技能树中,不仅需要技术能力,还要有沟通协调能力、管理能力、解决问题的能力,以及学习和创新能力。这看起来要求还不少,一般人都能达得到吗?本书作者郭东白,就走过了一条从业余编程爱好者到程序员、架构师、CTO 的职业发展完整路径。他想通过本书浓缩对架构师这个职业的理解,也更期望这本书能帮助程序员在通往架构师的路上获得更快、更好的发展。郭东白从布朗大学获得博士学位后,先后在美国甲骨文、微软、亚马逊任职。2014 年回国,在阿里集团先后担任全球速卖通 CTO、Lazada 集团 CTO。目前担任酷澎网络科技副总裁,同时兼任浙江大学计算机学院兼职教授和博导。他是云计算和国际化电商平台领域的资深专家,分别为亚马逊、阿里巴巴和 Lazada 搭建每秒上万次成交,年成交额超百亿美金的大型电商平台,覆盖数字、跨境和本地三种电商商业模式,同时支持内容化、社交化、游戏化、私域化等一系列创新技术。跟着大佬学,成为顶级架构师绝非奢望,有四大法宝可助我们一臂之力。程序员在通往架构师的路上没有捷径,但掌握正确的思考方式和做事原则,就可以大大缩短这个过程。书中将其分为四个独立的部分,每个部分讨论一个主题,这也是大佬传授给我们的四大法宝。· 价值思维:架构师的每个决策都要最大化自己为企业创造的长期价值;
· 实证思维:通过对软件架构方法论的建模来发现指导软件架构的宏观规律,从而可被独立验证且有实用价值;
· 成长思维:以最大化能力成长为目标而进行职业选择。
架构师的实证思维、成长思维和价值思维之间的共生关系然后将架构活动分解成为想法形成、架构规划、实施和复盘 4 个阶段,针对每个阶段的特点提出四种思维模式:全方位思维、批判思维、实用主义思维和分析思维。这些思维定式和思维模式是贯穿全书的思考起点,是作者所强调的“架构思维”,读者需要耐心理解与消化。本部分内容是作者从20多年互联网软件架构生涯中亲身经历,或者近距离观察到的惨痛失败中得出的抽象总结。做架构不想掉到坑里去,就要认真学习这 6 条法则。· 生存法则一:有唯一且正确的目标;
· 生存法则二:架构设计要顺应人性;
· 生存法则三:最大化经济价值;
· 生存法则四:架构选型必须顺应技术趋势;
· 生存法则五:通过架构手段为企业注入外部适应性;
· 生存法则六:在一个友善的企业文化中成长。
架构师总归是要在工作中去解决具体的问题,作者在本部分中回顾了多年工作经历中遇到的一些典型问题,通过分析问题的根因来做出有效应对,展示了架构思维指导实际动作的最佳实践。书中按照软件生命周期将架构活动分为7个阶段,分别是:环境搭建、目标确认、可行性探索、规划确认、项目启动、价值交付和总结复盘。对每个阶段会面对的特定挑战,作者都分析了寻找根因的过程,并给出有效的应对动作。这就帮助架构师在架构活动的不同生命周期关注当时可能出现的问题,从而在正确的时间点对未来可能出现的问题做出有效的防范和充分的准备。程序员不能寄希望于做重复的事情就能自动成为架构师,而应当在舒适区内不断尝试挑战自己。作者认为架构师在成长过程中要具备 5 种重要的能力,并将每种能力对应一个职业角色。· 程序员:结构化设计的能力;
· 兼职架构师:解决横向问题的能力;
· 跨域架构师:解决跨领域冲突的能力;
· 总架构师:构筑技术壁垒的能力;
· CTO:为企业创造生存优势的能力。
上述各个角色要迎接挑战,突破障碍,才能实现能力的跨越。书中说明了每个角色的具体挑战、要跨越的障碍,以及每种能力代表架构师能够解决什么类型的问题。程序员在走向架构师的成长之路上,需要有一个“战略意图”。所以作者对本书的定位是“假设你有做一个全球顶尖架构师的战略意图,那么我希望能帮你提高一点成功概率” 。可能在现实中不是每个人最后都能成为全球五百强的 CTO,但的确有很多人不满足于现状,努力地想要突破职场天花板,一番动作下来却是徒劳无功,这是因为思考没有跟上行动所致。《架构思维:从程序员到CTO》最大的特点,就是为程序员提供了一套思维模型,并且给出了切实可行的建议,帮助大家意识到自己的问题,找准定位,从而实现能力跃迁。所以作者的根本目的是授人以渔,结合自己多年工作中踩过的坑,以丰富的案例说明架构思维是如何用于工作的最佳实践,从而启发读者对自身的思考,进而做出正确的行动。许多非程序员专业的读者同样也可以从本书获益,因为它提供的思考框架尤其适用于当下变化快、竞争压力大、充满不确定性的环境。当然,成长之路注定是坎坷而痛苦的,这也是我们对抗职业风险的最好选择。不要在遭遇职场瓶颈时抱怨大环境和年龄因素,翻开《架构思维:从程序员到CTO》开始学习,突破天花板,成为架构师,走向 CTO!
福利时间
《架构思维:从程序员到CTO》
活动截止时间:2024年4月2日 10:00