架构师该不该写代码?
在不同的公司,由于组织架构不同,每个公司的技术团队都有不一样的特点,但是不管什么公司,你一定都听说过架构师这样一个职位,那么架构师这个职位是做什么的呢?
一、架构师的定义
以下是维基百科对系统架构师的定义:
系统架构师(System Architect,簡稱SA或SAr),是在信息系统研发中,负责依据需求来确定主要的技术选择、设计系统的主体框架结构,并负责搭建实施的人。他们(与系统分析师共同)确立系统的主体架构和实现方向,并负责指导软件工程师等开发人员的编码开发工作。
通过定义,我们得知,架构师有如下几个职责:
- 技术选型
- 主体框架搭建并实施
- 确定系统的实现方向
- 负责指导软件工程师
二、架构师的误区
因为以上架构师的职责,许多人对架构师的工作有了误区,主要有以下几个误区:
- 架构师负责把控项目进度
在专业的公司中,有专门把控进度的职位,我们称之为项目经理。
项目经理侧重于预算控制、时间进度控制、人员管理、与外部联系和协调等等工作,具备管理职能
对架构师产生此误区的原因为,在有些公司,架构师是带领团队完成整体设计到产品上线的,所以容易让人对架构师产生此误解。
- 按照架构师的框架开发就行,无需怀疑
在架构师搭建出来框架后,因为有些情况是臆想出来的,与实际开发过程不符也是正常现象,一个好的框架搭建出来,少不了的是这样一个正向过程:
其次,架构就算在稳定之后,也不是一直一成不变的,也会随着业务的变化而演变
使用一个技术就好比是搭积木,只要问题明确 ,寻找技术并组合来实现架构 的拆分并不是难事 。如果架构师能够深人理解技术背后的驱动力 ,了解技 术是如何实现的 ,则能够做出更合适的判断和选择, 这就是所谓的 “接地气”。 所以架构 师在做好架构拆分后, 会形成不同的生命周期 。针对不同的生命周期 ,要选择不同的技术来进行支撑, 再把不同 的生 命周 期分工交 给不同类型的软件工程师去实现。 这就是架构师和技术人员的分工配合 架构师拆分生命周期 ,技术人员实现生命周期。
- 架构师不用写代码
我也见过一些架构师,就写写ppt,说一下思想,就把活丢出去的人,这个是对架构师最大的误解,也是我本篇最想说的内容。
一个只做高层设计,不低下头去写代码的架构师,那就相当于纸上谈兵。
这样的架构师会造成一系列的问题。
想做好技术的使用者并不容易。架构师必须深入地了解不同的技术, 知道这些技术的强项和弱点, 懂得合适的取舍。 比如作为一个 建筑架构师, 建造砖瓦结构的房屋 ,如果不了解 砖、 瓦是怎么制作出来的, 就无法理 解砖 、瓦的特性、 弱点以及寿命, 也就使用不好砖、 瓦。 如果没见过砖瓦匠如何使用砖瓦 砌墙的, 就不知道有些砌法是中空的, 有些是实的。 不同 的砌墙技术, 其承重能力如何保温性 能如何, 等等 ,都无从得知。这样是无法使用好技术的 。同样, 无论是采用钢结构, 或是采用木结构, 都要对这些材料, 以及现存 的技术有一个比较通透的 解 ,才能够做出靠谱的判断, 但并不是说架构师必须是所有技术的 专家 。比如木结构里面的 “榫 卯” 1 结构 ,架 构师可以 很了解并使用 。但让架构师自己来做 一个 “ 榫 卯 ” 结 构 , 则并不容 易 , 木工活要非常精细才行 。当架构师需要 一 个 “ 榫 卯”的时候,还是要找木工来解决问题,而不是花时间去学习木工,自己来做。
三、架构师不写代码会怎样
- 不能准确感知自己设计的架构是否有问题:如果仅依赖于“验证->反馈”,这样一个过程,会出现
- 反馈的结果可能是错误的
- 在出现问题的时候可能没人反馈
- 长期的疏离代码,会让架构师的技术判断力下降,感知力的缺乏,会让架构师的架构能力越来越弱
- 只写代码的架构师更加不合格
作为架构师,如果把大部分心思花在写代码上,代码感知力是很强了,可是更上一层的高屋建瓴的能力,也即是架构师的核心竞争力,就会下降了,所以一个架构师花费少量的时间去写代码就行了
四、架构师需要具备的能力
沟通能力
往往一个项目甚至一个产品的上线,需要多个团队共同协作,产品、业务、软件研发、硬件研发等等。
在三国中有一个非常著名的典故,叫做七擒孟获,为何诸葛亮要如此大动干戈呢,因为
一个人只有口服心服,才能好好地为你做事,才能让你无后顾之忧
而沟通能力就是具有,在跨部门的过程中,让其他部门的人心甘情愿帮助你的能力,并且在这种情况下,他们针对出现的情况还会给出合理化的建议,让你的工作做的更好。
领导力
架构师需要安排软件工程师做很多工作,具有影响力,能获得软件工程师的信任,能协助你把工作做的更好。
技术判断力
架构师每周都可以
- 花两个小时,去写写代码,写写需求
- 与其他部门和团队多沟通
以此在高屋建瓴和实际落地,两个层面把架构做好。
五、小结
本篇文章主通过
- 架构师的定义
- 架构师的误区
- 架构师不写代码会怎样
- 架构师需要具备的能力
介绍了架构师并讨论了架构师该不该写代码,并得出结论:架构师每周最好可以花费2个小时左右的时间写代码
架构师该不该写代码?相关推荐
- 架构师究竟要不要写代码?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! Talk is cheap, show me the c ...
- 架构师,是否需要写代码?
中生代高级架构师社群 读完需要 9 分钟 速读仅需 3 分钟 小编:架构师是否需要写代码,这个话题已经记不起从何时开始,在攻城狮圈内成为一个经常拿来讨论的话题,上周中生代深度交流群群友们对此问题做了有 ...
- 阿里CTO程立:好的架构师,都是写代码写出来的!
阿里CTO程立在访谈中提到,好架构师都是写代码写出来的,PPT是架构师必备的一个技能. 关于这段访谈的文字版如下: "反正我认为架构师是要写代码的.首先的话,好的架构师都是写代码写出来的.本 ...
- 架构师前辈告诉你:代码该如何才能自己写得容易,别人看得也不痛苦
来源 | 编程新说 责编 | Carol 头图 | CSDN 下载自视觉中国 切身感受 在这个世界上,最难看懂的文档,永远是同事写的需求文档.最难看懂的代码,永远是同事写的业务代码. 我很纳闷,像Sp ...
- 架构师修练 I - 超级代码控
可实现的是架构,空谈是概念 So don't tell me the concepts show me the code! "不懂编码的架构师不是好架构师" 好架构师都是超级代码 ...
- 阿里P8架构师让我简历写精通AlibabaSentinel,结果收到P7的offer
有些程序员可能不知道阿里的职级是怎么划分的,下面就给大家介绍一下: 从图上可以看出来,P7是技术专家,薪资在30W-50W,但是股票给到2400股,在大环境不好的情况下,还能给到这么高的薪水着实不 ...
- 架构师如何教小学生写作文
如何教孩子写小学作文 问题提出 基本套路 这集先说记叙文中的记人.叙事 谋篇 发生阶段,主要是铺垫 发展阶段,通常会变坏 高潮阶段主要是克服挑战.解决矛盾 结尾阶段要煽情 问题提出 儿子四年级了,对写 ...
- 不会写简历?阿里Java技术架构师教你如何写好你的技术简历
我们来系统的梳理一遍面试流程,让你轻松成为面霸,拿到满意的offer! 本场聊聊将从招聘者和面试官的角度,主要内容如下:(以阿里巴巴为例) 1.岗位选择与简历投递 大型互联网公司的岗位是非常多的,阿里 ...
- 投递简历上百家,石沉大海了无音讯?阿里Java技术架构师教你如何写好你的技术简历
你是否也遇到过这类问题? 投递简历上百家,石沉大海了无音讯? 一直找不到工作,很迷茫,不知道该不该继续? 那么没有面试机会的时候,我们如何通过简历打破僵局呢?在文章开始之前先给大家推荐一个免费的直播课 ...
- 一名年薪百万阿里P8架构师写给Java程序员一些建议(架构师必备)
阿里P8架构师-Peter 毕业于海南大学,曾就职于阿里.苏宁易购等一线互联公司,十余年Java从业经验,系统架构师及微服务之先驱,JEECG急速开发框架的设计与布道者.重点关注微服务设计与编排.高并 ...
最新文章
- R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(自定义分组的颜色)实战
- 向海龙回应“被百度开除”:离开是为了专心做投资
- 我有一个竞争方法,让用户去选择你的产品而不是别人
- 设计几个简单的汇编函数
- 分布式存储系统学习笔记(三)—分布式键值系统(2)—淘宝Tair
- vagrant 网络三种模式
- Win32软件开发: 按键精灵 鼠标模拟器(VibraClick)
- FFmpeg系列-2-命令行工具之FFmpeg
- 关于win8.1系统的网络用一段时间就会受限的原因及解决方法
- pycharm定时运行python脚本_Python脚本定期执行_执行python脚本_如何执行python脚本
- SPIR-V教程 -- SPIR-V介绍(一)
- python 数据可视化sns作图
- Linux valgrind java_linux下valgrind的使用概述
- 用python提取word到excel(excel可更新)
- 【万字长文】Dubbo 入门总结 ,一款高性能的 Java RPC 框架
- 如何评价深度学习相关顶级期刊论文难复现的问题?
- C++学习日记#1.1——四元一次方程组进行Sor松弛迭代法求解(现已推向n元一次方程组进行Sor松弛迭代法求解)
- sass/lsee 转换css 网站 SASS 转 CSS 工具,在线 SASS/SCSS 编译工具 - 在线工具-wetools.com微工具
- 数据结构(C语言版第2版)课后习题答案
- 海外商标国内公司如何入驻小红书
热门文章
- 0001 工作业务问题_滞纳金公式计算区别实例
- VOIP Codec 三剑客之 ISAC/ILBC -- ISAC (1) 介绍
- LinkList L 与LinkList L(LNode* L , LNode* L)的区别
- Win7安装VMware Tools问题
- 基于https的harbor部署与升级
- android webview最新版下载,Android WebView 支持文件下载的几种方式
- python视频格式转换_用Python+FFmpeg进行音视频格式转换
- 光大银行笔试真题解析,答题技巧
- 【Java实现PDF文件转换为图片】
- phpstudy php56 zend,phpstudy集成环境