软件体系结构的第一节课,咱们并无直接去了解软件架构和软件架构师。而是经过对一段建筑设计师的工做的视频来了解了建筑设计师这一行业的工做细节。在课下的时间里,本身经过对相关资料的检索和各大论坛博文的阅览发现其实软件架构师这一行业与建筑设计师其实在工做的不少方面都有其共性。二者都须要与客户进行接触,经过本身的设计或架构来实现对用户所提出的需求进行最大化的知足。前端
软件架构师是开发软件时在用户需求分析与系统设计阶段的灵魂人物,与传统的系统分析员相比,软件架构师的工做能为接下来的代码设计,以及未来的运行都提供更好的指导。有人把架构师的工做定义为分解系统模块以及定义相互之间的关系,也有人认为架构师就是对软件设计核心环节设计的一系列决策;之因此架构师在现代软件开发体系中愈来愈重要,还与目前流行的软件开发组织结构有必定的关系。软件架构师是软件行业中一种新兴职业,工做职责是在一个软件项目开发过程当中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的整体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员。总而言之,架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工做。他必须对开发技术很是了解,而且须要有良好的组织管理能力。能够这样说,一个架构师工做的好坏决定了整个软件开发项目的成败。程序员
了解了何为软件架构师,做为一名软件架构师应该有如下工做职责:编程
一、 负责公司系统的架构设计、研发工做。架构
二、 承担从业务向技术转换的桥梁做用。框架
三、 协助项目经理制定项目计划和控制项目进度。学习
四、 负责辅助并指导系统分析开展设计工做。测试
五、 负责组织技术研究和攻关工做。职业规划
六、 负责组织和管理公司内部的技术培训工做。架构设计
七、 负责组织及带领公司内部员工研究与项目相关的新技术。设计
八、 管理技术支撑团队并给项目、产品开发实施团队提供技术保障。
九、 理解系统的业务需求,制定系统的总体框架(包括、技术框架和业务框架)。
十、 对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各类问题。
而一个软件架构师所应具备的基本素质则能够大体囊括为:较强的沟通能力和自我表达、有必定的魄力和感染力、有广阔的知识领域、有过硬的技术能力和丰富的编程经验、多方位思考分析能力、需求整理分析能力、系统分解能力、领导决策技术选项、系统设计能力、对团队的培训与指导。
当具有全部成为软件架构师的条件后就能够进行软件架构的工做了。
从一个普通的程序员成为一个架构师就是经过一个个项目和不断地学习,实践,总结,我的进步和能力成长过程。从最初的开发工程师到高级工程师,再到系统架构师,而后是资深架构师,最后就是技术总监、CTO、技术副总裁。有人说过,“不想成为架构师的程序员不是好程序员”。程序员的修炼之道任重道远。须要咱们在不断的学习成长和平常积累中不断摸索前进,让本身始终保持最前端的技术手段和最长远的职业规划。不断完善本身的我的能力和知识技能储备。