程序员|架构师or普通的程序员,架构师优秀在哪几方面?( 二 )


4.制定技术规范
架构师是项目开发过程中的技术权威 。 他需要协调所有开发人员 , 保持与开发人员的沟通 , 并始终确保开发人员根据其架构意图实现各种功能 。
架构师与开发人员之间最重要的交流方式是技术规范 , 技术规范可以是UML视图 , Word文档 , Visio文件和其他表现形式 。 架构师提供的技术规范可确保开发人员可以从不同角度观察和理解他们承担的子系统或模块 。
架构师不仅必须与开发人员保持沟通 , 而且还必须与项目经理 , 需求分析师甚至最终用户保持联系 。 因此 , 对于建筑师来说 , 不仅有技术要求 , 而且还有人际交流的要求 。
三 , 架构师的误解
1.架构师是项目经理
架构师不是项目经理 。 项目经理专注于预算控制 , 时间表控制 , 人员管理以及外部联系与协调 , 并具有管理职责 。 在一般的小型项目中 , 项目经理和架构师为同一个人也是很常见的 。
2.架构师负责需求分析
架构师不是需求分析师 。 需求分析师的工作是收集和分析需求 , 并与最终用户和产品经理保持联系 。 架构师仅审查并确认最终需求 , 并提出不清楚和不完整的需求 。 他将始终与需求分析师保持联系 。 架构师是技术专家 , 而不是业务专家 。
3.架构师从不编写代码
这是一个仍有争议的问题 。 当前有两种观点:
观点1:架构师不编写代码 。 编写代码纯粹是手工工作 。 架构师将UML的各种视图提供给开发人员 , 如果不清楚 , 他可以随时与架构师进行交流 。
观点2:架构师最初来自程序员 , 但他们的水平比程序员高 。 唯一比程序员更重要的是经验和知识 , 因此架构师无法避免编写代码 。
我个人认为这两个陈述与架构师的来历和环境有关 。
架构师首先是技术角色 , 所以他们必须来自技术人员 。 例如 , 系统架构师主要来自运营和维护人员 。 也许他们编写的代码不多或编写的代码不优美 。 软件设计师大多是程序员 , 他们具有程序员的血统和感情 , 因此在项目开发过程中 , 他们可能会编写一些核心代码 。 我们的理想是架构师不需要编写代码 , 但实际上有时太理想化了 。 架构师是否编写代码可能取决于公司规模 , 文化和开发人员素质的实际情况 。 此外 , 架构师与程序员的区别并不明显 。 根据能力 , 也有高 , 中 , 低点 。 是否编写代码不是区分两者的基本标准 。
四 , 架构师的基本素质
一个好的演员不仅需要才能 , 还需要一定的理论指导 。 架构师的成长过程是相同的 。 从普通程序员到高级程序员再到架构师 , 这都是经验积累和思想升华的过程 。 经验积累是一方面 , 而质量培训则是另一方面 。 两者相辅相成 , 因此我认为有必要列出架构师所需的素质 , 以此作为程序员工作的方向 。
沟通能力
为了提高效率 , 架构师必须赢得团队成员、项目经理、客户或用户认同 , 这就需要架构师具有较强的沟通技巧 。 沟通技巧是人类最普遍性的素质要求 , 技术人员好像容易忽略 , 想成为架构师就不能忽略 。 千万不要抱着这样的观念:怀才跟怀孕似的 , 时间久了总会被人发现的 。 凡事都要看到积极的一面 , “沟通”的确是一种能力 。 我认为自己是一个略内向的人 , 因为我是农村出来的孩子 , 普通话都说不好 , 以前或多或少带有点自卑感 , 幻想着是金子总会发光 , 所以在职业生涯中吃了不少亏 。 现在 , 我深深懂得了沟通的重要性 , 我会很主动地跟同事们 , 跟老大们不定时地沟通 , 感觉工作起来顺畅多了 。
我认为这是最重要的 , 因此排名第一 。 我甚至认为以下几点可以忽略不计 , 只有这一个必须牢记 , 并时刻提醒自己 。
领导能力
架构师能够推动整个团队的技术进展 , 能在压力下作出关键性的决策 , 并将其贯彻到底 。 架构师如何来保证这种执行力?这就需要架构师具有领导力 。