A. 从入门到前端架构师,一般需要多少年
您好,就技术上来说,如果你是一个所从事领域的开发工程师,并且很称职,基本就够了。
现实中所谓前端架构师,其实就是高级开发的代名词。因为架构是一个整体,没有孤立的前端与后端。如果一定要这么分,就说明你的工作在这个单位的任务倾向和内容就是那么点玩意儿,而这又有多少呢?页面开发以及相关的那么点玩意儿。这点东西对技术的要求与对一个真正架构师的要求相比,太局部了,太趋近于开发。所以这种程度的所谓架构师,任何一个称职的高级程序员都可以担任。
具体几年要看老师的水平和您自己的努力了,我觉得3-5年是可以达到目标的。
B. java架构师培训多久能学会
要成为Java架构师,应该具备多方面的知识技能,特别重要的是,一定要有多个实际项目经验。需配清饥要的工作年数和个人能力有关,一般来说3到5年吧。
拿Web服务开发为例,为了满足实际需求,项目功能和架构都日趋复杂:多层架构,数据中台,动静分离,集群化部署,自动化运维,等等。
不同于一个Demo演示,用于商业、有价值的一个Web服务是功能全面的。比如常见的电商系统、信息管理系统、企业应用开发等方面,搭配Spring Boot开发框架,需要掌握如下这些重点:
1)数据库,免费开源的MySQL,收费的Oracle,其他主流数据库
2)缓存系统,Redis,MongoDB以及其它的NoSQL数据库
3)消息队列,常用的ActiveMQ,RocketMQ,RabbitMQ
4)鉴权认证,Apache Shiro或者定制开发的框架
5)异步任务调度,复杂应用使用Quartz,简单应用可使用Spring Schele
6)日志系统,常用ELK日志处理,分析报警
7)服务监控,Actuator,ZooKeeper,Dubbo等微服务架构
8)具体的行业和业务场景还有不同的功能组件,比如大数据、物联网、区块链等
云服务已经成为IT技术的核心基础设施,架构师应该具备提供云服务解决方案的能力。对新开发的系统,要符合云原生理念,充分利用云服务提供的弹性和分布式优势,赋能运营、维护和监控。
有运营价值的系统,运维工作非常重要。基于云服务的DevOps将开发和运维结合起来,架构师作为项目核心参与者,具备DevOps技能,将有效提升团队和个培返人工作效率。
以Docker容器技术为例,从代码提交、镜像构建、部署发布,架构师要负责设计实现整个流程,做到自动化、一键部署、灾备回滚等关键节点的。架构师水平越高,其负责的系统运维自动化程度越高。
#企业架正旅构师的日常#
C. 往架构师的路还需要多久
我觉得首先如果你没有设计的思想,那么很显然你就不能成为一名架构师。我们要知道架构师是一个能写得了一手好代码,要能画得了一手漂亮的UML/原型,要能写得了一手技术文档,也要能能解决好关键技术的综合性人才。
结构师=多面手
只要熟练地掌握了以上的知识点,你离成为一个架构师的路就不远了。
D. 昆明Java培训:Java架构师培训多久能学会
Java架构师培训多久能学会?首先,对于很多Java应用级程序员来说,架构师是未来一个重要的岗位升级方向,从当前Java语言的应用情况以及未来的发展趋势来看,Java架构师未来的需求量依然比较大。 E. 从程序员到架构师要经历哪些阶段
架构师是什么? F. 程序员怎么快速成为架构师
1、卓越的程序员有些架构师的设计与实现会出现断层的问题,如果架构师不去实践,只是想当然的认为“没问题,这个想法能实现”,那么对于项目的落实而言是个很大的隐患。2、抽象思维很多优秀的架构师们都一致的表示,逻辑思维和抽象思维能力是一个架构师最重要的素质。3、技术前瞻性架构师不光要着眼于现在,不仅仅局限于开发细节。而是跳出三界外,考虑面向未来问题和潜在风险的应对之道。4、问题解决大师架构师因为具有多领域知识和经验的积淀,所以在面对庞大系统之时,仍然能够敏锐的发现其底层之真实。5、多领域知识架构师身为一名技术领袖,需要通过发散知识的光芒来统御开发团队。6、沟通能力7、内力很多人理解的内力就是开发技术,包括语言的掌握、对框架的掌握、数据库管理能力、安全管理能力等等。但是我们看到,架构更多的内力体现在对技术的综合运用上,光会编程的程序员,最多就能做到高级程序员,也就是技术实现上的高手。8、权衡取舍9、管控能力架构师在管理和控制的能力上,需要有自己独到的见解,而不是简单的认为这是项目经理或者财务部门的事情。在这里架构师所需要的管理与控制,其实是从技术的角度,对一些问题的控制,特别是开发过程中的监控,而不是普通意义上的纯粹管理。10、艺术气质一个优美的系统则是可以像有机的生命一样成长的,这是因为从系统开始架构的那一刻起,架构师就考虑到这个系统以后将会面临的挑战,为系统的成长预留好空间。
G. 我是一名java程序员,想在几年内成为一个架构师,我应该怎么做看什么书注重些什么东西,请高手指点一二
小蔡:我感悟到的就是因为对软件行业不了解,所以缺少一根结实的线将自己与梦想有序地串联起来,因此很难深刻体会到目标在自己掌控下挣扎时的力量。那么,通 常程序员如何对自 H. 如何从程序员到架构师
程序员到架构师的技术成长之路分为几个典型的阶段:工程师 - 高级工程师 - 技术专家 - 初级架构师 - 中级架构师 - 高级架构师,总的成长原则是每个阶段都需要“积累经验、拓宽视野、深度思考”。
I. 成为Java高级架构师要学多久,有推荐的学校吗
java架构师需要你多各种设计模式非常熟悉,对公司的代码结构所需要的业务逻辑非陆差常熟悉,算法还是其次,关键要有很广阔早悄皮的知识面运答
J. java架构师培训多久能学会 Java发展到一定程度,尤其是三五年这个时间节点都会遇到一个瓶颈,从这里道路分成两个方向,要么成为管理者,要么朝着技术方向继续开拓,两者的终极分别对应着CTO和架构师! 最后说一下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管理。”
要想成为一名Java架构师,既需要在开发岗位上进行技术经验的积累,同时也需要有一个自主学习计划,从当前的技术发展趋势来看,Java架构师需要具备以几个方面的知识和能力:
当前在业务领域的Java开发通常要基于技术平台来展开,这些技术平台涉及到云计算(大数据)平台、物联网平台和人工智能平台等,所以对于Java架构师来说,要想完成项目的架构设计,首先需要从掌握平台知识开始。
未来在产业互联网时代,对于技术平台(尤其是云计算)的理解能力能够在很大程度上决定Java架构师的设计能力。
第二:Java架构师培训多久能学会?接口设计能力。
接口设计是Java架构师的主要工作内容之一,由于Java语言的抽象程度比较高,所以对于接口设计的要求往往比较基轿高,而且基于技睁薯术平台的接口设计与传统的接口设计也存在加大的差异,所以这部分内容也需要重点提升。
传统的Java接口设计会分成三个大的部分(层次),涉及到业务层、服务层和数据层,而基于平台的接口设计,还需要考虑如何借助于平台来实现功能扩展,需要在原有的接口设计上进一步抽象。
第三:Java架构师培训多久能学会?模块规划能力。
Java语言虽然有诸多优点,但是Java语言自身的模块化能力是比较弱的,早期的Java架构师会通过OSGI来解决这一问题,直到Java9的时候,Java语言本身才提供了模块化的功能。
对于Java架构师来说,Java模块的规划对于后期的项目扩展具有非常直接的影响,这部分设计既悉锋者需要考虑到程序本身的复用,还需要考虑如何在技术平台下工作,这比较考验架构师的设计能力。
最后,当前对于Java程序员来说,要想成为Java架构师,需要首先从云计算平台开始了解,然后进一步通过云计算平台来向大数据部分进行扩展,这个过程中也会掌握一系列技术体系(包括框架和工具),由于内容相对比较多,而且往往需要通过场景来进行锻炼,所以通常需要学习较长一段时间(一年以上)。
架构师这词其实很有意思,很多人的Title是这个,但其实我们对架构师都干什么并没有太统一的认识。往大了说,比尔盖茨当年好像也称自己为架构师,往小了说随便一个小的软件上做设计的也说自己是架构师。所以如果把这个词泛化而不局限于特定的场景,估计单是说清楚什么是架构师就要花费不少口水。下面我们用一个取巧的办法,在一个具体的场景下来看看,架构师都该干什么,而不把这个词泛化,如果在特定场景下这个角色应该干什么清楚了,那它就可以为其它场景下提供不错的参考。
我们只考虑从头开发一款产品的场景,不考虑这款产品可能是个家族,可能需要在公司里与许多东西配合这样繁琐的事情。这样问题就简化成:当我们要开发一款新产品的时候,架构师都要干些什么?为让事情更具体,我们进一步假设公司想做一个Trello,Worktile这样的协同办公工具。
在产品初期除了UI这类东西,还能明确的一些关键需求大概是这样:
简单、迅速,追求极致的用户体验,这时也许能想到看板这样的功能
打入社交元素(任务分配与沟通时打入信息流的机制)
移动端支持
公司判断:如果产品能在1年内上线,时机比较好
其他的需求呢就是感觉上肯定有,但暂时说不清楚
基于这样的简单提示,长做程序的可能脑子里会立刻冒出来无数东西,比如:
快的确保?
看板里拖动的实现?
SaaS时伸缩性的确保?
数据库中表的设计?
数据库类型的选择?
移动端的支持方式?
人员的现状?
迭代式开发的支持?
... ...
但显然不是每个事情都要在架构设计阶段搞定,否则等于是被弄蒙了,这时候架构师的一个关键职责就是要能区分出哪些东西预先需要搞定,而哪些东西则要在迭代过程中解决。
一般来讲重置成本越大,牵涉的人越多的事情越应该由架构师预先搞定,否则就容易做无用功,对开发工作产生致命伤害。具体来讲这类事情由三个核心部分组成:
选定Tech Stack
概要设计,确立分工的基础
协同方式
下面来分别解释下这三个方面的具体含义。
选定Tech Stack是指要选定包括编程语言,基本框架等一系列东西,比如Trello选完之后大致是下面这个样子:
http://www.csdn.net/article/2014-07-28/2820883
小蔡:“我感悟到的就是因为对软件行业不了解,所以缺少一根结实的线将自己与梦想有序地串联起来,因此很难深刻体会到目标在自己掌控下挣扎时的力量。那么,通 常程序员如何对自己的角色做分析呢?”
锐哥顺手在纸上画了几个图,说:“确切地说,你应该问程序员通常的发展路线是怎样 的?你们可以看看这个图(如图3-1所示),当一个初步的职业规划方案已经成型时,如果制订者目前已在一个软件公司工作,那么,对他来说进一步的提升非常 重要。首先要做的则是进行角色分析,反思一下这个职业环境对个人的要求和期望是什么,如何使自己在单位中脱颖而出。
图3-1
“通常,软件技术人员的职业发展有几个选择:专注于技术,成为技术专家;转型到技术 型销售、技术支持等;随着技术成长,从技术性管理到高级管理。这是大家都看得清楚的方向,也都在向这些方向的金字塔尖努力。
“就像烹饪鱼一样,每一个阶段目标都需要你进行角色分析,找出这一角色需要的‘配 料’,当你注意收集技术、素养等相关‘配料’后,就会成功烹饪出你所需要的目标鱼。前提是你一定要了解自己的特点和优势,就好比黄瓜种子是不可能培育成西 瓜一样。”
锐哥继续说:“这归根结底,都是以技术为基础。在扎实的技术基础上(高级软件工程 师),如果有着比较强的抽象设计能力,又打算专注于技术开发,架构师是个好的选择;如果性格更适合做管理,情商能力突出,技术型管理应该是下一步的方向。 这种发展规划属于‘瘸腿走路’的类型,各有侧重主攻发展的职业方向,也是目前一般程序员普遍采用的发展路线规划。”
小蔡认真地看着图说:“程序员职业规划还有这么多学问!我看到每个角色配合的学历, 那么学历和认证证书真的很重要吗?还有必要花钱参加社会技术培训吗?”
锐哥:“决胜点在于长期的点滴积累,认证证书、成绩、丰富的经历是求职的表面文章, 在目前软件行业里不是很看中这个,真正的‘内功’是需要规划的。至于培训,我倒是很建议直接加入软件公司,你就会学到很多实际的东西。不过,学历教育虽然 在职业生涯里不是主要的,但是随着职位的提升却有很重要的意义,能辅助拓展你的职业发展空间,而不是以此为阻碍从而失去更多的机会。 ”
“已经工作两年以上的程序员可以有几种基本的职业规划:技术专家、软件架构师、实施 顾问或销售。其中程序员最主要的发展方向是资深技术专家,无论是Java、.NET还是数据库领域,都要首先成为专家,然后才可能继续发展为架构师。尽管 架构师的职位可以工作一辈子,待遇也非常好,对于科班出身的程序员最为适合,但这种工作职位非常有限,因为在中国目前的IT行业,架构师需要的条件比较复 杂,而且需求量也比较少,这也是我国软件行业走向国际并有待成熟的因素之一。”
大熊指着另外一张图说:“这个是综合才能型发展路线图(如图3-2所示),我听说目 前国内缺乏的是管理能力和专业知识技能并驾齐驱的IT人才。是不是指着这种复合型人才?”
图3-2
锐哥说:“是的,特别是懂得运用目标管理技术的项目管理人才,既掌握核心技术又有全局掌控能 力的项目管理人才,非常难找。我建议对于大多数人来说,首先是要专,只有在技术方向上做得比较深入,才能适当做工作调整,把自己转变为某个领域的专家。
“然后,根据自己的情况,决定自己做软件架构师还是高级的顾问销售,另外一部分人可 能就会走向管理,这和个人性格与情商有关。软件优秀的管理者都必须懂得技术,掌握核心技能的人才向管理岗位转型有很大的优势,因而提升管理能力成了转型的 关键。譬如,当唐骏还是微软一名普通程序员时,就从公司发展的角度考虑,向老板提议开发了中文版Windows,最终使他从几万名工程师中脱颖而出,成为 部门经理。正如他所说,虽然是程序员,但自己不能只把自己当程序员,你可以为老板和公司着想。
“调查研究后,带着解决方案去找老板,就会得到老板的重视和信任,所以一定要增强工 作主动性和参与性。无论是软件开发还是项目管理,国内员工大多只是做好份内事或完成交派任务,很少能主动发现问题。其实,只有拥有更高眼界,才能谋取大发 展。
“总之,程序员要根据本身的基本素质、技术能力选择开发层次,由低到高,逐步发展。 也是一名程序员本身具备相应素质的循序渐进的发展轨迹,包括很强的技术背景和综合管理才能等素养,这也就是所谓‘两条腿走路’的职业规划发展路线。”
小蔡:“原来技术转型还有这么多学问,受益匪浅。我打个比方,如果只是一名程序员, 但仍需要站在项目经理的层面上看自己的工作,这样才能更好地合作,融入团队中,并且锻炼自己的思想境界,从而提高自己。”
锐哥:“小蔡说得是。另外,在未来发展上首先确定自己的发展方向和研究方向,在学习 技术的同时还要为以后做准备,做好以后的技术转型。广度和深度是相对的,先广还是先深实质上从某种意义来说取决你的工作性质,如果你是从事单一工作的,多 半你会短暂先深,因为这是你立足的根本;而如果你选择的职业是综合性的,比如管理、讲师等,那么你必然要先有广度才可以,但一段时间后,你都要转入深度, 只有你在某一方面或领域有一定的深度后,你才能继续寻求广度,否则,你将什么都会,但什么都不精,这样的人在市场上是最难以立足的。”
大熊:“这张程序员发展路线图挺有意思,国际人才型(如图3-3所示),一定要求外 语口语流利吧?”
图3-3
锐哥:“是的。如果说前面‘两条腿走路’要求的综合能力成分多,随着国际化相互联系 越来越紧密,那么国际化人才可以说是当前更为便捷的程序员职业规划发展之路。目前,国际化软件项目经理是人才市场上炙手可热的人才,有丰富经验、外语口语 好的软件项目经理是抢手的香饽饽,供不应求,薪水自然也是水涨船高。最重要的是,一个优秀的项目经理可以在这个岗位上长久工作下去,并且有向高层进一步提 升的可能。外语好、技术又好的程序员发展路线很广,是目前国内外软件企业需要的热点人才。”
小蔡:“锐哥跟我们说了这么多,感觉对程序员、对软件行业的整体发展路线清晰了很 多,但是我该用什么方法进行选择呢?”
锐哥:“要想正确地选择,你得必须充分地了解、分析自己,你要学会SWOT职业规划 自我分析法。”
总结与提升
成功与失败的区别在于,成功者选择了正确而失败者选择了错误。因此,我们常常能够看 到一些天赋相差无几的人,由于选择了不同的方向,人生却迥然相异。选择正确的方向尤为重要,希望不同的程序员根据自己不同的优势和特点能画出适合自己的程 序员职业规划图。
软件开发也是有层次区别的,比如,按层次从高到低通常可分为:
系统开发:如操作系统、数据库系统、服务器系统开发;
专业开发:如网络安全、游戏、人工智能开发;
应用开发:如MIS、BI、ERP等系统开发;
普通开发:如网站、简单应用系统开发。
不同的层次,难度系数不一样,对技术要求、个人素质要求也不一样。要成为系统开发 者、专业开发者、高级应用开发者,需要有很高的专业知识和很强的逻辑、抽象、空间思维能力,这就要求具有很好的基础,同时具有较大的提升潜力。而要成为简 单开发者和初级应用开发者则相对容易些,正是这样,才使很多人走上了软件开发的道路。