什么是架构师?

架构师英文architect,这个词源于建筑学。软件工程当中的架构师和建筑工程当中建筑师有许多相通之处,都是负责“产品”宏观的架构设计。

在一个团队里,架构师充当了技术Leader的角色,不仅要完成项目的整体设计和规划,还要带领技术团队一起解决实际问题,攻克技术难点,使得软件的设计、开发、测试、发布流程得以顺利完成。

下面这张图,表达了一个应用架构师(技术Leader)在团队当中的角色:

需要注意的是,这张图中的架构师只是应用架构师,所以运维和DBA人员没有归入到他的管辖范围。同时,每个公司的具体组织结构也不尽相同。

架构师都做些什么?

1.架构设计

架构师,顾名思义,第一职责就是在软件设计阶段,做好软件“骨架”的设计。架构师需要把产品的需求翻译成软件工程的设计文档,确定各个系统与模块的边界,评估系统的量级。

2.技术选型

从前端到后端,从缓存到数据库,面对为数众多的第三方组件,架构师需要作出合理的选择。

前端页面选择模板引擎还是动静分离?

服务端选择Java还是Node.js?

服务治理选择DubboX还是Spring Cloud?

消息队列选择RocketMQ还是Kafka?

分布式缓存选择Redis Cluster 还是 Codis?

数据库选择Mysql还是Oracle?

全文检索选择Solr还是ES?

技术没有绝对的好坏之分,关键看是否适用于公司的业务场景。

3.管理非功能性需求

满足需求是项目开发和架构设计的根本,而管理非功能性需求则是项目的升华。

在公司从0到1的创业阶段,开发者更关注的是功能性需求,往往一个简单粗暴的MVC项目就可以搞定一切。当业务量级逐渐增大,用户需求逐渐多样化,非功能性需求的重要性就逐渐显现。

非功能性需求都包含哪些内容呢?

性能(响应时间)

可扩展性(适应需求的快速变化)

可用性 (四个9,五个9,必要时的限流和降级)

安全性(防范各种恶意攻击,实现风控)

可监控(完善的监控和报警机制)

灵活性(便于非开发人员进行配置)

可维护(持续集成,持续部署)

国际化(冲出国门)

4.攻克技术难题

架构师不只需要关注宏观的设计,也需要具有攻克技术细节的能力。在团队开发过程中遇到难以实现和优化的技术问题时,架构师需要发挥技术优势,解决系统的疑难杂症。

5.技术人员的管理和指导

架构师不只是一个技术大牛,也应该是一个好的管理者,在工作中需要把较大的项目和需求拆分一个个Story,依照每个人的情况分配给研发团队的成员,并且在必要的时候进行技术上的培训指导。

架构师都有哪些种类?

1.应用架构师

应用架构师是行业中数量最多的架构师,主要负责公司产品的技术架构。产品架构师需要对业务有足够的理解,根据产品需求设计架构,在运营团队的协助下评估量级,并管理项目的整个生命周期。

2.中间件架构师

中间件架构师主要负责基础框架、公共组件,通用服务的搭建。比如分布式服务框架诸如Dubbo,HSF;比如消息队列诸如 RocketMQ,Kafka。在大型互联网公司中,往往不是把开源框架简单“拿来”,而是研发出符合自身业务的企业中间件。

3.基础设施架构师

基础设施架构师负责服务器资源、网络资源、数据库等基础设施的建设;以及持续集成工具、持续部署工具的搭建。

以上所说的三种,只是架构师最基本的分类。一些特殊领域也有着专门的架构师,比如网络安全架构师、大数据架构师等等。

怎样才能成为架构师?

1.技术的深度和广度

有一句话说得好,将军就是更优秀的士兵。架构师作为程序员中的将军,首先需要有足够的技术深度,同时需要广泛了解行业内的主流技术,以便更好地设计架构和技术选型。

2.业务的理解

抛开业务谈架构就是耍流氓。这一点对应用架构师来说尤其重要。只有对业务有了充分的理解,才能对项目的设计和扩展做出合理的规划。

3.良好的沟通能力

架构师不只是低头做技术,更需要协调指挥团队内的成员,也需要跨部门和产品、运营、项目经理等人员做及时有效的沟通,所以沟通能力是必不可少的。

—————END—————

【职业】什么是架构师?相关推荐

  1. python爬虫架构师之路_一位资深 架构师大牛给予Java技术提升的学习路线建议

    一位资深 架构师大牛给予Java技术提升的学习路线建议 对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择. 架构师在一家公司有多重要.优秀架构师需要具备怎样的素 ...

  2. Java架构师之路:从Java码农到年薪八十万的架构师

    对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择. 架构师在一家公司有多重要.优秀架构师需要具备怎样的素质以及架构师的发展现状三个方面来分析 程序员如何才能晋升 ...

  3. 1. 关于系统架构师

    1. 关于系统架构师 1.1 系统架构的概念和发展历史 1.1.1 系统的概念 1.1.2 简要的发展历史 1.2 系统架构师的定义与职业素质 1.2.1 定义 1.2.2 系统架构师技术素质 1.2 ...

  4. 资深大牛告诉你什么是架构师

    原文链接:https://blog.51cto.com/14528804/2434863?source=dra 对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择 ...

  5. 如何成为一名高薪架构师?

    对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择. 今天,100offer从架构师在一家公司有多重要.优秀架构师需要具备怎样的素质以及架构师的发展现状三个方面来 ...

  6. 看看华为、阿里大数据架构师的必备技能!

    嘘,我们只偷偷地告诉你一个人! 这个秘密职业就是 数据架构师 在国内大数据行业大概有以下几种岗位:数据架构师.数据分析师.数据挖掘工程师.数据算法工程师和数据产品经理. 接下来我们介绍第二种岗位 让我 ...

  7. Java进阶架构之路:如何从小白成为年薪百万的架构师

    对于工作多年的程序员而言,日后的职业发展无非是继续专精技术.转型管理和晋升架构师三种选择. 架构师在一家公司有多重要.优秀架构师需要具备怎样的素质以及架构师的发展现状三个方面来分析 程序员如何才能晋升 ...

  8. 8年架构师针对web前端小白,作出的职业规划建议

    本人从事前端8年了,目前在广州从事架构师.业余总结了很多学习资料,在不断总结的过程中提升自己的技术水平,跟进时代的发展,也想帮助更多想从事前端工作的朋友.本文我会普及一些入门和提升建议,思想提升了,路 ...

  9. [架构之路-5]:架构师 - 中国计算机技术职业资格(软考)考试是如何定义系统架构师?

    目录 第1章 中国计算机技术职业资格(软考)等级 第2章 考试要求与技能要求 第3章 关于题型与分值 第4章 教材内容 第1章 操作系统 1 第2章 数据库系统 30 第3章 数据通信与计算机网络 1 ...

  10. 【职业篇】Linux服务器开发架构师, 高屋建瓴谈谈知识体系的建立丨职业方向就业分析解决你的就业疑虑

    Linux服务器开发架构师, 高屋建瓴谈谈知识体系的建立丨职业方向就业分析解决你的就业疑虑 应届生就业方向选择,行业选择决定了 职业的高度分析,1-3年,3-7年,7-10年,纯度比较高技术(方向)栈 ...

最新文章

  1. 高级软件工程第二次作业
  2. Android UI开发第三十篇——使用Fragment构建灵活的桌面
  3. 【每周CV论文推荐】 初学深度学习人脸属性分析必读的文章
  4. Windows破解笔记-windows API中的SendMessage
  5. 《java入门第一季》之类面试题
  6. mybatise 实现同一字段多模糊查询
  7. Android开发中的全屏背景显示方案
  8. http://blog.csdn.net/flyingscv/archive/2008/05/03/2371153.aspx
  9. 拓端tecdat|自然语言处理NLP:主题LDA、情感分析疫情下的新闻文本数据
  10. 传智168期 day61 redis 笔记(2017年8月25日19:16:30)
  11. vtk相机_VTK相机参数
  12. 16天记住7000考研单词
  13. 网络空间测绘技术在网络安全中的应用
  14. Sh.k6p index.php,第二篇:shell基础命令(部分)
  15. SOFAServerless 体系助力业务极速研发
  16. android监控io产生的应用,Android IO性能分析及排查
  17. 徐磊英语语法整理1-3 词性,语序
  18. SAP ABAP GUI_DOWNLOAD中下载乱码的问题
  19. Python使用窗口打开文件
  20. PowerBI中导出数据方法汇总

热门文章

  1. 打印容器_化妆品公司购买3D打印机能干什么?
  2. 用PS给证件照换底色
  3. 如何抢到腾讯云校园1元优惠资格(新版腾讯云)-更新
  4. assume用法及意思_assume的用法和例句
  5. 油管上最火的java面试题集合
  6. python编写计算方差的函数_基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解...
  7. android开发 多语言和国际化(转)
  8. 华为p20如何连接计算机,华为P20 USB调试和开发人员选项的打开方法(EMUI8.1)
  9. 阿里云ECS云盘挂载
  10. python大数据方向_大数据行业5个职位方向指南