资深架构师十年总结:成为架构师,你必须具备这五点能力( 二 )
文章图片
通用软件架构质量属性
软件架构不仅仅是图、框和线 。 让我们以其中一项质量属性安全性为例 。 只看高层次的设计图 , 只看一些线线连着框框 , 可能无法看到任何安全问题 。 我甚至不知道这个设计是否真的能行 。 保护系统安全的是代码 。 因此 , 架构师编写代码并与开发团队密切合作是很重要的 。 另外 , 架构师要能够阅读代码并经常与开发团队交流 。 这就是当软件架构师放大或缩小设计时所发生的事情 , 就像我在城市设计类比中所提到的 。 如果架构师不与开发团队沟通 , 也不编码 , 他们就会脱离现实 , 所设计的架构就不实用 。
2
什么是软件架构师?
过去 , 软件架构师是在纸上勾画逻辑流程规范 , 然后交给另一个团队(称为打孔者)来生产穿孔卡片并使软件工作的团队 。
文章图片
图片来源:WikimediaCommons
随着技术的进步 , 我们不再需要这样的过程 , 软件架构师的定义也变得不那么明确了 。 在现代IT中 , 软件架构师不是一个头衔或级别 , 因为他们不会在一夜之间给你最高的软件开发权 。 在Scrum团队中 , 这个角色和其他任何角色一样 。 我认为软件架构师是最有趣的角色 , 与医生、土木工程师、心理学家、社会工作者或会计师不同 , 您不能通过单一的培训课程获得软件架构师资格 。 事实上 , 世界上几乎没有一所大学提供软件架构学位 。 软件架构师对几乎所有事情都需要广泛且深入的了解 , 以便完成前一节中提到的目标 。 那么软件架构师使用这些技能和知识做什么呢?
图片来源:https://dilbert.com/strip/2008-03-04
软件架构师做什么 , 和谁一起工作?
正如我前面所说的 , 软件架构位于业务目标和满足它们的软件系统之间 。 软件架构师将业务与使用不同语言、以不同方式思考并具有不同关注点的开发团队联系起来 。 具有多层管理和开发团队的竖井只会使交流变得更糟 。 拥有专业知识并掌握相关信息的软件工程师并不是决策者 , 而管理团队中的那些人则是不掌握相关信息的决策者 , 这种情况并不少见 。 为了解决相互冲突的权衡并推动组织前进 , 软件架构师在公司的阶梯上爬上爬下 , 在技术细节上扮演着至关重要的角色 。
文章图片
一名宇航员——由NASA拍摄
相比之下 , 如果大家在一些组织中冠有软件架构师的头衔 , 但他们只停留在企业阶梯的顶端 , 或者他们只关注图片时 , 他们就与现实脱钩了 。 正如JoelSpolsky所说 , 这些人被称为架构宇航员 , 他们没有贡献 , 也没有生产力 。 许多大的组织似乎都能负担得起很多这种人!
3
软件架构师的技能和获得多样化经验的方法
对于软件架构师这个角色来说 , 对每一件事情都有经验至关重要 。 它让你知道什么时候该充当公司的桥梁 , 当放大或缩小架构图时该关注什么 。 当在不同的上下文中应用特定的架构设计时 , 您还将观察模式 。 在十多家公司工作过之后 , 我最终进入了Zuhlke咨询公司 , 在那里我不再需要换工作来获得不同的经验了 。 我的项目几乎涵盖了无数种行业 , 包括金融科技、保险科技、物流、制造业、奢侈品时尚、初创企业 , 这份列表还在不断增长 。
领域知识
对某些业务领域的深入了解对于软件架构师的成功是至关重要的 , 因为您不仅要知道它是什么 , 还要知道它将是什么 , 或者可能是什么 , 以及为什么 。 客户经常找到软件架构师 , 要求向他们展示行业领导者正在做什么以及如何做 。 领域知识还可以帮助软件架构师说一种商业通用的语言 , 这反过来帮助他们成为连接管理和开发团队桥梁 。
- 唯品会|阿里、华为做得很对,外媒:芯片架构的“垄断”正在结束!
- 苹果曝出严重安全漏洞;海底捞回应外卖炸伤顾客眼睛;新东方向所有离开老师发出职位邀请;趣店回应网店预制菜全部售罄丨邦早报
- 小王子|2022年最没存在感的芯片,制程架构都先进为何遇冷?
- 美术|美术老师花5天用8万颗钉子拼出歼20上热搜 网友拜服:太优秀了
- 华为|小道消息:华为二把手,找了前凸后翘的理发师……
- 老师|新东方向所有离开老师发出职位邀请:欢迎回家
- 新东方向所有离开老师发出职位邀请:甚是想念,欢迎回家
- arm架构|强行使用ARM架构不行吗,为什么非得授权?
- 百度网盘再发声明否认人工审核用户照片,并贴出受案回执和律师函
- 芯片|华为mate50国产化较高?分析师:关键芯片还是美国的!