架构师该不该写代码?

在不同的公司,由于组织架构不同,每个公司的技术团队都有不一样的特点,但是不管什么公司,你一定都听说过架构师这样一个职位,那么架构师这个职位是做什么的呢?

一、架构师的定义

以下是维基百科对系统架构师的定义:

系统架构师(System Architect,簡稱SA或SAr),是在信息系统研发中,负责依据需求来确定主要的技术选择、设计系统的主体框架结构,并负责搭建实施的人。他们(与系统分析师共同)确立系统的主体架构和实现方向,并负责指导软件工程师等开发人员的编码开发工作。

通过定义,我们得知,架构师有如下几个职责:

  • 技术选型
  • 主体框架搭建并实施
  • 确定系统的实现方向
  • 负责指导软件工程师

二、架构师的误区

因为以上架构师的职责,许多人对架构师的工作有了误区,主要有以下几个误区:

  1. 架构师负责把控项目进度

在专业的公司中,有专门把控进度的职位,我们称之为项目经理

项目经理侧重于预算控制、时间进度控制、人员管理、与外部联系和协调等等工作,具备管理职能

对架构师产生此误区的原因为,在有些公司,架构师是带领团队完成整体设计到产品上线的,所以容易让人对架构师产生此误解。

  1. 按照架构师的框架开发就行,无需怀疑

在架构师搭建出来框架后,因为有些情况是臆想出来的,与实际开发过程不符也是正常现象,一个好的框架搭建出来,少不了的是这样一个正向过程:

设计
验证
反馈

其次,架构就算在稳定之后,也不是一直一成不变的,也会随着业务的变化而演变

使用一个技术就好比是搭积木,只要问题明确 ,寻找技术并组合来实现架构 的拆分并不是难事 。如果架构师能够深人理解技术背后的驱动力 ,了解技 术是如何实现的 ,则能够做出更合适的判断和选择, 这就是所谓的 “接地气”。 所以架构 师在做好架构拆分后, 会形成不同的生命周期 。针对不同的生命周期 ,要选择不同的技术来进行支撑, 再把不同 的生 命周 期分工交 给不同类型的软件工程师去实现。 这就是架构师和技术人员的分工配合 架构师拆分生命周期 ,技术人员实现生命周期。

  1. 架构师不用写代码

我也见过一些架构师,就写写ppt,说一下思想,就把活丢出去的人,这个是对架构师最大的误解,也是我本篇最想说的内容。

一个只做高层设计,不低下头去写代码的架构师,那就相当于纸上谈兵
这样的架构师会造成一系列的问题。

想做好技术的使用者并不容易。架构师必须深入地了解不同的技术, 知道这些技术的强项和弱点, 懂得合适的取舍。 比如作为一个 建筑架构师, 建造砖瓦结构的房屋 ,如果不了解 砖、 瓦是怎么制作出来的, 就无法理 解砖 、瓦的特性、 弱点以及寿命, 也就使用不好砖、 瓦。 如果没见过砖瓦匠如何使用砖瓦 砌墙的, 就不知道有些砌法是中空的, 有些是实的。 不同 的砌墙技术, 其承重能力如何保温性 能如何, 等等 ,都无从得知。这样是无法使用好技术的 。同样, 无论是采用钢结构, 或是采用木结构, 都要对这些材料, 以及现存 的技术有一个比较通透的 解 ,才能够做出靠谱的判断, 但并不是说架构师必须是所有技术的 专家 。比如木结构里面的 “榫 卯” 1 结构 ,架 构师可以 很了解并使用 。但让架构师自己来做 一个 “ 榫 卯 ” 结 构 , 则并不容 易 , 木工活要非常精细才行 。当架构师需要 一 个 “ 榫 卯”的时候,还是要找木工来解决问题,而不是花时间去学习木工,自己来做。

三、架构师不写代码会怎样

  1. 不能准确感知自己设计的架构是否有问题:如果仅依赖于“验证->反馈”,这样一个过程,会出现
    • 反馈的结果可能是错误的
    • 在出现问题的时候可能没人反馈
  2. 长期的疏离代码,会让架构师的技术判断力下降,感知力的缺乏,会让架构师的架构能力越来越弱
  3. 只写代码的架构师更加不合格
    作为架构师,如果把大部分心思花在写代码上,代码感知力是很强了,可是更上一层的高屋建瓴的能力,也即是架构师的核心竞争力,就会下降了,所以一个架构师花费少量的时间去写代码就行了

四、架构师需要具备的能力

沟通能力

往往一个项目甚至一个产品的上线,需要多个团队共同协作,产品、业务、软件研发、硬件研发等等。
七擒孟获
在三国中有一个非常著名的典故,叫做七擒孟获,为何诸葛亮要如此大动干戈呢,因为

一个人只有口服心服,才能好好地为你做事,才能让你无后顾之忧

而沟通能力就是具有,在跨部门的过程中,让其他部门的人心甘情愿帮助你的能力,并且在这种情况下,他们针对出现的情况还会给出合理化的建议,让你的工作做的更好。

领导力

架构师需要安排软件工程师做很多工作,具有影响力,能获得软件工程师的信任,能协助你把工作做的更好。

技术判断力

架构师每周都可以

  • 花两个小时,去写写代码,写写需求
  • 与其他部门和团队多沟通

以此在高屋建瓴实际落地,两个层面把架构做好。

五、小结

本篇文章主通过

  • 架构师的定义
  • 架构师的误区
  • 架构师不写代码会怎样
  • 架构师需要具备的能力

介绍了架构师并讨论了架构师该不该写代码,并得出结论:架构师每周最好可以花费2个小时左右的时间写代码

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一个Java架构师文档是非常重要的一项工作。下面我将介绍一下Java架构师如何文档。 首先,一个好的文档应该有清晰的结构。在开始文档之前,架构师需要先确定文档的结构和要涵盖的内容。然后,使用合适的标题和小节将文档划分为不同的部分,以便读者能够更好地理解和查找信息。 其次,文档应该有清晰明了的描述。架构师需要使用简洁但准确的语言来描述技术细节和使用方法。避免使用复杂的术语或过于晦涩的语言,以确保读者能够轻松理解文档内容。 同时,文档应该包含必要的示例和代码片段。架构师可以通过编示例代码来演示如何使用特定的功能或解决某个问题。这些示例应该简洁明了,同时也要注释清晰,方便读者理解。 另外,架构师还应该考虑文档的易读性和可维护性。文档应该使用清晰的字体和格式,并遵循一致的风格。可以使用列表、图表或图形来更好地展示信息。此外,文档应该及时更新,以反映任何功能或技术的变更。 最后,架构师还可以考虑在文档中添加一些额外的资源或参考链接,如相关文档、代码库或论坛等。这些资源可以帮助读者进一步扩展他们的知识和解决问题。 总而言之,Java架构师文档需要清晰的结构,明了的描述,必要的示例和代码,以及易读性和可维护性的考虑。通过良好的文档,开发者可以更轻松地理解和使用特定的技术或功能,提高开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值