文章插图
架构师是一个充满挑战的职业,需要关注很多维度和技术 。只专注于单一领域的架构师并不是优秀的架构师 。那么如何成为一个技术全面的架构师呢?
一、作为技术领导者
一名好的软件架构师需要明白 , 作为领导者并不一定要告诉开发人员做什么 。相反,好的架构师就像一个导师,带领开发团队向同一个技术愿景前进 。好的架构师会借助于讲故事、影响力、引导冲突、构建信任等领导技能 , 将他们的架构愿景变成现实 。一个好的领导者 , 同时也是一个好的架构师 。他/她会仔细听取每个参与者的意见,通过与团队的反馈互动调整他们的愿景 。
二、作为开发人员
一个架构师同时又是一个好的开发人员 。通常,做出一个良好的架构选择需要权衡理想的架构状态与软件系统的当前状态 。例如,如果一个问题更适合采用关系型数据库来解决,那么将文档数据库引入到系统中的做法是毫无道理的 。一个架构师如果不考虑技术选型与问题域之间的匹配度,那么会很容易受到各种技术的诱惑――这也就是常见的“象牙塔式架构师”行为模式 。
缓解这种情况的最佳方式是架构师多与开发人员待在一起,花一些时间在代码上 。了解系统的构建方式及系统的约束将帮助架构师在当下环境做出正确的选择 。
三、聚焦系统
【如何成为架构师 如何成为架构师兼职】
经验丰富的开发人员明白代码只是软件的一个方面 。为了让代码可运行,他们还需要了解代码在生产环境中运行良好所需的其他重要质量属性 。他们需要考虑部署过程、自动化测试、性能、安全和可支持性等方面 。开发人员可能以临时的方式来实现这些质量属性,而架构师不仅需要专注于了解代码,还要了解并满足不同利益相关者(如支持、安全和运营人员)的需求 。一个好的架构师需要专注于寻找那些能够满足不同利益相关者需求的解决方案,而不是选择针对某一个参与者的偏好或风格进行优化的工具或方法 。
四、企业家思维
所有的技术选型都有相关的成本和收益 , 一个好的架构师需要从这两个角度考虑新的技术选型 。成功的企业家愿意承担风险,不过也会寻求快速学习和快速失败的方法 。架构师也可以用类似的方式做出技术选型,收集真实世界中有关短期和长期成本的信息 , 以及他们可能意识到的好处 。
这方面一个很好的例子是 , 架构师避免承诺立即使用一个在阅读新文章时看到的工具或某一会议上听过的工具 。相反,他们试图通过架构调研来了解工具在其环境中的相关性 , 以收集更多信息 。他们对于工具的选择不是基于销售量,而是考虑他们需要什么以及这个工具所提供的价值 。他们还会寻找这些工具背后的隐性成本,例如工具的支持情况(如文档化程度、社区使用情况),工具可能带来的约束或长期来看可能引入的额外风险 。
五、权衡策略思维与战术思维
许多团队由一些独立的开发人员一起构建软件 , 而每个人都倾向于选择自己最舒适或最有经验的工具和技术 。好的架构师持续关注可能有用的新技术、工具或方法,但不一定立即采用它们 。技术采用往往需要长期的考量 。架构师将在团队和组织层面寻求敏捷度(允许团队快速采取行动)和对齐(保持足够的一致性)之间的良好平衡 。建立自己的技术雷达这样的练习是用战略思维探索技术的一个有用工具 。
- 如何让抖音自己往下刷 如何让抖音自己往下刷苹果
- 微信里过期的文件如何找回来 微信过期文件怎样找回来
- iphone如何设置来电铃声 怎么设置iPhone来电铃声
- 如何把下载的视频存到相册 怎样把下载的视频保存到相册
- p30相机如何添加时间水印 华为p30相机如何添加时间水印
- 如何申请腾讯大王卡 如何申请腾讯大王卡亲情卡
- 如何拉黑短信 如何拉黑短信骚扰苹果
- 如何撤销退款 如何撤销退款申请游戏
- 南京经营所得如何计算个人所得税 南京所得税计算公式
- p30返回键设置 p30如何调整返回键