一般程序员里面的架构师级别,工作任务,一般需要随叫随到吗?(架构师的工作和程序员的工作有何不同)
架构师的工作和程序员的工作有何不同
程序员是来完成某项工作的具体实现者,而游戏程序设计师是一个宏观调控这项任务的负责者,类似于架构师一样程序员不用去管这个项目的任务分配的事情,只要完成自己被分配的事情就行了,但是设计师要从项目的性能优化等各方面去考虑这件事情
架构师 一般会是什么级别的来面试
架构师是行业中一种新兴职业,工作职责是在一个项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个开发项目的成败。 一般来讲,系统架构师应该拥有以下几方面的能力: 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、有没有什么事是架构师永远都不应该做的?
有,软件架构师永远都不应该停止编程和停止学习!
在程序员从初级走向资深的过程中,会面临两个支路,一个叫技术主管,另一个则是架构师。
总结程序员到架构师之路的忠告:
1、程序就是一切。文档是紧接其后的事情。因此,把你们的代码写成本身就是文档,而且要好用。
2、测试 测试 测试。
3、单元测试要严格。任何一个单元测试中发现的bug都负担了开发人员成本外的双重代价。你们要知道,我宁愿给你们更多的薪水也不愿找别的QA公司来测试、让你们修改bug。但如果你的程序写的很差,那我只好把这些钱由这些人平摊,你们只能得到其中很小的一块蛋糕。
4、写出好代码要能给人类阅读,给CPU使用。绝对不能向烂代码低头。
5、阅读更多的知识,不要局限于目前的工作所需。如果你只掌握今天需要的知识而不知明天需要的,你不会有发展进步。
6、回家不时的做做饭。是的,真的饭。这会让你知按照菜谱做饭和自己创造一顿饭之间的区别。前者是在做饭前已经知道了需要什么,而后者是根据你目前有的来做 … 就这一点点不同。
7、抽象的能力,抽象思考的能力怎么强调都不为过。现实的需求纷繁复杂,如果架构师不能够把这些乱无头绪的需求抽象成一些“概念”,在概念的层次进行思考,系统根本就无法设计。
8、技术领导力,要用技术的影响力来领导人,而不是威权和职位。换句大白话来说,就是要能让技术人员服你。有了技术影响力,你在团队发出的声音才会被倾听,被尊重。