首页 > 其他分享 >架构师该不该写代码?

架构师该不该写代码?

时间:2022-12-21 12:07:02浏览次数:37  
标签:该不该 架构 代码 技术 误区 软件 架构师


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

一、架构师的定义

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

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

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

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

二、架构师的误区

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

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

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

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

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

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

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





设计

验证

反馈


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

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

  1. 架构师不用写代码

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

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

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

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

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

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

沟通能力

往往一个项目甚至一个产品的上线,需要多个团队共同协作,产品、业务、软件研发、硬件研发等等。

架构师该不该写代码?_框架搭建


在三国中有一个非常著名的典故,叫做七擒孟获,为何诸葛亮要如此大动干戈呢,因为

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

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

领导力

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

技术判断力

架构师每周都可以

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

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

五、小结

本篇文章主通过

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

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


标签:该不该,架构,代码,技术,误区,软件,架构师
From: https://blog.51cto.com/u_11970680/5959686

相关文章

  • Visual Studio 2015从Gitee同步代码
    ​ 1.文件>打开> 在源代码管理中打开: 2.克隆>URL处填入Gitee项目的HTTPS的URL链接地址,以及本地库的路径:3.双击Git库: 4.在资源管理界面上进行想弄的......
  • 数智赋能:透过低代码看企业如何实现数智转型
    数智化的核心价值之一在于对企业创智型活动的赋能,从用户需求趋势预测到创意快速验证,数智化应用具有巨大的价值前景。因此,尽管目前数智化研发还存在着一定程度的复杂性高、......
  • EBS: JAVA SOURCE创建后再查看源代码
     EBS:JAVASOURCE创建后再查看源代码DECLARECURSORC1ISSELECTUS.NAME,TYPE,LINE,TEXTFROMUSER_SOURCEUSWHERE1=1ANDNAMELIKE'HELLO'--......
  • Recyclerview 实现listView的代码
    FruitClasspublicclassFruit{privateintfruitImageId;//图片的IDprivateStringfruitName;//水果名字publicFruit(StringfruitName,intfruitImageI......
  • ExtJS 初始化组件后执行代码
    将组件初始化完成后执行的代码可以放置在initComponent模板方法中,代码如下:Ext.define('PandaTestComponent',{extend:'Ext.panel.Panel',//初始化组件后执行......
  • 使用git提交代码
    提交代码将目录下的所有文件(包括子目录)添加到暂存区gitadd.提交代码到本地仓库gitcommit-m"commitdescription"将本地仓库master主分支代码推送到远程仓库git......
  • 开源低代码开发平台
    开源低代码开发平台 低代码/无代码的主要概念并不新鲜,它可以追溯到十多年前的无代码编程(PWCT)和类似系统。Appsmith构建和自托管内部应用程序......
  • [翻译]写给初学者的源代码安装指南Beginner's Guide to Installing from Source
    写给初学者的源代码安装指南引入本文档面向希望直接从原始作者处安装软件的开源操作系统用户,而不是仅依赖其操作系统提供的软件(和版本)。它是为那些不熟悉以源代码形式下......
  • 圣诞水晶球代码
    -写在前面因为本人平时习惯了使用谷歌浏览器,所以对于其他的浏览器没测试,如果大家在按照设置没运行的话,请更换谷歌浏览器再试一下提供付费的部署或定制服务(一杯奶茶钱)......
  • iNeuOS工业互联网操作系统,设备运维业务和“低代码”表单开发工具
    iNeuOS工业互联网操作系统增加了设备运维业务大屏统计功能和所谓的“低代码”表单开发工具。1.     概述...22.     设备运维业务.........