文档章节

如何做一个技术全面的架构师

飓风2000
 飓风2000
发布于 2018/12/26 17:13
字数 1536
阅读 12
收藏 0

 

本文从六个方面讨论一个良好架构师所必须具备的专业水准。

 

作为领导

 

好的软件架构师必须知道,他们作为领导者的作用不一定是告诉开发人员做什么。 相反,好的架构师的行为本身就像一个指导,管理一个开发团队向同一个技术愿景前进,利用领导技能,如讲故事,影响,导引冲突和建立个人的信任等方式,把他们的架构愿景变成现实。

 

一个好的领导者,同时也是一个好的架构师,将仔细听取每个参与者的意见,通过与团队反馈互动微调他们的愿景。 很好地引导到下一个点。

 

作为开发人员

 

在理想的目标架构与软件系统的当前状态之间平衡才能做出良好架构选择。比如,如果关系数据库更适合问题域,即使很无聊,如果再将文档数据库添加到系统中也没有意义。架构师如果不首先考虑是否适合业务问题领域,会被各种技术诱惑而进行架构选择。

 

架构师减轻这一点的最好方法是花费时间与开发人员泡在代码中。了解系统如何建立,以及系统的约束,这些将为架构师提供关于当今环境的正确选择的更多信息。

 

具有系统焦点

 

经验丰富的开发人员知道,代码只是工作软件的一个方面。为了使代码运行,经验丰富的开发人员需要理解其他重要的质量属性,代码才能在其生产环境中运行良好。他们需要考虑部署过程,自动测试,性能,安全性和可支持性等方面质量属性。 开发人员才能可以根据这些质量属性进行编码实施,架构师不仅专注于理解代码,而且需要了解并满足不同利益相关者(如支持,安全和操作人员)的需求。

 

好的架构师需要专注于寻找能够满足这些不同利益相关者需求的解决方案,而不是根据某一个参与者的偏好或风格选择进行优化的工具或方法。

 

像一个企业家思考

 

所有的技术选择都有成本和效益,一个好的架构师将从两个角度考虑新的技术选择。成功的企业家会愿意承担风险,但是会寻求快速学习和快速失败的方法。 架构师可以以类似的方式处理技术选择,寻求现实世界中有关短期和长期成本的信息,意识到他们的可能好处。

 

一个很好的例子是,当架构师避免承诺立即使用从新文章读过的或在会议上听说过的新工具。相反,他们应当设法了解该工具的相关性,并在他们的环境中运行的架构样本以收集更多的信息。他们不会基于多好的销售额而选择一个工具,,而是依据它提供了什么价值,是否提供给他们的系统所需要的。 他们还会寻找工具的隐性成本,例如支持的工具是否足够好(例如文档级别,社区采用情况),工具带来多少锁定或长期引入的额外风险。

 

用战术思维平衡策略

 

许多团队与各个开发人员都是倾向于选择他们最舒适或最有经验的工具和技术构建他们的系统。

 

好的架构师需要注意什么是更新的技术,哪些工具或方法可能是有用的,但不一定立即采用他们。技术采用需要一个考虑长期前景的方法。 架构师将在团队和组织层面寻求敏捷性(允许团队快速移动)和调整(保持足够的一致性)之间的良好平衡。

 

建立自己的技术雷达是在探索有用的工具。

 

良好沟通

 

架构师需要知道有效的沟通是建立在信任基础上,需要在团队外影响队员,这些都是架构师的关键技能。 他们知道不同群体的人使用不同的词汇,使用技术术语与生意或管理人士交流会变得困难。架构师不会使用模式、工具和编程概念与他们交流,而是使用受众熟悉的词语与之交流。 使用诸如风险回报,成本和收益等词汇向商业人士传达技术选择,将比与开发团队一起使用的技术词汇更适合。

 

架构师也意识到团队内部沟通和外部沟通一样重要,可以利用图表和小组讨论,建立和完善技术愿景,并使用编写写日志的方式,如维基,能够为将来提供为历史发展轨迹。

 

结论

 

做一个全面的架构师不容易。有这么多的元素需要我们关注,每个都利用许多开发人员往往不具备的技能。 最重要的不一定是架构师具有什么能力,而是他们在这些不同领域有足够的专业知识才能有效。只有熟练掌握上述六个领域之一的架构师,才会成为具有良好专业知识水平的架构师。

本文转载自:https://www.jdon.com/48562

共有 人打赏支持
飓风2000
粉丝 38
博文 337
码字总数 138380
作品 0
浦东
高级程序员
私信 提问
一个程序员的技术进阶之路

进阶之路 刚刚入职一家IT公司成为一名初级开发工程师,我们如何在技术这条路线上野蛮生长呢。 这条技术进阶之路就是一个金字塔形,越往上人越少。 奶爸在IT职场很多年接触了很多技术大咖,他...

奋斗De奶爸
2017/12/14
0
0
架构师杂谈

架构师,这个title就和总监之类的title一样,已经彻底被用烂了,但在一个软件产品的生命周期中,架构师是实实在在的一个极度重要的角色,这篇文章就来讲讲我觉得的架构师的画像,到底具备什么...

fastjrun
2016/09/21
54
0
如何成为一个Java高薪架构师?

点击上方“程序员大咖”,选择“置顶公众号” 关键时刻,第一时间送达! 高薪架构师 什么是架构?什么是架构师?这似乎是聊架构话题时永恒的问题。 从内心讲我真的不想回答架构具体需要做什么...

px01ih8
2017/12/11
0
0
如何成为顶尖的架构师?

在技术圈,架构师一方面是已经被说烂的职务,另一方面也是让人困扰的职位,行业发展到现在似乎人人都是架构师,各种架构图绚丽多彩漫天飞舞,同时永远有人在抱怨架构太烂、坑太多。 那么到底...

禁区铁铍人
2017/12/02
0
0
iOS高级架构师是如何养成?我来教你方法!

最近好多人私信问我,该怎样才能成为架构师,还有一个就对当前的状态感到迷茫。我在此做一个简单的说明,或者对迷茫中的你来说有些许帮助。 如果你是想成为iOS架构师,那么你首先要是一个iOS...

原来是泽镜啊
2018/05/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rabbitmq安装教程

RabbitMQ有Windows与Linux版本的,这里先写Windows版本的安装。 以前安装软件总是在百度上找某某安装教程,结果能按照教程安装好的软件真的不多。想起先前以为大牛说的一句话,去官网按照官网...

em_aaron
10分钟前
1
0
Android 贝塞尔曲线实践——波浪式运动

一、波浪效果如下 贝塞尔曲线自定义波浪效果的案例很多,同样方法也很简单,大多数和本案例一样使用二次贝塞尔曲线实现,同样还有一种是PathMeasure的方式,这里我们后续补充,先来看贝塞尔曲...

IamOkay
14分钟前
0
0
Nmap之防火墙/IDS逃逸

选项 解释 -f 报文分段 --mtu 指定偏移大小 -D IP欺骗 -sI 原地址欺骗 --source-port 源端口欺骗 --data-length 指定发包长度 --randomize-hosts 目标主机随机排序 --spoof-mac Mac地址欺骗 ...

Frost729
22分钟前
0
0
带你搭一个SpringBoot+SpringData JPA的环境

不知道大家对SpringBoot和Spring Data JPA了解多少,如果你已经学过Spring和Hibernate的话,那么SpringBoot和SpringData JPA可以分分钟上手的。 其实我在学完SpringBoot和SpringData JPA了之...

java菜分享
27分钟前
2
0
Chocolatey 在Window搭建一个开发环境

在看了(利用 Chocolatey 快速在 Windows 下搭建一个开发环境)后,准备从零开始 一、准备工作 1、用管理员权限启动:powershell,执行错误请参考(PowerShell因为在此系统中禁止执行脚本的解...

近在咫尺远在天涯
40分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部