`
Gi_gi
  • 浏览: 8907 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

有关——架构师【转】

 
阅读更多
架构师是一门建立在科学,工程基础之上的艺术,一个充满魅力,极其有趣的工作;给人带来了一种不被束缚,不按别人的思路走,自由描绘无限风景的期盼。那么程序员应如何成为一名合格的架构师?如何加强自己的技能修养?架构师在公司主要负责什么?

架构师相关的设计工作:
以公司战略在技术方面的分解为指导思想:

为团队设定技术规范、代码规范、文档规范
为开发团队、以及相关产品团队、测试团队、运维团队,规定流程和标准
为开发团队抽象、提炼、储备和推广通用代码类库、常用业务代码类库
根据实际操作情况,对以上内容不断优化和调整

程序员要成为一名架构师发展,需要进一步加强技能的修养:
几个必要的要素:

思考问题的角度尽量站的高一点、再高一点,从分解公司战略层面开始入手做架构设计
对业务的深刻理解,才能做好业务架构
理论学习&技术实践,什么时候都不能丢掉,这是技术架构的基础,重要性不赘述
同行业交流
时时对新技术保持敏感

从程序员到高级程序员再到设计师的过程:
技术方面:

从最基础的开发做起
逐步提高解决高难度技术的能力
不断重构代码、不断优化代码,每次重构都是一次思考
业务方面:

从理解现有业务做起
从成为小领域业务专家,扩展到更多领域的业务专家
在每次重构底层代码时,更在不断思考业务架构重构与优化
做到以上,大约是个高级程序员或准架构师水平。

架构师的核心竞争力:

有独立思考、价值判定,建立在对行业、对公司战略和目标的深刻理解之上
很强的语言翻译能力,能跟产品经理讲明白技术,能把产品理念翻译成架构和可执行代码
影响力

自身的学习:
阅读成熟项目的代码会使人受益匪浅,其次就是来自于所从事领域的经验,要了解分布式系统的特点,在做项目时,要能够关注性能、扩展性、可靠性、可用性等指标。

最重要的技能是对网络和分布式系统的理解

不仅有丰富的编码经验,而且还要熟悉硬件性能优化、内核调试、网络故障排查、系统安全、分布式系统设,还有了解国内外技术的新趋势和特点,最重要的是,还要善于与人沟通,敢于排除不同意见,敢于承担责任,了解团队内工程师的特点,善于将他们组成一个整体。

架构师更多的是以一个技术负责人的身份和工程师一起做好产品,这里面包括,项目开展前的方案设计,方案完成后的评审,方案确定后的开发,以及之后的调试、优化,故障排查。

良好的驾驭管理开发团队的能力,良好的人格修养,能够让架构师在开发项目中游刃有余,不会出现意料之外的干扰,更能从内散发出人格魅力。

不断更新自己,适应不断前进的技术演变


架构师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。参考软件企业架构师需求、结合目前架构师所需知识,总结架构师自我培养过程大致如下仅供参考:

1、架构师胚胎(程序员)学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c++、uml、RUP、XML、socket通信(通信协议)——学习搭建应用系统所必须的原材料。

2、架构师萌芽(高级程序员)学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejb、corba、com/com+、webservice(研究生可以研究网络计算机、高性能并发处理等内容)

3、架构师幼苗(设计师)应该在掌握上述基础之上,结合实际项目经验,透彻领会应用设计模式,内容包括设计模式(c++版本、java版本)、ejb设计模式、J2EE架构、UDDI、软件设计模式等。在此期间,最好能够了解软件工程在实际项目中的应用以及小组开发、团队管理。

4、软件架构师的正式成型在于机遇、个人努力和天赋,软件架构师其实是一种职位,但一个程序员在充分掌握软架构师所需的基本技能后,如何得到这样的机会、如何利用所掌握的技能进行应用的合理架构、如何不断的抽象和归纳自己的架构模式、如何深入行业成为能够胜任分析、架构为一体的精英人才这可不是每个人都能够遇上的馅饼……

然而学海无涯,精力有限,个人如何能够很快将这些所谓的架构师知识掌握?这是秘密,每个人都有自己的独门家传秘笈就不敢一一暴露了。不过有一点就是广泛学习的基础之上一定要根据个人兴趣、从事领域确定一条自己的主线来努力。
分享到:
评论

相关推荐

    做架构师——架构师能力模型解析.pdf

    "架构师能力模型解析" 架构师是一个职业名称,而不是一个技术高下的职位名称。要想成为一个优秀的架构师,需要具备“个人特性”和“技术技能”两个方面的能力。“个人特性”包括人际关系的能力和业务能力,而“技术...

    做人、做事,做架构师——架构师能力模型解析

    【架构师能力模型解析】 架构师,作为IT领域的一个关键角色,不仅关乎技术实力,更涉及个人特质和软技能的全面发展。成为一名优秀的架构师,意味着你需要在“个人特性”和“技术技能”两方面下足功夫。在这个能力...

    做架构师——架构师能力模型解析收集.pdf

    人际关系能力是架构师有效沟通与合作的基石,确保与团队成员、利益相关者以及外部合作伙伴保持良好的互动关系。业务能力使架构师能够在理解业务需求的基础上,为项目指明方向和做出正确的业务决策。而抽象思维能力则...

    软考——系统架构师

    《软考——系统架构师》这一主题涵盖了计算机领域中的一个重要角色——系统架构师,以及针对这一职业的相关考试准备。在提供的三个PDF文件中,我们分别有《系统架构设计师教程(清华版)》、《系统架构设计师考试大纲...

    架构师必看——架构之美(精选版)

    架构师必看——架构之美(精选版)

    企业架构——企业架构师的角色演变——第2部分.pdf

    - **培训和支持**:为了确保企业架构的成功实施,企业架构师还需要负责对相关人员进行培训,并提供必要的支持服务。 - **持续改进**:企业架构师需要定期审查企业架构的有效性和效率,并根据业务和技术环境的变化...

    软件架构设计:程序员向架构师转型必备(alin书签).pdf

    《软件架构设计:程序员向架构师转型必备》是一本旨在帮助程序员提升技能,迈向更高层次——架构师的著作。在IT行业中,架构师的角色至关重要,他们不仅需要掌握编程技术,还需要具备系统设计、项目管理以及业务理解...

    测试架构师修炼之道:从测试工程师到测试架构师1

    ### 突破瓶颈——成为测试架构师 从测试工程师向测试架构师的转变,并非只是一种职位上的升级,更是一个质的飞跃。在第二部分,作者探讨了测试架构师应该如何思考问题,以及如何培养架构师的思维模式。书中区分了...

    架构人员——架构规划方法.rar

    《架构人员——架构规划方法》这个压缩包文件是专为IT领域的架构人员设计的,旨在提供全面的架构规划知识和实践指导。企业架构和架构规划是现代信息技术领域中至关重要的组成部分,它们对于企业的信息化建设、业务...

    架构师的职责

    软件架构——架构师的职责 一、架构师定义 架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。架构师的主要责任是提供开发...

    从入职到架构师,嵌入式软件成长之路(2021-3-31).pdf

    根据文件标题《从入职到架构师——嵌入式软件成长之路》以及描述,我们可以提炼出几个关键的知识点和经验教训,这些内容对于嵌入式软件行业的新入职者、资深开发人员,以及那些希望成为技术架构师的开发者们来说都是...

    云原生Kubernetes全栈架构师:基于世界500强的k8s实战课程

    分享课程——【2022】云原生Kubernetes全栈架构师:基于世界500强的k8s实战课程,2022年最新版,基于V1.23版本,完整版提供文档和软件下载! 课程适合人群: 1、准备学习k8s的运维、开发、测试、架构师; 2、k8s...

    系统架构师教程.pdf

    系统架构师必须深刻认识到信息安全的三大支柱——机密性、完整性和可用性的重要性,以及潜在的安全威胁(如恶意软件、网络钓鱼、拒绝服务攻击等)。因此,架构师必须掌握实施安全措施的基本原则和方法,比如身份验证...

    面试——网络架构师

    主要内容点: 考察 网络常见故障排解 网络架构关键设备设置 交换机 路由器 FTP站点建立 等 很全面来应对你的面试准备!

    从菜鸟到测试架构师——一个测试工程师的成长日记

    从小白到测试架构师,一个测试工程师的成长历程 计算机科学专业硕士毕业的小艾,在IBM开启了他的软件测试工程师生涯。作为一名新手,他满心期待却又对即将面对的领域知之甚少。小艾最初将软件测试简单地理解为寻找...

    SOA开放标准大观园——架构的导航

    - **The Open Group SOA参考架构**:为企业架构师提供了一套模板或蓝图,可用于标准化地实例化到具体的项目或解决方案中,以确保SOA在企业内部的一致性和可扩展性。 #### 本体 - **The Open Group SOA本体论**:...

    C#架构师之路C#架构师之路

    C#架构师的提升之路,不仅需要扎实的编程基础,更需要对软件工程的深刻理解和对设计模式的娴熟运用。从最初级的面向过程编程到现今主流的面向对象编程,C#架构师必须洞察软件开发的各个阶段,并能够将这些知识灵活...

Global site tag (gtag.js) - Google Analytics