俗话说:“不想成为架构师的程序员,只配叫码农。” 架构师不止是一个技术岗位,也是程序员职业修炼路程中需要达到一种“武功境界”。
为什么说研发团队中的每个人都应该了解一些架构知识,甚至亲自参与架构的相关工作?
首先,我们先从宏观上说一说架构师的职责:
1. 需求分析,规划全局。 作为一名架构师需要了解市场、了解产品,有全局意识。可以确立关键需求、为团队指明方向。
2. 架构设计,提供配套方法论。 指明方向后,需要确保团队在一套标准方法下执行任务,并且每个人都有清晰的任务指导。
3. 功能设计,将计划落地,真正实现技术驱动业务。
从这些职责我们可以看出,成为一个优秀的架构师,需要具备很多能力,在学习架构知识的过程中,研发人员也可以提高以下几方面的能力:
1. 思维能力: 良好的抽象思维、分治思维、复用思维和迭代思维。这些能力直接决定了你能解决问题域的复杂性和规模大小。
2. 业务需求理解力: 能很好地理解业务需求,能针对业务特点设计好的架构。无论是架构师还是其他职位的研发人员,善于理解业务需求,可以帮助你从技术领域走出来,站在更高的角度去找到技术和业务之间的平衡关系。
3. 丰富的编码经验: 像抽象、分治、复用这些能力,都需要大量的编码练习才能掌握;另外保持一定量的编码经验也有助于验证架构设计。
4. 良好的沟通能力: 架构师需要沟通确认需求,需要让团队理解架构设计。其实在团队中无论哪个职位都需要和他人沟通,掌握了沟通能力,也有利于团队协作。
想学习架构知识、成为好的架构师,没有什么捷径,你需要比普通程序员付出更多的努力,积累经验、拓展视野、深度思考。 有意识地 培养自己的架构师思维,心有大局观,从而能理解架构设计,能写出好的程序。
正确的努力方式有助于我们更快、更好地学习架构知识、实现成长进阶。
在思想上, 首先需要跳出当前的小模块,站在系统整体的角度来考虑问题。 其次,不仅要从技术的角度思考问题,也要从业务的角度思考问题。最后,要平衡现有资源,寻求最优解。
在行动上,最好的方法是从实战中学习。 可能大部分技术人平时工作对架构设计的要求不高,没有特别好的实践机会。这就很难把了解到的一些架构原则变成自己真正的能力。所以,这就要求我们找到系统性学习架构的方法。而不是随便找本书,上网搜搜网站就可以,这样学习到的知识比较碎片化,没有系统性,很难循序渐进地学习架构。
在这里, 推荐一个福利 : 极客时间「架构师系列课程」面向企业免费开放 啦,你可以召唤自己研发团队的小伙伴一起来学习,每人都可以领3门课。架构师系列包含18门体系化的课程,超过29万用户已加入学习。导师们精心规划了学习成长路径,由浅入深,层层递进,高效进阶。从初级架构师到高级架构师,都能找到适合自己学习的课程。扫码了解活动详情:point_down:
初级架构师成长指南
对于初级架构师来说 , 需要学会独立完成一个系统的架构设计 ,可以是从0到1设计一个新系统,也可以是将架构从1.0重构到2.0。
初级架构师最主要的是形成自己的“架构设计方法论” ,方法有很多,比如订阅专栏,阅读系统知识书籍。也可以研究比较成熟的系统架构设计,学习架构设计原理和思想。在此基础上,要根据所学知识,分析自己团队的架构设计优缺点,尝试重新设计、重构方案。
中级架构师成长指南
对于中级架构师来说,需要学会完成复杂系统的架构设计 ,包含高性能、高可用、可扩展、海量存储等复杂系统,例如设计一个和Kafka性能匹敌的消息队列系统、将业务改造为异地多活、设计一个总共100人参与开发的业务系统等。
中级架构师开始接触系统复杂度高的架构设计,最关键的是“技术深度和技术理论的积累”,例如:
技术理论:CAP、BASE 是异地多活的设计理论基础、Paxos 是分布式一致性的基础算法等。
技术深度:Kafka 用磁盘存储还能做到高效是因为磁盘顺序写;Disruptor 高性能是结合 CPU 预读取机制、缓存行、无锁设计等基础技术等。
也许有一些技术理论是不容易理解的,也很少有机会应用。但在这个阶段学习这些,可以为未来打下良好的基础,在面对更复杂的系统时,可以加深理解,很多时候就是几个关键技术细节决定整个架构设计的成败。
高级架构师成长指南
成长为高级架构师需要 10 年以上时间,其典型特征是“创造新的架构模式”, 高级架构师与中级架构师相比,典型区别在于“创造性”,高级架构师能够创造新的架构模式,开创新的技术潮流。
列举几个可能诞生创造性架构的背景:
复杂的业务场景:像阿里双十一、谷歌大数据、Facebook 的海量用户等,业务场景越复杂,给技术带来的挑战更大,更有可能产生创造性的技术突破。
强大的技术团队:技术实力的支撑是很重要的,想突破首先要有强大的技术实力和团队配合。
创新精神:创造性的东西往往需要投入大量的人力、物力、时间,所以要投入足够的资源、有创新精神。
企业学习福利
时间进入 2020 年以后,就成了所有人的 Hard 模式,世界艰难前行,极客时间也是一样。和我们一起往前走的还有我们的企业用户,我们希望自己的产品能为研发型团队的企业伙伴重新赋能。除了架构领域课程免费开放外, 极客时间全部976门课程目前已全部向企业免费开放,企业可为员工领取双重福利。
活动说明
1.符合活动条件的企业可为每位员工双重福利:
极客时间 「3 门课程可选包」,可在专栏、视频课、微课中任选3门课学习30天。
极客时间「每日一课」30天会员,畅学该模块下的850+个视频。
2. 企业需注册「极客时间企业版」并绑定10名及以上员工,即符合活动条件。
3.本次活动有效期截至 2020年5 月 29 日。
:point_down: 获取链接后,在PC端打开领取课程