各位老铁们好,相信很多人对j2ee架构师都不是特别的了解,因此呢,今天就来为大家分享下关于j2ee架构师以及j2ee架构设计的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
本文目录
软件架构师主要是做什么啊
软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。根据“第三届中国软件工程大会”的报告,在中国,未来五年,高端软件人才需求缺口达20万。而每年自动成长起来的软件架构师只有几百人,可见市场需求的巨大。
扩展资料:
架构师的主要任务:
1、领导与协调整个项目中的技术活动(分析、设计和实施等)
2、推动主要的技术决策,并最终表达为软件构架
3、确定和文档化系统的相对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图”
参考资料来源:百度百科-软件架构师
参考资料来源:百度百科-软件工程
电子商务架构师是什么
电子商务架构师在整个电子商务开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化,在需求阶段,架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查和客户及市场人员所提出的需求,确认开发团队所提出的设计;在需求越来越明确后,架构师的关注点开始转移到组织开发团队成员和开发过程定义上;在软件设计阶段,架构师负责对整个软件体系结构、关键构件、接口和开发政策的设计;在编码阶段,架构师则成为详细设计者和代码编写者的顾问,并且经常性地要举行一些技术研讨会、技术培训班等;随着软件开始测试、集成和交付,集成和测试支持将成为软件架构师的工作重点;在软件维护开始时,软件架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策。
必备条件
架构师的形成是在实践中锻炼起来的,需要相当的技术水平和多年的实际经验,而并非上了几次培训班,读了几本书就可以成功的。显而易见,在软件开发过程中,一个优秀软件架构师的重要性是不应低估的。那么如何成为优秀的软件架构师呢?
领导能力与团队协作技能,软件架构师必须是一个得到承认的技术领导,能在关键时候对技术的选择作出及时、有效的决定。
-具有很强的沟通能力,其时这一点好象什么角色都最好具备,软件架构师需要与各路人马经常打交道,客户、市场人员、开发人员、测试人员、项目经理、网络管理员、数据库工程师等等,而且在很多角色之间还要起沟通者的作用。在技术能力方面,软件架构师最重要也是最需求掌握的知识是构件通信机制方面的知识,比如远程过程调用、JAVARMI、CORBA、COM/DCOM、各种标准的通信协议、网络服务、面对对象数据库、关系数据库等等,另外,架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法。开发语言、设计模式和开发平台不断很快地升级,软件架构师需要吸收这些新技术新知识,并将它们用于软件系统开发工作中。当然,行业的业务知识对软件架构师也是很重要的,有助于设计
-出一个满足客户需求的体系结构,优秀的软件架构师常常因为要尽快获得对行业业务的理解而必须快速学习并且进行敏锐的观察。
上面的描述是枯燥乏味的,但作为一个架构师,在整个软件系统的开发过程中是乐趣无穷的,因为这个角色很具有挑战性,有时需要左右逢源八面玲珑,有时又需要果断坚定不留情面。在国内,较少软件企业拥有独立的架构师,通常一个软件高手身兼数职,既是项目经理,又是软件架构师,还是软件开发者,有时还要客串一个测试人员,这对软件的开发周期和产品质量是不利的,有时一个人的观点立场是很片面的,而且繁重的工作、沉重的压力会影响一个人的情绪,情绪会影响决策,决策影响结果,所以值得我们三思而后行。
构架师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。总结构架师自我培养过程大致如下。
1、构架师胚胎(程序员)
学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c、uml、RUP、XML、socket通信(通信协议)——学习搭建应用系统所必须的原材料。
2、构架师萌芽(高级程序员)
学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejb、corba、com/com、webservice(研究生可以研究网络计算机、高性能并发处理等内容)
3、构架师幼苗(设计师)
应该在掌握上述基础之上,结合实际项目经验,透彻领会应用设计模式,内容包括设计模式(c版本、java版本)、ejb设计模式、J2EE构架、UDDI、软件设计模式等。在此期间,最好能够了解软件工程在实际项目中的应用以及小组开发、团队管理。
4、软件构架师的正是成型在于机遇、个人努力和天赋软件构架师其实是一种职位,但一个程序员在充分掌握软构架师所需的基本技能后,如何得到这样的机会、如何利用所掌握的技能进行应用的合理构架、如何不断的抽象和归纳自己的构架模式、如何深入行业成为能够胜任分析、构架为一体的精英人才这可不是每个人都能够遇上的馅饼……
基本认证
众所周知,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)。这也是软件行业中最权威的国际认证之一。目前国内已经有针对美国Sun公司认证体系的培训,但绝大多数主要针对初级的程序员认证,只有极少数专业培训机构能够提供三层完整培训。
具备能力折叠编辑本段
一般来讲,系统架构师应该拥有以下几方面的能力:
1:具备 8年以上软件行业工作经验;
2:具备 4年以上 C/S或 B/S体系结构软件产品开发及架构和设计经验;
3:具备 3年以上的代码编写工作经验;
4:具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验;
5:对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握;
6:对.Net/JAVA技术及整个解决方案有深刻的理解及熟练的应用,并且精通WebService/J2EE架构和设计模式,并在此基础上设计产品框架;
7:具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML和 ROSE,熟练使用 Rational Rose、PowerDesigner等工具进行设计开发;
8:精通大型数据库如 Oracle、Sql Server等的开发;
9:对计算机系统、网络和安全、应用系统架构等有全面的认识,熟悉项目管理理论,并有实践基础;
10:在应用系统开发平台和项目管理上有深厚的基础,有大中型应用系统开发和实施的成功案例;
11:良好的团队意识和协作精神,有较强的内外沟通能力。
架构师的隐形职责
1、为技术部门提供技术支持
2、在最需要的时刻去攻克最艰巨的技术壁垒
3、幕后项目经理
4、业务部门与技术部门间的粘合剂
5、业务发展的催化剂
Java架构师需要具备哪些能力
具备 8年以上软件行业工作经验;
具备 4年以上 C/S或 B/S体系结构软件产品开发及架构和设计经验;
具备 3年以上的代码编写工作经验
具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验
对相关的技术标准有深刻的认识,对软件工程标准规范有良好的把握
对.Net/JAVA技术及整个解决方案有深刻的理解及熟练的应用,并且精通WebService/J2EE架构和设计模式,并在此基础上设计产品框架
具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML和 ROSE,熟练使用 Rational Rose、PowerDesigner等工具进行设计开发;
精通大型数据库如 Oracle、Sql Server等的开发;
Java架构师要求是很高的,除了要精通JAVA方面知识以外,还要掌握计算机所有软件方面,以及部分硬件方面的知识。
程序设计方面:JAVA、JAVA Application、JAVA EE(例如:EJB、RMI、JMS、WebService)、开源、设计模式、JavaScript、C/C++、.NET方面、VBA。
数据库方面:SQL、ORACLE、MySQL、索引、分区、分片、主从、存储过程。
网络及浏览器:TCP/IP协议、HTTP协议、FTP、HTML、XML、浏览器。
操作系统:Linux系统、Shell/批处理、文件系统(各种)、SSH。
中间件:Tomcat、Apache、Nginx、lighthttpd、JBoss、WebSphere、Weblogic、IIS。
技术和思想:各种算法、搜索、缓存、多线程、UML、OO、SOA、AOP、REST、存储、云计算等。
业务方面:论坛、博客、社交、电子商务、应用程序等。
其它方面:计算机基础知识、计算机硬件方面。
个人软素质:经验、问题分析、大局观、心态等。
企业需求:
网络架构师是什么工作
问题一:网络架构师是做什么的?网络架构师英文叫Internet architect。
平时的工作就是负责网络技术架构选型、并主导功能模块设计、数据结构设计、对外接口设计;负责与相关技术合作团队的技术协调;对各种前瞻技术进行预研并形成企业内部是否引入以及如何引入的建议;负责现有产品的的运营数据分析、用户反馈收集和功能优化;负责跟踪竞争对手动态、新产品调研分析;负责协调网站产品的创意、策划、改版、网站系统功能策划等工作;负责网站产品栏目、需求的分析规划和细化工作;负责项目上线后的日常运营管理,提供不同阶段栏目规划和实施状态报告;负责优化项目的用户体验,提升亲和力和易用性。
大学专业学的是计算机专业。年薪10-15万。适合有出色的组织能力和表达能力,良好的沟通技巧,能够承受工作压力,良好的沟通、协调能力和团队协作精神,逻辑分析能力强,具备快速抽象业务和分析问题的能力的人去做。
问题二:什么是网站架构师 1、负责交友网站的整体技术设计、开发工作;
2、协助项目经理确保产品的质量和开发;
3、计算机信息管理及相关专业,本科以上学历,两年相关工作经验;
4、敬业认真,有志于互联网行业发展及开创事业;
5、能对互联网网站项目进行专业策划,表达能力、文案写作能力强。
问题三:架构师的职责是什么软件构架师是技术主管
首先,软件构架师是技术主管,这意味着除了他要有技术上的技能外,还要有很好的领导才能。构架师的领导能力在团队中和项目质量控制中起着十分重要的作用。
在团队中,构架师是项目的技术总管,他需要有丰富的知识背景,以便作出技术上的决定。相对于构架师来说,项目经理是来管理项目的资源,时间进度和花费的。使用电影制作来做类比的话,项目经理就是制片人(他要确定工作被完成了),而构架师是导演(他需要确定工作被正确的完成)。由于他们在项目中所处的位置,构架师和项目经理是公众人物,在一个团队中,他们是整个项目所涉及的所有人员的联系枢纽。构架师应该为建立软件构架争取投资,并且要明确建立软件构架能给组织带来的价值。
构架师还要把团队组织在构架周围,并且要积极地投入到计划活动上,因为要把构架转化成为完成任务的先后顺序,这样才能及时地确定在什么位置需要什么技术。有一点需要注意,由于构架师能否成功与团队的整体水平有很大关系,所以构架师应该参与团队新成员录用的面试。
根据构架师所拥有的能力,他可以同时参与其他团队的工作。构架师需要根据具体的实例情况来做领导决定,并且在决定过程中要展现出足够的自信。一个成功的构架师是以人为导向的,并且像一个教练一样给他的团队安排工作时间。这对于小组的成员来说是有好处的,他们可以及时得到帮助。这是整个团队的一个巨大财富。
构架师还要把精力放在切实工作的交付上,他是技术方面的推进力量。构架师需要做决定(经常需要在压力下做决定),并且要保证这些决定是经过成员之间的交流的,并且确保它能够执行。
架构师可能是有一个小组来完成的
下面介绍一个人和一个角色的区别。一个人可以扮演很多角色(例如,Mary是一个开发人员,同时也是一个测试人员),同时,一个角色可以有很多的人扮演(例如,Mary和John都是测试人员)。构架师的角色需要非常广泛的技术,这就为什么构架师的角色经常是很多人同时担当。这样可以使技术知识在小组中传播开来,每一个人都把他的或者她的经验带到工作中。特别是当某种技术同时被商业部门和技术小组理解的时候,这项技术就会最大程度的传播开来。小组所作的结果,需要被平衡。贯穿整个文章的术语构架师,是指的一个人或者整个小组的成员。
[一个小组]是一些拥有各种技术的人的***,他们之间有共同需要完成的目标,并且之间相互负责任。 2
如果一个小组来担当构架师的角色,那么就需要有一个人作为这些构架师的领导,他要拥有整体的前景,并且需要调节构架师小组之间的问题。如果没有这种调节,构架师小组成员之间就会存在危险,他们可能不会建立出一个紧密地构架或者决策不会被成功的完成。
现在有一个新的概念在构架师小组中被提出:为了使成员之间达到共同的目的和目标,团队为构架师小组建立并发布了一个章程。 3
好的构架师知道自己的强项和弱点在哪里。无论构架师的角色被一个人还是一个小组担当,他们背后都有值得信赖的顾问的支持。他们可以通过和其他构架师协同工作来弥补自身在某些技术方面的不足。最好的构架通常是被一个构架师小组建立的,而不是一个人。原因很简单,一个小组的力量总要比一个人的知识丰富的多。
构架师小组的概念有一个缺陷,他们有时被团队中的其他埂认为是在象牙塔里工作,因为他们的产品经常是很有智慧的但却没有使用价值。这种误解可以从开始就把它减到最小:1)确保所有的涉众都能积极地协商,2)不断的交流构架和它的价值,3)在执行过程中要有组织策略的意......>>
问题四:谁能准确的告诉我架构师是什么?架构师一般分技术架构师和业务架构师,技术架构师又分软件架构师和系统架构师(网络架构师)
软件架构师一般就是只采用什么语言开发,用什么开发框架,用什么数据库等
系统架构师就是用大型机来跑还是用多个小型机或者工作站部署程序,攻多大的带宽,用电信的网络还是网通的网络等。
业务架构师可以理解为产品架构了,譬如需要开发什么功能,功能的流程应该怎样描述,功能与功能之间应该怎么关联等。
当然,除了特别大的公司,一般的公司很少划分的这么清楚的,一般就是一个架构师包打天下。而这样的架构师往往偏向于软件架构师的方向。
问题五:软件架构师主要是做什么啊?你既然已经工作了,我觉得你就应该多少了解一点把,一般公司也都有架构师的存在呀。
架构师主要工作算是系统分析师,制定架构,以及开发时使用框架,类似于工程里面的总设计师。
确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。
要求你就必须从程序员转型到架构师,可以看看一些架构师的书,其实最做的来源于你平时的积累。对技术理解很透彻。另外就是对框架特别熟悉。当然这些都必须你拥有很丰富的项目经验
问题六:架构师是主要做什么工作的,需要有哪些方面的知识架构师首先必须具有丰富的开发经验,是个技术主管。因为他必须清楚什么是可以实现的,实现的方式有哪些,相应的难度怎么样,实现出来的系统面对需求变化的适应性等一系列指标。另外,需要对面向过程、面向对象、面向服务等设计理念有深刻的理解,可以快速的察觉出实现中的问题并提出相应的改进(重构)方案(也就是通常说的反模式)。这些都需要长期的开发实践才能真正的体会到,单从书本上很难领会到,就算当时理解了也不一定能融会到实践中去。
在技术能力上,软件架构师最重要也是最需要掌握的知识是构件通信机制方面的知识,包括进程内通信(对象访问、函数调用、数据交换、线程同步等)以及进程外(包括跨计算机)的通信(如RMI、D、Web Service)。在WEB应用大行其道的今天,开发者往往对服务器间的通信关注的比较多,而对进程内的通信较少关注。进程外跨机器通信是构建分布式应用的基石,它是架构设计中的鸟瞰视图;而进程内的通信是模块实现的骨架,它是基石的基石。如果具体到一个基于.Net企业级架构设计,首先需要的是语言级别的认识,包括.NET的CLR、继承特性、委托和事件处理等。然后是常用解决方案的认识,包括ASP.NET Web Service、.NET Remoting、企业服务组件等。总之,丰富的开发实践经验有助于避免架构师纸上谈兵式的高来高去,给代码编写人员带来实实在在的可行性。
其次,具有足够的行业业务知识和商业头脑也是很重要的。行业业务知识的足够把握可以给架构师更多的拥抱变化的能力,可以在系统设计的时候留出一些扩展的余地来适应可能来临的需求变化。有经验的设计人员可能都碰到过这样的事,一厢情愿的保留接口在需求变化中的命中率非常低。也就是说,在系统设计之初为扩展性留下来的系统接口没能在需求变化的洪流中发挥真正的作用,因为需求的变化并没有按照预想的方向进行,到最后还是不得不为变化的业务重新设计系统。这就是因为对业务知识的理解和对市场或者商业的判断没有达到一个实用的、可以为架构扩展***的水平。
再次,架构设计师对人的关注必须提升到架构设计之初来纳入考虑的范围,包括沟通以及对人员素质的判断。软件过程是团队协作共同构建系统的过程,沟通能力是将整个过程中多条开发线粘合在一起的胶水。大家都应该碰到过事后说“原来是这样啊,我不知道啊”或者某个开发人员突然高声呼喊“为什么这里的数据没有了”之类的。沟通的目的就是尽量避免多条开发线的混乱,让系统构建过程可以有条理的高效进行。另外,对人的关注还表现在对团队成员的素质判断上,比如哪些开发人员对哪些技术更熟悉,或者哪些开发人员容易拖进度等。只有合理的使用人力资源,让合适的人做合适的事情才能让整个软件过程更加高效。
架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法、开发语言、设计模式和开发平台不断很快地升级,软件架构师需要吸收这些新技术新知识,并将它们用于软件系统开发工作中。但对新技术的探索应该在一个理性的范围内进行,不能盲目的跟风。解决方案提供商永远都希望你能使用它提供的最新技术,而且它们在推广自己的解决方案的时候往往是以自己的产品为中心,容易给人错觉。比如数据库,往往让人觉得它什么都能做,只要有了它其它什么都不重要了。但事实上并不是如此,对于小型应用可以将许多业务逻辑用script的方式放入数据库中,但很少看到大型应用采用这样的做法。对于新东西需要以一种比较的观点来判断,包括横向的比较和纵向的比较,最后得出一些性能、可移植性以及可升级等指标。另外,新入行的开发人员往往关心新技术动向而忽略了技术的历史,......>>
问题七:架构师一般会是什么级别的来面试架构师是行业中一种新兴职业,工作职责是在一个项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个开发项目的成败。一般来讲,系统架构师应该拥有以下几方面的能力: 1:具备 8年以上行业工作经验; 2:具备 4年以上 C/S或 B/S体系结构产品开发及架构和设计经验; 3:具备 3年以上的代码编写工作经验; 4:具备丰富的大中型开发项目的总体规划、方案设计及技术队伍管理经验; 5:对相关的技术标准有深刻的认识,对工程标准规范有良好的把握; 6:对.Net/JAVA技术及整个解决方案有深刻的理解及熟练的应用,并且精通WebService/J2EE架构和设计模式,并在此基础上设计产品框架; 7:具有面向对象分析、设计、开发能力(OOA、OOD、OOP),精通 UML和 ROSE,熟练使用 Rational Rose、PowerDesigner等工具进行设计开发; 8:精通大型数据库如 Oracle、Sql Server等的开发; 9:对计算机系统、网络和安全、应用系统架构等有全面的认识,熟悉项目管理理论,并有实践基础; 10:在应用系统开发和项目管理上有深厚的基础,有大中型应用系统开发和实施的成功案例; 11:良好的团队意识和协作精神,有较强的内外沟通能力。
问题八:4g网络高级架构师是什么职位?网络系统架构以行业需求为核心,提出以实训为主的教学模式,在实训项目经理的指导下利用真实的企业项目案例(电力行业网络构建项目、电信网络构建项目、校园网络建设项目、金融网络建设项目等)。以实训员工的身份融入项目实战中,加强学员的就业竞争力。
问题九:前端架构师干什么的个人认为:
构架构架当时是网站前台页面的整体规划和构架,以及MVC设计模式,JS/Css代码的性能优化,提高代码重用性,减少代码冗余。脱离的了普通前端码工的范畴,更注重代码的优化和合理性,提高网站的相应速度。据说权威说一个网站的打开速度,前端代码优化后能提升97%。
知道他的重要性了吧!哇,仔细一看原来是08年的帖子,看来你很关注前沿技术啊,得了拿2分走人
问题十:电子商务架构师是什么电子商务架构师在整个电子商务开发过程中都起着重要的作用,并随着开发进程的推进而其职责或关注点不断地变化,在需求阶段,架构师主要负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等等,此外,架构师还要经常审查和客户及市场人员所提出的需求,确认开发团队所提出的设计;在需求越来越明确后,架构师的关注点开始转移到组织开发团队成员和开发过程定义上;在软件设计阶段,架构师负责对整个软件体系结构、关键构件、接口和开发政策的设计;在编码阶段,架构师则成为详细设计者和代码编写者的顾问,并且经常性地要举行一些技术研讨会、技术培训班等;随着软件开始测试、集成和交付,集成和测试支持将成为软件架构师的工作重点;在软件维护开始时,软件架构师就开始为下一版本的产品是否应该增加新的功能模块进行决策。
必备条件
架构师的形成是在实践中锻炼起来的,需要相当的技术水平和多年的实际经验,而并非上了几次培训班,读了几本书就可以成功的。显而易见,在软件开发过程中,一个优秀软件架构师的重要性是不应低估的。那么如何成为优秀的软件架构师呢?
领导能力与团队协作技能,软件架构师必须是一个得到承认的技术领导,能在关键时候对技术的选择作出及时、有效的决定。
-具有很强的沟通能力,其时这一点好象什么角色都最好具备,软件架构师需要与各路人马经常打交道,客户、市场人员、开发人员、测试人员、项目经理、网络管理员、数据库工程师等等,而且在很多角色之间还要起沟通者的作用。在技术能力方面,软件架构师最重要也是最需求掌握的知识是构件通信机制方面的知识,比如远程过程调用、JAVARMI、CORBA、/D、各种标准的通信协议、网络服务、面对对象数据库、关系数据库等等,另外,架构师应时刻注意新软件设计和开发方面的发展情况,并不断探索更有效的新方法。开发语言、设计模式和开发平台不断很快地升级,软件架构师需要吸收这些新技术新知识,并将它们用于软件系统开发工作中。当然,行业的业务知识对软件架构师也是很重要的,有助于设计
-出一个满足客户需求的体系结构,优秀的软件架构师常常因为要尽快获得对行业业务的理解而必须快速学习并且进行敏锐的观察。
上面的描述是枯燥乏味的,但作为一个架构师,在整个软件系统的开发过程中是乐趣无穷的,因为这个角色很具有挑战性,有时需要左右逢源八面玲珑,有时又需要果断坚定不留情面。在国内,较少软件企业拥有独立的架构师,通常一个软件高手身兼数职,既是项目经理,又是软件架构师,还是软件开发者,有时还要客串一个测试人员,这对软件的开发周期和产品质量是不利的,有时一个人的观点立场是很片面的,而且繁重的工作、沉重的压力会影响一个人的情绪,情绪会影响决策,决策影响结果,所以值得我们三思而后行。
构架师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。总结构架师自我培养过程大致如下。
1、构架师胚胎(程序员)
学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c、uml、RUP、XML、socket通信(通信协议)――学习搭建应用系统所必须的原材料。
2、构架师萌芽(高级程序员)
学习分布式系统、组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理、ejb、corba、/、webservice(研究生可以研究网络计算机、高性能并发处理等内容)
3、构架师幼苗(设计师)
应该在掌握上述基础之上,结合实际项目经验,透彻领会应用设计模式,内容包括设计模式(c版本、java版本)、ejb......>>
java架构师培训多久能学会
Java发展到一定程度,尤其是三五年这个时间节点都会遇到一个瓶颈,从这里道路分成两个方向,要么成为管理者,要么朝着技术方向继续开拓,两者的终极分别对应着CTO和架构师!
正是因为你现在所在的公司需要不需要你学会太多的技术,正如你所说,不需要大数据和高并发,Java基础和spring就能搞定。但在工作一段时间后你自己也会有危机感降临,因为这个时代大浪淘沙,各种技术不断迭代更新,你不上进就会被拍死在沙滩上。
所以你不想一成不变,你想改变,从代码搬运工晋级架构师!这也是大多数和你差不多情况的程序员的想法!
而从java初级到架构师的过程也很漫长,你到哪个阶段了?
而事实上,每个处于瓶颈的程序猿想要提升自己除了花钱好像没有其他的办法,因为到了这个瓶颈,提升技术要么自我提升要么去培训,但自我提升除了能有很靠谱的师傅或者公司里的大牛带着你,一般是没有可能实现自我升华的。网上那些架构师的课程都很弱鸡,核心的技术不会放出来的,所以现在很多架构师培训班渐渐兴起也是因为这个缘故。但大部分的机构课实在是糊弄事,那课程学了别说提升,别越学越倒回去就不错了。真正的架构师课程应该什么样?
应该这样:
Java架构师超级详细课程大纲及配套教程
最后说一下CTO和架构师
1.CTO
“CTO(首席技术官)英文Chief Technology Officer,即企业内负责技术的最高负责人。这个名称在1980年代从美国开始时兴。起于做很多研究的大公司,如General Electric,AT&T,ALCOA,主要责任是将科学研究成果成为盈利产品。1990年代,因计算机和软件公司热门,很多公司把CTO的名称给予管理计算机系统和软件的负责人。有时CTO和CIO(Chief Information Officer信息管理最高负责人)是同一个人(尤其在软件公司),有时CTO归于比较精通科学技术的CIO手下。在不同领域的公司,CTO工作性质不同;即使在同一领域,工作性质也可能大不相同。一般CTO会有以下责任:长期技术方向(战略性)、短期技术方向(战术性)、管理研究对公司经营活动和营利的影响、公司中使用的软件等等。
在国内,CTO一般在IT企业中才有,是分管技术的副总,非IT企业大都设置总工程师、技术副总这样的职位,例如在IT企业中,负责软件开发的副总也叫CTO,而技术总监则不是CTO,总监只是部门的负责人,副总是企业的负责人。而CIO是分管IT的副总,例如分管企业IT管理的副总,或者分管信息化的副总。
在国内CTO通常是由软件工程师(程序员)一步步成长起来的,而CIO通常是由IT工程师(网管)成长起来的,一个倾向于程序开发、一个倾向于IT管理。”
参考资料:百科CTO
2.架构师培养过程
架构师不是通过理论学习可以搞出来的,不过不学习相关知识那肯定是不行的。总结架构师自我培养过程大致如下,仅供参考。
1、架构师胚胎(程序员)
学习的知识是语言基础、设计基础、通信基础等,应该在大学完成,内容包括java、c、c++、uml、RUP、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、业务发展的催化剂
参考资料:架构师百科
j2ee架构师和j2ee架构设计的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!