欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

程序员必须懂的架构入门课

程序员文章站 2022-03-26 12:21:36
程序员,真有必要了解架构吗?有的人只关注眼下的“点”,有的人看到了延伸的“线”,还有人畅想出未来的“面”。就像在丛林中穿越,当你迷路找不到方向时,最好就是登上山顶或者爬上树冠,让自己有更宽广的视野,从而找到通往目的地的最佳路径。既要脚踏实地、低头赶路,也要抬头望天、畅想未来,正确的方向比速度更重要。 ......

程序员,真有必要了解架构吗?

在解答这个疑惑之前,我们先来看一则故事:旅行者路过某个工地,建筑工人们都在忙碌。出于好奇,旅行者问第一个人在干什么,那人头也没抬地回答道:我在搬砖。旅行者问第二个人在干什么,这个匆匆抬起头认真地说:我在砌墙。旅行者问第三个人在干什么,那个人脸上充满了光彩,很自豪地说:我在建造圣索菲亚大教堂,将福音传播给更多人!

有的人只关注眼下的“点”,有的人看到了延伸的“线”,还有人畅想出未来的“面”。就像在丛林中穿越,当你迷路找不到方向时,最好就是登上山顶或者爬上树冠,让自己有更宽广的视野,从而找到通往目的地的最佳路径。既要脚踏实地、低头赶路,也要抬头望天、畅想未来,正确的方向比速度更重要。接下来,我们来看看架构跟你的“点、线、面”关系。

  • 一点

跟垒土坯房不同,建造摩天大楼离不开各式各样的设计图纸,构建复杂的应用系统也离不开架构设计。相信你所在的团队也配了架构角色,或由资深开发兼任,或由专职架构负责。不管你从事哪方面工作,包括产品、开发、测试、运维或项目等,你都要跟架构师打交道,例如:产品可研、概要设计、技术选型、详细设计、测试规划、部署规划、问题解决、招聘面试等等。如果对架构缺乏了解,那你就不清楚你跟架构师之间的协作界面,不知道架构师能给你提供哪些支持或帮助,不知道如何跟架构师高效地协作。如果只关心自己眼前的一亩三分地,那你很容易就滞留在“搬砖”层级。

  • 二线

中年危机,35 岁定律,这些命题对于你来说都是客观存在的。随着 it 技术的不断更新换代,普通程序员在市场上竞争力跟年龄成反比,除非你能提前构建出转型升级所需的新技能树。如果沿着技术通道发展,可选的晋升方向有两个:技术专家,扎根于某个垂直的技术领域,往纵深发展;架构专家,构建出更加全面的技术体系,往广博发展。虽然进化方向不同,但殊途同归,最终帮你战胜危机、突破自我,晋升到更高的职位,获得了更好的薪酬。如果个人性格特质更适合往架构方向发展,那你有必要提前了解架构师的主要职责和必备技能。十年磨一剑,五年小成,十年大成,转型升级所需的专业技能不是一朝一夕就能练就的。如果你现在就主动筹备 35 岁这场战役,那你很容易从”搬砖”跃迁至“砌墙”。

  • 三面

学而优则仕,即使修炼成了技术大神,但个人能量总归是有限的,管理岗是所有通道的终极进化方向,只有带领更多人,你才能做更大的事。在互联网行业,“科技是第一生产力”体现的最为淋漓尽致,不管往产品还是管理发展,拥有深厚技术背景都是优势。架构师,从某种角度看,就是全面了解各种技术或中间件的优劣,然后让它们在你所设计的方案中扬长避短、优势互补,发挥出最佳的合作效用。这跟产品维度的业务架构、管理维度的组织架构有异曲同工之妙,等你从技术架构中学习到知人善任、调兵遣将、排兵布阵等道理,那你就可以站上更高的平“面”了,从“砌墙”跃迁至建造宫殿。

25 岁入行搬砖,30 岁前担任技术经理、兼职架构,35 岁前转型应用架构专家,一路走来老兵哥我积累了大量转型、架构、培训和咨询等实战经验。近些年我将这些经验做了整理输出,曾面向初中级程序员开设过多门面授架构课程,累计参训学员超千人,颇受好评。接下来,老兵哥我准备在 csdn 这个分享平台,把大家关注度最高的这些架构问题梳理出来,希望你持续关注:

  • 架构到底是什么?它都有什么作用?
  • 架构的演进过程,不同架构的特点?
  • 架构风格、模式、框架的相互关系?
  • 架构设计的输入、输出和工作流程?
  • 不同岗位应该关注架构的哪些方面?
  • 是否有标准来评价架构设计的优劣?
  • 架构师核心职责和必备能力有哪些?
  • 哪些特质适合往架构专家方向发展?
  • 架构专家需要搭建怎样的知识体系?
  • 如何从资深开发成功转型架构专家?
  • 架构师之后有哪些可选的发展方向?

暂时先分享到这里,后续老兵哥会结合个人实践陆续分享相关经验,例如:如何通过三步走策略完成转型、如何借助段带式进阶构建新技能树等,期待小伙伴们订阅交流,谢谢!