Radar

硬核干货:一位菜鸟码农的架构师“封神”之路!

蹲街弑〆低调 提交于 2020-02-27 04:27:51
不久前,高级架构师 Justin Miller 在 GitHub 上创建项目,介绍自己关于如何成为更好的软件架构师的想法。该项目发布一天即获得 1.4K star,现在已有近 5K star 量。 几年前有人问我:你是怎么成为一名软件架构师的?我们就此探讨了必备技能、经验,以及储备相关知识所需的时间和精力。 除此之外,我也回顾了自己走过的路、使用或尝试过的技术,以及我从那些五花八门的工作中学到的东西。 软件架构师是什么? 在进行深层次的探讨之前,我们先来看两个定义: 软件架构师是指那些制定高级设计决策,并确定技术标准(包括软件编程标准、工具和平台)的软件专家。这之中的首席专家就是总架构师。 软件架构是系统的基本组织构成,这种组织主要体现在其组件、组件之间的关系、组件与环境之间的关系,以及决定系统设计与演化的原则。 架构的“层级” 架构主要可以抽象成以下几个层级。不同层级所需的技能也不同。 尽管对层级的分类有很多种标准,但是我最喜欢把架构分成三个层级: 应用级:最低层级的架构。只关注单一的应用。层级低,但是很详细。这方面的交流一般是在一个开发团队内展开。 解决方案级:架构的中间层。关注一或多个满足业务需求的应用(也就是商业方案)。这之中有些设计是高层次的,但大部分还是低层次的设计。这种层级架构的交流就开始涉及多个团队了。 企业级:架构的最高层级。关注多个方案

干货分享:架构师的内功心法

强颜欢笑 提交于 2020-02-26 16:13:45
几年前有人问我:你是怎么成为一名软件架构师的?我们就此探讨了必备技能、经验,以及储备相关知识所需的时间和精力。 除此之外,我也回顾了自己走过的路、使用或尝试过的技术,以及我从那些五花八门的工作中学到的东西。 image 软件架构师是什么? 在进行深层次的探讨之前,我们先来看两个定义: 软件架构师是指那些制定高级设计决策,并确定技术标准(包括软件编程标准、工具和平台)的软件专家。这之中的首席专家就是总架构师。 软件架构是系统的基本组织构成,这种组织主要体现在其组件、组件之间的关系、组件与环境之间的关系,以及决定系统设计与演化的原则。 架构的“层级” 架构主要可以抽象成以下几个层级。不同层级所需的技能也不同。 尽管对层级的分类有很多种标准,但是我最喜欢把架构分成三个层级: 应用级:最低层级的架构。只关注单一的应用。层级低,但是很详细。这方面的交流一般是在一个开发团队内展开。 解决方案级:架构的中间层。关注一或多个满足业务需求的应用(也就是商业方案)。这之中有些设计是高层次的,但大部分还是低层次的设计。这种层级架构的交流就开始涉及多个团队了。 企业级:架构的最高层级。关注多个方案。这种架构的设计层次高且抽象,因此也需要方案级和应用级的架构师对此进行细化。这种层次的架构就需要多个组织进行沟通了。 有时候,架构师也被看做不同工作组之间的粘合剂。以下是三个例子: 横向