极客视点
极客时间编辑部
极客时间编辑部
113245 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/05:14
登录|注册

成为架构师的难点及8大核心能力

讲述:初明明大小:4.79M时长:05:14
你好,欢迎收听极客视点。
业界对于架构师一直存在一些误解,在很多具体实践中,也存在这样的情况:一方面对架构设计工作不重视,拿到需求,几乎没有任何设计,一上来就写代码;另一方面随着需求不断迭代,项目逐渐失控陷入混乱,又开始埋怨当初没有好好做设计。
不过,也能理解为什么会存在这样的误解。毕竟,编程和架构几乎是完全不同的两项工作,并不是你有了多年编程经验就能自动获得架构设计的能力,就能成为架构师。
最近,同程艺龙交通首席架构师、极客时间《从 0 开始学大数据》专栏作者李智慧根据其 15 年架构设计经验,总结了做架构师的难点,以及架构师的 8 个核心能力,供你参考。
成长为一个架构师,主要的困难在于:
你是否在编程这件事上表现出足够的优秀,从而获得做架构的机会。
你是否掌握架构设计的一般方法,能够把握好做架构设计的机会。
你是否拥有足够的关于系统架构设计的知识储备,能够在软件架构的生命周期以及你自己的职业生涯中,不断迭代进步,使你负责的系统和你自己的职业前景都变得越来越好。
因为做架构师需要全局思考各种技术、业务、资源要求,根据要求,寻找最合适的架构方案,而不是只完成开发工作就行的。如果你没有从架构师的角度思考问题,带领团队,整体完成一个系统的架构设计与开发,那么你永远也不会了解如何做一个架构师。而你不去做一个架构师,又永远没有机会带领一个团队,完成一个系统的架构设计与开发。
那么,该如何成为一个优秀的架构师?优秀架构师应该拥有哪些能力呢?具体参考以下 8 大核心能力。

1. 优秀的编程能力

编程是架构师最基本的能力要求,你表现出优秀的编程能力,才能获得成为架构师的机会。架构不是画两张架构图就行的,要在编程开发中落地,开发过程中遇到的编程问题,需要架构师亲手去解决。系统维护过程中出现的问题,也需要架构师对代码非常熟悉才能解决。这都需要架构师有非常优秀的编程能力。

2. 设计文档的能力

架构师固然要自己写好的代码,但更重要的是要让整个开发团队都能写出逻辑清晰、易于维护的代码。实现这一点,就是要开发团队在架构约束下进行开发,每个人都知道自己的工作在整个系统架构中的位置和作用,和其他同事的关联依赖关系。这些信息需要架构设计文档来传递,设计文档是架构师最本质的工作。而要想做好架构设计,使团队每个人的开发工作高内聚、低耦合、依赖关系清晰,架构师必须具备良好的模块分解能力。

3. 模块分解的能力

架构师要让团队每个人都发挥出价值并持续进步,这样自己和团队才是可持续发展的,而不仅仅是完成工作而已。这就需要架构师有良好的模块拆解能力,将开发任务拆分成高内聚、低耦合的模块,分配给团队成员。如果说早期单体架构时代模块关系混乱的问题还没那么突出的话,微服务架构则让那些不关注模块依赖关系的架构师吃尽了苦头。

4. 大规模复杂系统架构的能力

绝大多数的架构师都没有设计一个淘宝或者 Facebook 的机会,但是每个合格的架构师都应该知道,如何设计淘宝这样一个大规模复杂系统的架构。一方面淘宝这样成功系统的架构模式是架构设计时重要的参考经验,另一方面也是检验架构师学习能力的试金石。

5. 掌握典型技术解决方案的能力

负载均衡、分布式缓存、消息队列、NoSQL 几乎是很多稍具规模系统的标配,那么作为一个架构师,除了会用这些技术,这些技术的内部原理、优缺点也都必须要掌握,这样才能在选择具体技术产品,解决使用中的问题时游刃有余。

6. 系统优化以及保障系统稳定的能力

架构师不是在开发初期丢出一张架构图就完事了,而是要在系统的整个生命周期内对系统负责,需要持续不断对系统性能进行优化,保证系统稳定高可用的使用体验。

7. 数据处理与应用的能力

早期,系统架构设计主要围绕业务需求展开,但是,随着大数据时代到来,越来越多的系统架构开始围绕数据展开,构建所谓的人工智能系统。因此架构师必须要掌握处理与应用数据的能力。

8. 领导与管理能力

架构师要想让自己的架构设计落地,变成真正运行的系统的架构,需要处理各种内外部关系,需要领导开发团队按照自己的架构设计进行开发。架构师也许不是严格意义上的管理者,但是他必须要有一定的领导和管理能力才行。
以上就是今天的内容,希望对你有所帮助。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
大纲
固定大纲
1. 优秀的编程能力
2. 设计文档的能力
3. 模块分解的能力
4. 大规模复杂系统架构的能力
5. 掌握典型技术解决方案的能力
6. 系统优化以及保障系统稳定的能力
7. 数据处理与应用的能力
8. 领导与管理能力
显示
设置
留言
收藏
83
沉浸
阅读
分享
手机端
快捷键
回顶部