如果有人问你,作为一个软件架构师需要哪些特质的话,你会怎么回答?从技术层面上讲,架构师的技术要求是首位的。除此之外在做人处事方面,更有魅力的架构师则更受欢迎。
最近有个同事问我,是什么成就了一个架构师。下文就是我的回答,适用于各个技术领域。其中我故意不考虑企业架构相关的问题。
1、了解相关领域的技术知识
在你想要成为架构师的相关技术领域,必须具备扎实的专业知识和过人的本领。
2、超强的分析、设计能力
不管怎样,具备很强的分析和设计能力都是必杀技。另外就是能够运用设计模式方式解决各种各样的问题。
3、编码与验证性测试(POC)
- 熟悉该组织整个技术栈,并能使用各层的技术熟练地编码。
- 能快速实现验证性测试。
4、架构设计的实力
- 能为原始需求提供架构方案。
- 考虑周全:工具和框架的采用、安全性、性能和扩展性、依赖关系、集成、效益。
- 熟悉软件开发生命周期(SDLC):需求、分析、设计、测试、打包、部署。
5、建模语言或工具
能使用不同的建模语言或工具,向其他架构师、开发者、项目经理等人,阐述架构。
6、架构框架
- 能证明架构的可行性,包括其业务、应用、数据、基础设置方面。
- 了解TOGAF和ZACHMAN框架就更好了。
7、沟通能力
能与开发人员、测试人员、商业分析师、上级经理沟通无阻,无论在口头上和书面上。
8、布道
- 能讲解该行业的市场、技术知识。
- 能为全队提供培训课程。
9、销售、甚至售前
能参与售前工作(尤其对于软件服务业):制定技术方案、使用各种预算工具估计方案的规模和成本、与销售对象互动。
10、演讲技巧
优秀的演讲技巧,有助于以下活动:华丽的计划书和技术文档、PPT演讲、布道。