学习成为一个IT架构师

做了4年的java程序员,一直考虑自己以后的发展方向。自己是一个不适合走管理路线的人,所以考虑继续在技术方面深入下去。

相信好多程序员都和我有相同的感觉,做了好多年代码民工,感觉自己每天都在重复着相同的事情。

Copy代码复制粘贴,感觉过了这么久自己的进度很小。

辞去了之前的工作,打算静下心来好好考虑下自己以后的道路。打算在这段时间,学习下如何成为一个好的架构师。

第一节:

首先了解了下什么是架构师,架构师都有那些?

架构师实际上就是软件的总体设计师。首席设计师就是总设计师,打个通俗的比方:***是中国改革开放的总设计师,我们用现在的说法可以讲,***是中国改革开放的首席架构师。架构师的形成一定是在实践中积累起来的,而并非上了几次培训班,读了几本书就可以成功的,架构师是在工程实践中培养出来的。

软件架构师

软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员

信息架构师

信息架构师即Information Architecture,是一个常常被误解的职称。他们是设计者?开发者?管理者?还是以上全部?我们在本文将探讨信息架构师是做什么,为什么它和可用性相关,以及在信息架构中需要用到的工具/软件。我们也会顺便分享一些对于信息架构的初学者来说有用的tweeters(twitter用户)、书籍和资源。即使您已经对这些内容非常熟悉了,您也可能从中发现一些可能错过的内容。

网站架构师

网站架构师是网站系统、功能、模块、流程的设计师,架构师,好比是高楼大厦的设计人员,通常一座大厦在建之前,都先由设计师将蓝图描绘出来,包括其形状、结构、尺寸、材料等等,然后建筑工程师带领工人们按照蓝图将大厦一层一层地建起来。

第二节:

成为一个架构师需要掌握的知识?

Web架构师究竟都要学些什么?具备哪些能力呢?先网上查查架构师的大概的定义,参见架构师修炼之道这篇文章,写的还不错,再查查公司招聘Web架构师的要求。 总结起来大概有下面几点技能要求:

一、 架构师有优秀的编码能力,解决开发人员无法解决的难题。

二、 架构师对系统的大数据容量高性能高并发高容错的网站有架构设计和开发经验。

三、 架构师对操作系统、数据库、服务器各种软件使用的配置比较了解,比如Linux、Web负载均衡、反向代理、数据库集群、容灾等比较了解。

四、 架构师对软件开发过程有清晰明确的认识,也就是对软件工程有有明确的认识,并能把需求进行分析、建模。

五、 架构师学习能力很强、接触知识面要很宽广、喜欢关注和接触各种新的技术。

六、 架构师沟通能力很强。

七、 架构师对从事的行业的业务要有深刻的了解。

换个角度看看这些要求把:

第一条要求你是个优秀的程序员。

第二、第三条要求你要懂DBA,运维都需要懂的知识。

第四条要求你是个项目经理。

第五条要求你是个技术全才,不仅学的要深,还要学的广。

第六条、第七条要求你熟悉公司业务人员、产品人员要懂的知识。

这个要求太高了,架构师就相当于战争中的司令员的位置,是整个团队的核心和灵魂,这种技术要求甚至技术总监和CEO都不具备,唯一要求少点的就是管理能力,如果再具备管理能力,那就甚至能超过技术总监和CTO了,而中国不乏管理人才,怪不得有人总结说,中国没有合格的架构师呢,也难怪,大概算一算,这种要求相当于一个人学6个人的知识,并且都能达到专业的水平,这就意味着你的领悟能力和学习能力,要高于常人几倍!所以说,成为架构师确实需要天分啊。

再具体到.NET架构师,我归纳一下要学的知识:

成为优秀程序员,需要学好的知识:

1、 面向对象编程、UML画图、设计模式、代码重构

2、 常用ORM工具

3、 MVC,WCF,XMl, JQuery ,SQL以及性能优化

4、 FrameWork一些深入的知识

5、 高性能代码,比如静态化,MemCached等手段。

6、 最好也了解一些其他语言,比如Java,PHP等。

成为DBA,需要学好的知识:

1、 常用数据库,MSSQL、MySQL、Oracle,性能调优熟练,备份、负载均衡、集群、容灾熟练

2、 大数据量处理熟练

3、 各种数据库监控软件

成为运维,需要学好的知识:

1、 各种Web负载均衡的硬件,比如F5,软件,比如Nginx等原理和配置

2、 反向代理加速,比如SquID等

3、 操作系统,Linux是必须懂的,各种好的工具都在Linux下。

4、 各种性能监控软件。

成为产品和业务以及项目经理,需要学好的知识:

1、 沟通和理解能力。

2、 该行业和本公司的业务逻辑。

3、 软件工程的知识。

4、 质量控制、进度控制、人员组织等。

看来想成为合格的Web架构师,需要学太多东西了,只有一条路可走--持续不断的修炼和学习。

另外学习中,采用先深后广的策略是明智的选择,一门学深了,其他知识可能都会融会贯通,那样比较的学起来会很快。否则可能陷入知识的海洋里,没准淹死了。

总体的看来,Web架构,分为服务器架构和程序架构两个方面的架构,一般的Web架构师还是偏向程序架构,因此学好语言,程序架构是基础,学好了这些,做一个合格的架构师没大问题,毕竟DBA,运维的东西在公司都有专业的人在干。

所以深度还是要深入学习编程的知识、软件架构知识,有了这个基础后,Web架构师应该在大数据量、高并发、高负载、以及高容错方向再有所了解和涉及,再返过来促进我们对软件架构的思考,这种深-广-深-广的模式是我们学习的方法,只要坚持不懈努力几年,做真正合格的Web架构师是没大问题的。

时间: 2024-11-12 18:37:52

学习成为一个IT架构师的相关文章

阿里Java架构师谈谈架构和如何成为一个Java架构师

架构的定义 我们来看看软件架构的一般定义: 程序和计算系统软件体系结构是指系统的一个或多个结构. 该结构包括软件的构建,构建的外部可见属性以及它们之间的相互关系. 该体系结构不是可操作的软件. 具体来说,这是一个表达式,它使软件工程师能够: 分析满足监管要求的设计有效性. 在设计更改相对容易的阶段,请考虑架构的可能选项. 降低与软件构建相关的风险. 软件架构的重要性 我为什么说软件架构非常重要? 直接编程直接开发,请多看看以下几点?: 软件架构可以满足系统的质量 体系结构设计允许受益者达成一致的

作为一个性能架构师推荐大家看的基本性能测试必备书籍

阿里架构师告诉你最新Java架构师学习路线图

1.Java架构师是什么?要想往Java架构师的方向发展首先要知道Java架构师是什么?Java架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物.一个Java架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单.Java架构师在软件开发的整个过程中起着很重要的作用.说的详细一些,架构师就是确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节.扫清主要难点的技术人员.主要着眼于系统的"技术实现

ArchSummit全球架构师峰会2017年深圳站 漫谈

自去年6月跳槽到某CDN厂,从偏向移动端开发又回到了专注后端,关于做一个移动应用独立开发者的计划暂时搁置,但是如马云所讲: "梦想还是要有的,万一实现了呢".去年下半年辛苦加班加点干活,但是却乐于其中,随着团队规模扩大,现在负担小多了.不仅仅是涉及时髦的大数据技术,而是体会到了很多非纯粹编码的道,不再死守XX编程语言,毕竟产出效率为王,更何况虽然是在大公司内,但实际也可看作是创业部门,除了极个别领域,大部分是业务驱动产品开发,技术仅仅是作为落地的工具,技术随着产品演化到某个阶段也会随着

转:每个架构师都应该研究下康威定律

今天的分享主要来自我之前的工作经验以及平时的学习总结和思考.我之前的背景主要是做框架.系统和平台架构,之前工作过的公司 eBay.携程.唯品会都是平台型互联网公司,所以今天主要带着平台架构视角和大家分享心得体会.架构的视角每个人都不一样,可以说一万种眼光,有业务架构.安全架构.平台架构.数据架构,各不相同,这里仅是我的一家之言,欢迎大家加入『聊聊架构』社群参与讨论.今天聊的话题主要包括以下几点: 我对架构定义的理解 架构的迭代和演化性 构建闭环反馈架构(Architecting for clos

架构师修练 I - 超级代码控

可实现的是架构,空谈是概念 So don't tell me the concepts show me the code!  “不懂编码的架构师不是好架构师” 好架构师都是超级代码控. 代码是最好的老师 从代码中学习设计的思想.方法是提升类库设计能力.印证你所了解的概念与理论这就是架构师看代码的观点. 基本准备 一个类库可能有数千个类上万个方法,应该如何去看呢? 在看代码前我们需要进行一些什么样的准备呢 ? 设计模式 - 最标准的23种设计模式基本上要有一个了解,可能一下子不能理解他们的用法,但

架构师多如过江之鲫,但你真的了解架构师这个工种吗(转自炼数成金)

在今天的互联网圈,可能随便遇到一个人递给你一张名片,title就是某某架构师.架构师多如过江之鲫,也正是眼下业内一个有趣的现象.对于架构师,你有什么看法? 当我第一次和InfoQ约写一个关于架构师的稿子时,我很是愣了几分钟,虽然我自已的职业生涯经历过几次不同的架构师岗位,也组建过架构师团队.但是,当我要将其落到纸面上时,却发现今天我所看到的在行业内的架构师实在是千差万别,甚至鱼龙混杂,在方向.技能.经验.学术.成就上的差异也犹如云泥之别,于是,今天我想和大家交流一下我对架构师的一些看法. 老司机

系统网站架构(淘宝、京东)& 架构师能力

来一张看上去是淘宝的架构的图: 参考地址:http://hellojava.info/?p=520 说几点我认可的地方: 架构需要掌握的点: 通信连接方式:大量的连接通常会有两种方式: 1. 大量client连一个server 在现如今NonBlocking-IO这么成熟的情况下,一个支持大量client的server已经不那么难写了. 有一个点要特别注意,就是当server挂掉的时候,不能出现所有client都在一个时间点发起重连,那样基本就是灾难. 通常可以采用的方法是client重连前都做

全栈软件工程师和系统架构师的异同

看完后.发现.不用怕....因为程序员不会看完.只有"架构师"才有耐心看这么长的. 一 每个好架构师都是一位出色的程序员(卓越的程序员) 架构师,听起来是如此神秘的一个称号.尤其是在开发领域刚入门不久的菜鸟级程序员眼中,架构师都是高手,都是牛人,都是如此高高在上的存在. 不过,在搞了四.五年编程之后,程序员们往往早已失去了当年对这些"高级"职位的神秘感,甚至会对自己所在项目的架构师抱怨不已,背后里称他们是一群水王.所以有江南白衣曾撰文述说:"国内的架构师到