架构师

架构师

  系统架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。

工作职能编辑

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

架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。

重要作用编辑

  软件架构师在整个软件开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化,在需求阶段,软件架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查客户及市场人员所提出的需求,确认开发团队所提出的设计;在需求越来越明确后,架构师的关注点开始转移到组织开发团队成员和开发过程定义上;在软件设计阶段,架构师负责对整个软件体系结构、关键构件、接口和开发政策的设计;在编码阶段,架构师则成为详细设计者和代码编写者的顾问,并且经常性地要举行一些技术研讨会、技术培训班等;随着软件开始测试、集成和交付,集成和测试支持将成为软件架构师的工作重点;在软件维护开始时,软件架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策。

具体要求编辑

  首先必须具有丰富的软件设计与开发经验,这有助于理解并解释所进行的设计是如何映射到实现中去。

其次要具有领导能力与团队协作技能,软件架构师必须是一个得到承认的技术领导,能在关键时候对技术的选择作出及时、有效的决定。

第三是具有很强的沟通能力,其实这一点好像什么角色都最好具备,软件架构师需要与各路人马经常打交道,客户、市场人员、开发人员、测试人员、项目经理网络管理员、数据库工程师等等,而且在很多角色之间还要起沟通者的作用。在技术能力方面,软件架构师最重要也是最需要掌握的知识是构件通信机制方面的知识,比如远程过程调用(RPC,Remote Procedure Call)、JAVA RMI、CORBA、COM/DCOM、各种标准的通信协议、网络服务、面对对象数据库、关系数据库或者NoSQL数据库等等,另外,架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法。开发语言、设计模式和开发平台不断很快地升级,软件架构师需要吸收这些新技术新知识,并将它们用于软件系统开发工作中。当然,行业的业务知识对软件架构师也是很重要的,有助于设计出一个满足客户需求的体系结构,优秀的软件架构师常常因为要尽快获得对行业业务的理解而必须快速学习并且进行敏锐的观察。

但作为一个架构师,在整个软件系统的开发过程中是乐趣无穷的,因为这个角色很具有挑战性,有时需要左右逢源、八面玲珑,有时又需要果断坚定、不留情面。在国内,较少软件企业拥有独立的架构师,通常一个软件高手身兼数职,既是项目经理,又是软件架构师,还是软件开发者,有时还要客串一个测试人员,这对软件的开发周期和产品质量是不利的,有时一个人的观点立场是很片面的,而且繁重的工作、沉重的压力会影响一个人的情绪,情绪会影响决策,决策影响结果,所以值得我们三思而后行。

培养过程编辑

  架构师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。总结架构师自我培养过程大致如下,仅供参考。

1、架构师胚胎(程序员)

学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括javacc++umlRUP、XML、socket通信(通信协议)——学习搭建应用系统所必须的原材料。

2、架构师萌芽(高级程序员)

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

3、架构师幼苗(设计师)

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

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

具备能力编辑

一般来讲,系统架构师应该拥有以下几方面的能力:

1:具备 8 年以上软件行业工作经验;

2:具备 4 年以上 C/S 或 B/S 体系结构软件产品开发及架构和设计经验;

3:具备 3 年以上的代码编写工作经验;

4:具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验;

5:对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握;

6:具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟练使用 Rational Rose、PowerDesigner 等工具进行设计开发;

7:精通大型数据库如 Oracle、Sql Server 等的开发;

8:对计算机系统、网络和安全、应用系统架构等有全面的认识,熟悉项目管理理论,并有实践基础;

9:在应用系统开发平台和项目管理上有深厚的基础,有大中型应用系统开发和实施的成功案例;

10:良好的团队意识和协作精神,有较强的内外沟通能力。

架构师的隐形职责

1、为技术部门提供技术支持

2、在最需要的时刻去攻克最艰巨的技术壁垒

3、幕后项目经理

4、业务部门与技术部门间的粘合剂

5、业务发展的催化剂

主要分类编辑

软件架构师

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

信息架构师

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

网站架构师

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

发展现状编辑

  在我国,随着软件业规模的不断扩大,软件人才结构性矛盾将更加突出。国家人事部门预计到2005年我国软件产业的规模将达到2500亿元,全国计算机应用专业人才的需求每年将增加百万人左右。其中,架构师这样的专业高级人才每年培养人数全国不过数百名,缺口非常之大,而其中尤其以Java架构师缺口最为明显。

众所周知,Java是当前最热门的软件开发语言,它具有跨平台、面向对象、强大的网络功能等特性。你不仅能在电脑上使用Java程序,还能在手机、PDA、家用电器上使用Java程序,甚至举世瞩目的火星车也全部采用Java技术。Java在不到10年时间内已经变成最流行的软件开发平台,最新的企业级Java 2.0版本(简称:J2EE)也成为企业应用系统上最受欢迎的开发标准。

事实上,全世界范围内的J2EE架构师都是紧缺的人才,只是中国更加明显而已。在英国,有经验的J2EE架构师,平均年薪已经飙涨到七万至十万英镑。全球著名的电子商务平台提供商SilverStream软件公司的技术服务总监Mark Ashton对J2EE人才的短缺深有感受,他表示许多求职者的履历表上都有把J2EE列进去,但是仔细查看或是面试之后就会发现大多数人只是听过J2EE,并没有真正用过这些技术。信息产业部电子信息产品管理司副司长丁文武也表示,我国Java人才还远远不够,至少短缺20万。特别是随着大量软件外包业务进入中国,许多外资或中资软件企业也开始面临着高级Java人才奇缺的问题,尤其是熟悉J2EE又能掌握一门相应外语的人才成为了众多大公司争抢的对象。 作为Java的发明者和Java开发标准的主要制定者——美国Sun公司对从事Java开发的技术人员提供了三级认证体系,即初级的程序员认证(SCJP)、中级的开发员认证(SCJD和SCWD)和高级的架构师认证(SCEA)。这也是软件行业中最权威的国际认证之一。

参考资料
时间: 2024-07-30 10:17:11

架构师的相关文章

周爱民:真正的架构师是没有title的(图灵访谈)

周爱民,现任豌豆荚架构师,国内软件开发界资深软件工程师.从1996年起开始涉足商业软件开发,历任部门经理.区域总经理.高级软件工程师.平台架构师等职,有18年的软件开发与架构.项目管理及团队建设经验,曾任盛大网络平台架构师.支付宝业务架构师,是 Borland Delphi 产品技术专家,也是 Qomo 开源项目(JavaScript)的发起者.2003年5月被美国 Borland 公司授予「Borland Delphi 产品专家」称号,并授予「论坛特别贡献奖」.著有<大道至简——软件工程实践者

java架构师、高性能、高并发、高可用、高可扩展、性能优化、集群、电商网站架构

15套java架构师.集群.高可用.高可扩展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布式项目实战视频教程 视频课程内容包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat.Spring.MongoDB.ZeroMQ.Git.Nosql.Jvm.Mecached.Netty.Nio.Mina.性能调优.高并发.to

优云软件助阵ArchSummit全球架构师峰会(内附大会演讲PPT)

由极客邦科技与 InfoQ 中国主办的 ArchSummit 全球架构师峰会深圳站,于 7 月 7 日 - 8 日在深圳华侨城洲际酒店举办. 本次大会特邀 100 多位国内外技术专家,与1000余名技术管理者.架构师共同分享和交流新技术在行业应用中的最新实践,助力企业技术选型.业务升级与顺利转型.作为ArchSummit大会的高级合作伙伴,优云软件受邀参加本次峰会. ▲峰会现场 优云是广通软件旗下全新一代创新型运维品牌,致力于为客户提供一站式的IT运维解决方案.在此次大会上,向参会者和国内外嘉宾

CSDN日报20170509 ——《互联网时代架构师的职责与思考》

[程序人生]互联网时代架构师的职责与思考 作者:木小鱼 在当下的互联网时代,架构师是互联网行业的热点关键词,人云亦云者居多,那互联网架构师到底是做什么的,如何来评价互联网架构师的优劣呢? 点击阅读全文 [Android]手把手教你构建 Android WebView 的缓存机制 & 资源预加载方案 作者:Carson_Ho 由于H5具备 开发周期短.灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid 开发,但我知道你一定在烦恼 A

架构师米洛:你不经意的职场坏姿势会损坏你的身体

老祖宗经常教育我们:要站如松坐如钟.培养正确的身体姿势,会让你更有气质笔挺站立,你会显得更高挑. 同时姿势还会影响别人对你的看法,肩膀挺直坐着的人,看上去放松而且充满自信,瘫坐在椅子上的人看起来懒散.冷淡.有距离感.职场上坐姿端正的人总会让人感觉更加有气派. 好姿势可以提升骨骼健康当你瘫坐时,多余的压力都集中在脖子和脊椎上,时间久了,可能产生轻微的背部疼痛:不良的走姿.跑姿容易使关节磨损,脊椎也会因此受到来自四面八方的"坏压力",从而压迫神经和血管. 好姿势能让内脏"松口气&

架构师米洛:如何让你的同事对你越来越好

人在江湖漂,哪有不挨刀.如果天天都挨刀,那就不好了. 职场也遵守一个丛林法则,大家抱团取暖,在这个小天地里谋生活.从理论上来说,我们不可能获得所有同事的喜欢,但是,获得一些同事的支持也并不是难事. 俗话说,一个好汉三个帮,一个篱笆三个桩,千万不要小看了与同事的关系处理,这可是一门大学问. 就拿程序员和测试MM来说吧,很多人都知道,一般测试MM的脑回路比较短,而且技术上一般没有开发人员强,所以呢,提问题的时候,难免会比较直接.网络上盛传的报BUG的礼仪,不知道你看到没?咱们来看看 请不要对一个程序

架构师米洛:不懂技术的人不要对懂技术的人说这很容易实现

这是一篇很好的文章.在IT滚了好多年的我,面对非技术人员的催问,这东西做起来难不难的时候,如果我做过我会告诉这东西不难.如果我没做过,我不会说什么,可是这根本满足不了非技术人的好奇心. "这个网站相当简单,所有你需要做的就是完成X,Y,Z.你看起来应该是技术很好,所以,我相信,你不需要花费太多时间就能把它搭建起来." 我时不时的就会收到这样的Email.写这些邮件的人几乎都是跟软件开发技术不沾边的人,或正在研究他们的第一个产品. 起初,当听到人们这样的话,我总是十分的恼怒.他们在跟谁辩

从零开始学架构(一):架构师成长路径

内容摘要从架构的本质,软件工程,架构师职责,成长路径等方面,介绍什么是架构,架构流程以及架构师职责和成长规划. 本篇主题一.什么是架构二.项目中的角色三.架构师职责和工作内容四.架构工作流五.架构师成长路径六.架构能力模型七.扩展知识八.本章总结 一.什么是架构架构是系统的蓝图,描述了系统的结构和关键决策.包含系统的功能和非功能性需求,如何实现的,系统与子系统是如何划分的,系统之间如何通信的,系统功能如何设计的和交互的.包含重要的架构决策,系统组成,功能设计,技术选型,成本分析等架构的基础是设计

老兵不死,只是凋零:前九枝兰架构师王晓辉

他曾是以一位人民教师,他是程序开发界的一名老兵,你可能没有听过他,他有着十多年的开发经验,先后在做过计算机老师,并且在私企.外企.互联网公司.创业公司里做程序开发和技术管理工作."惟正己可以化人,惟尽己可以服人."他就是本期程序员客栈专访前九枝兰架构师,王晓辉:https://www.proginn.com/community/topics/356 1,程序员客栈王鑫:我还是叫你老师吧,您先做个自我介绍 王晓辉:大家好,我是王晓辉,毕业后当过两年的高中老师,于2006年辞职到北京从事专

[转]《一线架构师实践指南》—— 读后总结

原文:<一线架构师实践指南>—— 读后总结 之前总觉得架构是一件很高大上的工作,跟普通的编码设计不太一样.前一段实践,自己也尝试做过架构的工作,可惜经验不足导致架构非常混乱.这里读完这本书,大体上对架构的工作有所了解,也稍微摸清了些门道. 我理解的架构 我理解的架构就是基于某些需求,设计代码的基础框架.既然是基于需求,那么肯定要面临不少需求的扩展以及变更,这时就需要架构能够灵活方便的适应变化.因此,架构的工作我的理解更多的是提前预料到未来的变化,提前做好改变的准备. 架构设计的大体思路为: 时