摘自百度百科:所谓架构师,通俗的说就是设计师或结构设计者,这些定义如果用在建筑学上,则是很容易理解的。在软件工程领域中,软件架构师实际上就是软件项目的总体设计师,是软件组织新产品的开发与集成、新技术体系的构建者。
正如《架构漫谈》作者所说,架构师必须是一个组织的领导人。软件架构师的主要任务并不是从事具体程序的编写,而是从事更高层次的开发架构工作,因此软件架构师需要有良好的组织管理能力以及一定的实权。
要想成为一名合格的软件架构师,首先要明白架构师是去帮助别人解决问题,而不是自己完成工作,并且工作完成与否是别人说的,不是自己,所以身为一名架构师要把完成别人工作当成自己的最大利益,要努力地越来越多的人依赖你 认同你。
架构师要学会发现问题,把别人的问题当成自己问题来思考并且解决问题。同时架构师是一个领导人,他所考虑的不光是解决问题,他更要考虑如何用最小的成本获取最大的利益。架构师是在不断的平衡与调整别人的利益过程中让组织成员都能够积极地为服务。所谓架构师,不光技术要好,还要有良好的管理能力。
通过阅读知乎,我了解到软件架构师的日常与必备技能,并把每个技能用自己的理解阐述如下。
日常:
- 定义和确定所需的开发技术与平台;
- 定义开发标准,如编程标准、工具、审核流程、测试方法等;
- 对确定和理解业务需求提供支持;
- 设计系统并根据需求做出决策;
- 对架构定义、设计和决策进行讨论记录;
- 检查并审核架构与代码,比如检查前期确定的模式与编程标准是否被正确实施;
- 与其他部门和架构师合作;
- 对开发人员的引导及咨询;
- 将高级设计细化,并转化为较低级的设计。
10项技能:设计、决策、简化、编程、记录、沟通、估算、平衡、咨询、市场。