1. 程序员几年能够成为架构师
五年以上。
它们往往要求工作年限在5年以上,需要求职者有过3年以上的系统设计经验,精通各种架构模式和系统框架,反观自己却一个条件都不满足。
软件架构师就是这么一个让人向往,但又让人望洋兴叹的一个职位。就像建筑设计师总有成为总设计师的梦想,航天工作者总有成为总工程师的壮志,相信每一个软件工程师都有过成为软件架构师的想法。
引用维基网络里的定义,软件架构师的职责就是在软件系统研发中,负责依据需求来确定主要的技术选择、设计系统的主体框架结构,并负责搭建实施。
普通程序员可以利用搜索引擎(网络)寻找答案,经常性找不到好的解决办法,然后更换技术方案,顶级程序员也利用搜索引擎(Google)寻找答案,一般bug都顺利解决(其实跟前期框架选择等关系非常大)。
算法是程序员的重中之重,掌握算法能力才能处理复杂环境,才能对系统做出性能调优,遇到性能瓶颈之后才不会束手无策。
表达能力决定了你所做的技术的影响范围,决定了你的影响力,决定你的威信,决定了你的报酬。普通程序员和顶尖程序员的表达能力差别非常大,这主要还是取决于他们格局的不同。良好的沟通能力让你理解产品经理的设计思路,让你更好的展现自己的特长。
2. 如何成为一个架构师
1、技术能力
技术能力,不用置疑肯定是最重要的。技术能力弱的架构不是一个好架构。所以,你需要知道所有主流技术的基本原理、应用场景,及快速解决问题的能力。所以,架构师必须要有见识,所需知识面肯定是要不断拓展的。
你需要清楚在什么样的场景用什么样的技术比较合适,并知道可能存在什么样的风险。来了需求,你脑袋是空的,不知道用什么技术这是最可怕的。
2、架构能力
这个可以表现为抽象能力、整体规划能力、及设计能力。你需要照在业务的角度进行系统分解、技术选型、架构搭建,以及规范制定。架构出来了至少可以满足最近的发展,或者可以很方便对现有架构进行扩容。
3、沟通能力
作为一个优秀的架构师,你需要清楚的知道客户的需求,需要不断和需求人员进行沟通,以达到客户真正的目的。不论是不是架构师,任何一个职场人,提高自己的沟通表达能力无疑是不可或缺的。
系统架构师的主要功能包括:
1、系统架构师是软件项目的总体设计师,是软件组织新产品的开发与集成、新技术体系的构建者。
2、系统架构师是在技术上对所有重要事情做出决定的人(系统架构师在整个软件开发过程中都起着重要作用,并随着开发进程的推进而其职责或关注点不断地变化)。
3、需求阶段,软件架构师负责理解和管理非功能性系统需求,比如软件的可维护性、性能、复用性、可靠性、有效性和可测试性等。
4、设计阶段,架构师负责对整个软件架构、关键构件、接口的设计。协助系统分析师完成《系统概要设计说明书》。
5、编码阶段,架构师则成为程序员的顾问,并且经常性地要举行一些技术研讨会、技术培训班等。
6、测试及实施阶段,随着软件开始测试、集成和交付,集成和测试支持将成为软件架构师的工作重点。
3. 系统架构师是要从程序员做起吗大学是学什么专业应该怎么做才能从一名程序员变为一名系统架构师
系统架构师,这个岗位。
大学没有对应的专业。
一般大学计算机或者软件相关乎伏镇专业的同学,毕业后,积累几年的开发经验加上个人技能,编程思维优秀,基本上就符合一名架构师的要求。
从一名厅弊普通的程序员到架构师,需要几年的开发积累和写代码的历练。
让自己在技岁粗能上有了编程的独特理解,能够很好的构思一个系统或者软件的架构。
4. 做程序员需要什么学历
做程序员需要的学历没有一定的要求,大专和大本的很多。
一个合格的C++程序员,应该知道C++的哪些语法该用,哪些语法不该用,哪些语法要用但是要谨慎不能滥用。
Java程序员用Java来描述,而C++程序员就用C++来描述。描述的过程中,充分利用各自语言的特性,例如C++的性能。
(4)从程序员到架构师需要什么条件扩展阅读:
程序员从技能的角度来讲,从初级程序员,通过不断学习,发展为中级高级程序员,甚至是系统架构师,是技术路线。
如果一个程序员的水平不断进步,在高级程序员或架构师之后,可以尝试开发经理以及技术总监类管理职位,其中开发经理的管理职能并不突出,而技术总监就是一个比较重要的部门管理岗位了。
如果换行业,程序员最适合的行业,一是产品经理类职位,二是项目管理类职位,程序员改做产品经理,因为对技术对程序有比较好的理解,在以后的工作中,和技术部门进行的沟通会更好,能够在产品设计之前,考虑到技术方面可能遇到的问题,提高效率。
5. 如何从普通程序员晋升为架构师
程序员晋升架构师的十项必备技能
1、卓越的程序员 Fred George先生说:“不编程的架构师的职业生涯是短暂的”。他说这句话的背景主要是针对有些架构师的设计与实现有断层的问题而言的,因为如果架构师不去 实践,只是想当然的认为“没问题,这个想法能实现”,那么对于项目的落实而言是个很大的隐患。支付宝架构师冯大辉也表示过,架构师是一个比较“虚”的岗 位,主要的问题都在“落地”的过程中。--ITJOB--
2、抽象思维 很多优秀的架构师们都一致的表示,逻辑思维和抽象思维能力是一个架构师最重要的素质。eBay的 Randy Shoup先生称拥有条理清晰的逻辑思维能力的人“就像稀有动物那样难找”。Fred George则表示“驾驭概念的技能,在我看来是每一个人最高的潜力”,并表示自己不太介意这样一个苗子在其他方面的技能和经验的匮乏,因为在他看来除了 思维之外的其他因素都是可以培养的。 --ITJOB--
3、技术前瞻性 有人谈到技术高手与架构师的区别就在于,架构师不光是着眼于现在,不仅仅局限于开发细节,比如如何调用,如何并发等等。而是跳出三界外,考虑一下面向未来问题和潜在风险的应对之道。--ITJOB--
4、问题解决大师 只是,架构师之所以为架构师,是在于他们在面对庞大系统之时,仍然能够敏锐的发现其底层之真实。这不仅需要此哲学层面的“内功”,还需要架构师具有多领域知识和经验的积淀。--ITJOB--
5、多领域知识 架构师身为一名技术领袖,需要通过发散知识的光芒来统御开发团队的。如果只是对本行业知识做到烂熟于心,那还仅仅是一名熟练工的水平。要想晋升更高的层次,还需要跳出“只缘身在此山中”的困惑。--ITJOB--
6、沟通能力 做到人性化的沟通,需要我们在平时就进行培养。写出大部头的架构书,有的时候并没有用VISIO画出的简单架构图好理解。人对图形理解远远大于对文字的理解,直观简单的UML图可以极大的方便程序员理解架构师的意图。--ITJOB--
7、内力 很多人理解的内力就是开发技术,包括语言的掌握、对框架的掌握、数据库管理能力、安全管理能力等等。但是我们看到,架构更多的内力体现在对技术的综合运用上,光会编程的程序员,最多就能做到高级程序员,也就是技术实现上的高手。 --ITJOB--
8、权衡取舍 Fred George先生提出了“短期滥用”的说法,即在系统能够承受的范围内做出一些妥协。在ATAM方法中,分析的思路是基于“情景”的:你需要提出各种可能 的情景,然后来证明在每一个用户使用场景中,系统的哪一些内容是必要的、不可丢弃的——从而确定哪些部分是暂时可以不予考虑的。--ITJOB--
9、管控能力 架构师在管理和控制的能力上,需要有自己独到的见解,而不是简单的认为这是项目经理或者财务部门 的事情。身为技术专家的架构师,随不需要处理那些烦杂的日常管理。奇虎架构师李钊在一次接受采访时道出过架构师们的心声,技术人才转向管理就是莫大的浪 费。对,如果架构师只是一味的去进行项目管理,那就和其他市场人员没有任何区别了。在这里架构师所需要的管理与控制,其实是从技术的角度,对一些问题的控 制,特别是开发过程中的监控,而不是普通意义上的纯粹管理。--ITJOB--
10、艺术气质 一个优美的系统则是可以像有机的生命一样成长的,这是因为从系统开始架构的那一刻起,架构师就考 虑到这个系统以后将会面临的挑战,为系统的成长预留好空间。项目经理经常会对这位架构师提出的看似理想化的要求不置可否——项目经理只想着能够尽快以比较 低的成本实现客户的需求,然而这些充满艺术美感的想法其实是打造健康——因而优美——的系统的根本因素。--ITJOB--