极客视点
极客时间编辑部
极客时间编辑部
113240 人已学习
免费领取
课程目录
已完结/共 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/04:16
登录|注册

七牛云许式伟:软件架构师的能力要求

讲述:杜力大小:1.96M时长:04:16
日前,七牛云 CEO、极客时间专栏作者许式伟在GTLC 全球技术领导力峰会上发表演讲,他认为目前在国内很少有人能真正符合 “架构师” 的定位,接着他也谈到了软件架构师需要具备的能力,以下为重点内容。
从做事的角度来讲,程序员有三个级别,即软件搬砖师、软件工程师和软件架构师。
软件搬砖师的数量目前其实还不算太多,而产生软件搬砖师也并不难。许式伟曾做了一个长达四年的实践,教小学二年级的学生学习编程,等到学生六年级的时候,就可以达到软件搬砖师的水准。所以,编程并不是非常复杂的学问,只要具备基本的逻辑能力,把常规的业务代码按部就班地垒出来就可以了。
软件工程师就相对难一些,要求代码必须有可读性、可维护性。另外因为软件工程是群体协作,所以在协作方面也要求软件工程师有自己的方法论和思想。
而软件架构师需要具备综合能力。第一,在用户需求方面,要有判断能力和预见能力,此处的判断可以理解为对需求的鉴别,虽然这可能与产品经理最为相关,但架构师也需要有自己的判断力,以及对未来需求的预见能力。
第二,在产品迭代方面,软件架构师要有规划能力,规划需求被满足的优先级。架构师应该源于程序员,但不应该局限于程序员视角。
除此以外,在系统设计方面,软件架构师还要有分解和组合能力;在技术选型方面,要有决策能力。在人力资源方面,要有统筹能力。
综上不难看出,架构师对综合能力的要求比较高。许式伟认为,这是因为架构师需要对软件工程的结果负责。
如上所言,软件架构师需要具备产品经理的部分能力,因为需要对用户需求进行分析,并进行判断和预测,以及对产品迭代优先级进行把控。所以,软件架构师和产品经理之间的关系可以看作是技术和用户需求的关系,在这当中,产品是连接二者的“一座桥”。
用户需求的变化非常缓慢,那么为什么产品会产生迭代?这是因为技术在迭代,产品迭代是技术迭代导致的需求满足方式的变化,也就是说产品是需求满足的一种方式。
从这个意义上讲,架构师更多的是从技术角度看产品,而产品经理是从用户需求出发,二者的能力达到一定程度时,能力会有相同点,虽然产品经理在做产品架构,架构师在做技术架构,但二者的最终目的是一样的。
1. 从产品和需求视角看架构师
如果展开讲解产品定义过程,首先需要进行需求梳理,关心用户反馈。找到用户的根源需求。其次,有些用户需求是稳定的,有些是变化的。所以架构师需要预见需求的变化点并做对应的开放式设计。最后,理清产品边界。此外,在梳理需求时,架构师需要考虑现有的市场策略,哪些是主流方案等等,考虑为某些关心既有市场的玩家做桥梁,这些桥梁也是产品的功能点。
2. 从技术视角看架构师
从技术视角看,架构师需要的关键能力是技术的全局视角,所谓的技术全貌是指从底到上的核心骨架。为什么真正意义上的架构师比较难找?这是因为需要构建两个层次的能力:
懂用户、懂市场,有一定市场洞察能力。
建立技术上的全局视角。
这两点也是软件架构师所需具备的最核心的能力。一方面,作为技术人员,可能不愿意和用户打交道,但是作为架构师,和用户打交道会帮助自己成长。因此,架构师要尊重用户反馈,并学会思考需求分析和推演,这比技术能力更重要。另一方面,架构师必须拥有技术全局视角,只有掌握每一层的核心思想,才能在架构设计中没有技术盲点。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(2)

  • 最新
  • 精选
  • 爱学习的大叔
    开放式设计确实很重要,理清哪些是伪需求
    2
  • 加菲猫
    要达到软件架构师也需要时间的积累和经验的积累,也需要一定的刻意练习,比如综合能力、迭代能力、产品能力,懂用户,懂市场
    2
收起评论
显示
设置
留言
2
收藏
89
沉浸
阅读
分享
手机端
快捷键
回顶部