<commit_before>---
layout: post
title: 架构师成长之路(1)--什么是架构师(目标)
category: other
tags: [other]
---

哲学家常思考的问题：" 我是谁？"" 我从哪里来？"" 要到哪里去？不只是哲学家，我想每个人都有自己对这三个问题的认知。

如果我们要成为架构师，我们自己要面临的三大问题： 找准自己定位：我是谁？在哪里？

怎样做好架构师：我要做什么？

如何搭建架构师知识体系：我该怎么做？ 这里面就是做事方法论：**目标（我要做什么），方法（计划）（我该怎么做）,  执行/行动** 


软件行业架构师两个定义

* 系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的人。具体来说是一个确认和评估系统需求，给出开发规范，搭建系统实现的核心构架，并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此他/她应该是特定的开发平台、语言、工具的大师，对常见应用场景能马上给出最恰当的解决方案，同时要对所属的开发团队有足够的了解，能够评估自己的团队实现特定的功能需求需要的代价。系统架构师负责设计系统整体架构，从需求到设计的每个细节都要考虑到，把握整个项目，使设计的项目尽量效率高，开发容易，维护方便，升级简单等。

* 架构师是软件行业中一种新兴职业，工作职责是在一个软件项目开发过程中，将客户的需求转换为规范的开发计划及文本，并制定这个项目的总体架构，指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的软件程序的编写，而是从事更高层次的开发构架工作。他必须对开发技术非常了解，并且需要有良好的组织管理能力。

### 软件行业互联网与常规企业的区别

* 互联网项目（偏灵活及扩展性）

* 盈利方向：以产品服务为导向，以产品吸引用户，从中挖掘盈利模式

* 迭代频率：快速迭代，快速呈现产品，不断更新产品符合业务发展及用户需要

* 业务复杂度：由于面向全互联网，复杂度越大用的人越少

* 瀑布流方式并不适合互联网，架构师的做事方式也不同与企业架构

* 企业项目（偏积累复用性）

* 盈利方向：技术服务以需求方为导向，普遍对内部及合作方服务

* 迭代频率：以客户需求为导向，一般周期很长

* 业务复杂度：以客户需求为导向，普遍业务逻辑复杂

* 适合瀑布流方式及螺旋模型


### 架构师内部方向

* 系统架构师：服务器 负载，可靠性，伸缩，扩展，数据库切分，缓存应用

* 应用架构师：理解业务，梳理模型，设计模式，接口，数据交互


### 架构师不是万能的

* 擅长沟通的，不见得技术很强

* 擅长展望的，不见得细节完善

* 擅长攻关的，不见得会规划

* 擅长设计的，不见得会实现

* 擅长理论的，不见得能落地<commit_msg>Update 2017-12-26-architecture.md<commit_after>---
layout: post
title: 架构师成长之路(1)--什么是架构师(目标)
category: other
tags: [other]
---

哲学家常思考的问题：" 我是谁？"" 我从哪里来？"" 要到哪里去？不只是哲学家，我想每个人都有自己对这三个问题的认知。

如果我们要成为架构师，我们自己要面临的三大问题： 找准自己定位：我是谁？在哪里？

怎样做好架构师：我要做什么？

如何搭建架构师知识体系：我该怎么做？ 这里面就是做事方法论：**目标（我要做什么），方法（计划）（我该怎么做）,  执行/行动** 


#### 软件行业架构师两个定义

* 系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的人。具体来说是一个确认和评估系统需求，给出开发规范，搭建系统实现的核心构架，并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此他/她应该是特定的开发平台、语言、工具的大师，对常见应用场景能马上给出最恰当的解决方案，同时要对所属的开发团队有足够的了解，能够评估自己的团队实现特定的功能需求需要的代价。系统架构师负责设计系统整体架构，从需求到设计的每个细节都要考虑到，把握整个项目，使设计的项目尽量效率高，开发容易，维护方便，升级简单等。

* 架构师是软件行业中一种新兴职业，工作职责是在一个软件项目开发过程中，将客户的需求转换为规范的开发计划及文本，并制定这个项目的总体架构，指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的软件程序的编写，而是从事更高层次的开发构架工作。他必须对开发技术非常了解，并且需要有良好的组织管理能力。

### 软件行业互联网与常规企业的区别


* 互联网项目（偏灵活及扩展性）

* 盈利方向：以产品服务为导向，以产品吸引用户，从中挖掘盈利模式

* 迭代频率：快速迭代，快速呈现产品，不断更新产品符合业务发展及用户需要

* 业务复杂度：由于面向全互联网，复杂度越大用的人越少

* 瀑布流方式并不适合互联网，架构师的做事方式也不同与企业架构

* 企业项目（偏积累复用性）

* 盈利方向：技术服务以需求方为导向，普遍对内部及合作方服务

* 迭代频率：以客户需求为导向，一般周期很长

* 业务复杂度：以客户需求为导向，普遍业务逻辑复杂

* 适合瀑布流方式及螺旋模型


### 架构师内部方向

* 系统架构师：服务器 负载，可靠性，伸缩，扩展，数据库切分，缓存应用

* 应用架构师：理解业务，梳理模型，设计模式，接口，数据交互


### 架构师不是万能的

* 擅长沟通的，不见得技术很强

* 擅长展望的，不见得细节完善

* 擅长攻关的，不见得会规划

* 擅长设计的，不见得会实现

* 擅长理论的，不见得能落地
{'fraction_non_alphanumeric': 0.1265406737880033, 'fraction_numerical': 0.004108463434675432, 'mean_word_length': 9.968468468468469, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6426573', 'n_tokens_mistral': 2419, 'n_tokens_neox': 3036, 'n_words': 86}