为什么大部分做不了软件架构师
1. 怎么才能做软件架构师
所谓软件架构师,是软件行业中一种新兴行业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划,是主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。
通过以上的了解软件架构师,想要成为架构师的途径似乎就只有现在较为流行的软件学院和个人自我培养了。只有通过自己的不断努力你才能够成功。所以说每一个软件架构师,都是经过血汗的洗礼才成功的。
2. 架构师 一个没做过开发的人能不能成为一个架构师
可以。
架构师是一个充满挑战的职业,知识面的宽窄往往决定着一个架构师的架构能力,所以在这一点上我比较赞成你的学习方式,就是要阅读大量的技术书籍,但我希望你不要仅限于软件相关的书籍,经常泡技术论坛,一方面可以结交朋友,一方面可以增加自己的知识面。
公司的大小往往决定了所做的项目规模,一般的大项目不太可能直接总包给小公司去做,但这并不妨碍小公司可以分包到大项目的一部分。在做小项目的同时也可以积累丰富的经验,我自己就是一个这样的例子。
3. 为什么大部分的程序员成不了架构师
① 码农分为真的能写代码的,以及自认为能写代码的。② 真的能写代码的码农又分为自认为写的不错的,以及真的还不错的。③ 真的能写不错代码的码农又分为会钻研会不断优化的,以及安于现状的。④ 会钻研的码农又分为喜欢广度了解新技术蜻蜓点水的,以及深入钻研用到知识的。了解广度的码农又有少部分愿意深入某些技术,喜欢深入研究的又往往缺乏广度知识。
而真能满足这种需求的,别说题主的10%的比例,1%能不能达到我也持怀疑态度。其实现在的“架构师”大多数都停留在8这个层次,甚至很多在5这个层次就当上title上的架构师了。
4. 请问四年内做软件架构师可能性大不大 要遵循什么步骤 怎么学习 有什么书籍推荐
看之前是学什么专业的,如果本科或者研究生计算机或者软件工程专业毕业的话,四年用心去做完全可以的,软件架构师本身考试不难,不过要是做出色可不容易,需要丰富的项目经验来提升能力,软件架构师的大部分知识和经验将来自实际开发工作的。
建议从程序员,软件设计等底层工作开始,边做边学习,做的多了自然就通了。
书籍建议看看《软件架构师教程》、《软件系统建模》、《系统分析基础》、《用户需求的分析和文档化》等书籍,国内没有指定的教材,建议看英文版的,一般翻译过来的书籍都比较晦涩,不如原版书籍理解透彻。
如果你有时间经历的话,可以找一些国外的开源软件系统拆解分析下,走一遍软件架构的逆向工作,也就是通过分析代码,画出函数流程图及其相互调用关系,进而分析用户需求,看看其软件架构师是如何设计软件的,会有一个很直观的过程,相信对你帮助会很大。
5. 如果要当一个软件架构师,需要什么条件
汗,这个问题咋问到办公软件这个类别下了。要做到架构师,起码要从初级程序员做起,3到5年后或许可称为高级程序员,然后再看个人在项目中承担的角色得到的锻炼,从设计大的模块或小系统做起,慢慢到设计较大的系统,之后才可能称为架构师。总之不但需要脚踏实地地编代码,还要有意识地培养分析把握整体大局的能力。
6. 中国那么多软件工程师,系统架构师,为什么没有自己的操作系统。 都得依赖国外 是技术不行吗
首先你要去了解下什么是系统底层,然后就是系统框架,再之后就是系统的功能,最重要的是目前所有系统开发都是基于C/C++语言,而C语言是属于美国,这是没法跳出圈外,还有系统内核这些,基本上都是美国,现在国内很多什么谎称自主研发系统的,其实就是一个换皮UI系统而已,内核都用是别人开源,而新框架编码也是由美国一家大学开发出来,并且开源给全球使用,目前世界上除了微软系统外,其他系统都是基于Linux/Unix内核,包括苹果系统,底层核心也是这个,反正目前世界上只有2个系统了,一个微软一个Linux/Unix,Linux是基于Unix下开发繁衍,具体发展史自己查网络就不说过多了,你把所有系统内核和系统框架查一遍就知道了,大部分都是美国那边技术的,还有一个就是编程,目前依赖C语言开发工具是非常多,Python、Java、object-C等等一些比较常用开发语言都是用C语言去开发,也就是说无法脱离这技术,而C语言是谁的我就不说了,全世界有成千上百种开发语言就有一半以上都是依赖C语言去更新相关功能,这些发展史你具体可以去看网络,就不多说了,基本上就是目前的现状、全世界都没法改变的情况。
7. 软件架构师主要是做什么啊
软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。根据“第三届中国软件工程大会”的报告,在中国,未来五年,高端软件人才需求缺口达20万。而每年自动成长起来的软件架构师只有几百人,可见市场需求的巨大。
(7)为什么大部分做不了软件架构师扩展阅读:
架构师的主要任务:
1、领导与协调整个项目中的技术活动(分析、设计和实施等)
2、推动主要的技术决策,并最终表达为软件构架
3、确定和文档化系统的相对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图”
8. 如何成为软件架构师
【原创回答】我本人是一名软件架构师,这个问题非常大,不太好回答。我总结一下,软件架构师的能力大概分为三个方面:1.技术,这个应该没悬念,如果没有过硬的开发技术,就不要期望做架构师了;设计模式,系统模式,架构模型,系统理论,甚至编程语言,算法,操作系统,网络,数据库,都需要有扎实的掌握。 2.是业务知识,也即领域知识。软件架构师实际上是把业务需求落实成开发蓝图的总设计师,如果你对业务一窍不通,空有一身技术也只能望业务兴叹。3.就是沟通表达的能力,架构师需要推进自己的架构设计理念给开发团队,所以也需要这方面的能力,当然最重要的还是前两部分的能力。
9. 怎么成为一个软件架构师
架构师是一个充满挑战的职业,知识面的宽窄往往决定着一个架构师的架构能力,所以在这一点上我比较赞成你的学习方式,就是要阅读大量的技术书籍,但我希望你不要仅限于软件相关的书籍,经常泡技术论坛,一方面可以结交朋友,一方面可以增加自己的知识面。
公司的大小往往决定了所做的项目规模,一般的大项目不太可能直接总包给小公司去做,但这并不妨碍小公司可以分包到大项目的一部分。在做小项目的同时也可以积累丰富的经验,我自己就是一个这样的例子。
我在小公司混迹了5年多,其中也偶尔有1两个大公司,比如大唐电信,但是基本上都是小公司,从基层的程序要到公司的开发总监都做过,甚至自己还设计过包括LED显示屏,密码键盘在内的收费系统,自己联系厂家OEM,当然这些今天已经广泛应用了,当时我们的客户用上之后还是非常震撼的。
知识面的宽广对于一名出色的架构师来说是必不可少的技能,也许很多人对架构的理解还停留在设计模式,重构,SOA等等的软件层面,然而这仅仅是非常基本的东西,架构师的脑子里不光需要知道让软件如何高效的运行,还需要知道如何去结合网络,存储,甚至一些文件系统的特性,比如GFS,NFS,XFS,NTFS等等,而且架构师还需要知道一些编程语言的特性,C,C++,Java,PHP,Python,Lisp,JS等等,现在是一个混合编程的时代,只了解一种语言,即使再精通也会使你在架构系统的时候受到很大的局限性。
再有一点,架构师需要对数据库技术有深刻的认识,因为现今是一个信息时代,大量的信息都是需要存储并检索的,数据库设计的不好,将会严重影响系统的性能,而这一点往往会被我们的设计人员忽略,他们只知道遵守那些范式而不会结合数据的特性去设计数据库。
看你的编程情况,你好像做PHP开发比较多,PHP比较适合B/S结构的应用开发,这会限制一个架构师的思路,我建议你再学习一门适合做C/S开发的语言,拓宽自己的视野。
从一个程序员到架构师是一个很大的变化,架构师需要从大的方面考虑,而不只是考虑这个模块该用哪种设计模式去开发。不能急于求成,也许是我自己变化的比较慢,我用了10年的时间,这10年里,我使用超过一年的编程语言包括了delphi,C++,Java,python,使用的数据库包括了oracle,infomix,sybase,sqlserver,mysql,javadb,sqlite等等,使用过大型机,小型机,服务器。unix,linux,windows都至少做过两年以上的开发,这些使用和开发的经历会大大增强一个人在做架构师这个职业时的技术素养。
总之,想要成为架构师,需要有耐心,不断学习,拓宽自己的视野,不仅仅局限于自己眼前的项目,关注开源技术,关注热门技术社区的新动向。
10. 当软件架构师容易吗
也容易,也不容易。
第一:
职场之事,并不是技术那么简单。很多都是人事和机遇。
人事好,你就有一个宽松的环境,没那么多挑剔,就算技术不足,有失误,也不至于垮掉。
人事不好,你周围都是倾轧和暗枪,就算没失误,也有锅扔过来。想不受伤也难。
另外如果没机遇,在武大郎之下受气,不得伸展也不是没有的。
第二:
职位名虽然一样,但每个单位的工作可并不一定一样。有的就是事务性的上支下派,有的是真刀真枪的技术担子。所以也有很大差异。
但终究,只要你完成了上面下来的任务,问题一般不大。