职责:
• 彻底分析系统和客户需求。
• 根据需求定义整个软件系统的架构设计。
• 选择实施软件解决方案中每个组件和接口的技术和方法。
• 确保软件架构在从投标到交付和维护的整个软件开发生命周期中的稳定性。
• 保证遵守范围内的标准、最佳实践、重用政策和产品开发计划。
• 协调产品定义,评估成本、客户需求和技术可能性之间的设计权衡。
• 记录设计选择及相关的理由。
• 领导软件技术文档撰写和项目投标的工作量估计。
• 对软件团队和其他内部/外部利益相关者进行技术演示。
• 提供关于最先进的软件架构知识,考虑未来的发展和维护。
• 领导和参与软件团队的活动,包括详细设计审查、编码、代码审查、单元测试和调试。
要求:
• 至少7年相关经验,建立软件和Web应用的前端和后端。
• 至少3-5年在软件架构师角色中设计和开发大规模软件/Web解决方案的经验。
认证(有利条件):
• iSAQB认证软件架构专业人员(CPSA)。
• 软件工程研究所(SEI)认证软件架构师(CSA)。
• The Open Group TOGAF 9基础认证。
• Zachman研究所认证企业架构师(CEA)。
• The Open Group认证联邦企业架构(FEA)。
知识和技能:
• 熟悉系统架构设计模式。
• 了解各种编码方法和编程语言(如Java、C#、Go、JavaScript、Python)。
• 有各种开发框架的经验。
技术经验:
• 有RESTful服务和微服务架构的经验。
• 有至少一种消息队列解决方案和数据流解决方案的经验(如Apache Kafka)。
• 有软件系统级集成的经验。
• 有分析技术/设计选择并记录分析结果的经验。
• 有数据建模、关系数据库和NoSQL数据库的经验。
• 有云技术的经验(如Microsoft Azure、Amazon Web Services)。
• 至少3年的容器化工作经验:Docker,Kubernetes。
开发工具和方法:
• 有常见软件开发工具的经验(如Jira、Git、Visual Studio Code)。
• 有Scrum/敏捷软件开发方法的经验。
• 有持续集成(如GitLab CI)和代码管理存储库工具的经验。