角色和责任:
候选人将:
· 分析系统和客户需求
· 根据需求定义整个软件系统的架构设计
· 选择实现软件解决方案中每个组件和接口的技术和方法论
· 确保从投标到交付和维护的整个软件开发生命周期中保持软件架构的稳定性;
· 确保遵守相关标准和最佳实践、重用策略和产品开发计划;
· 协调产品定义,并评估成本、客户需求和技术可能性之间的设计权衡;
· 记录设计选择及相关的理由;
· 领导软件技术文档编写和投标项目的工作量估计;
· 向软件团队和其他内部/外部利益相关者进行技术演示;
· 提供关于最新软件架构的知识,考虑未来的发展和维护;
· 领导和参与软件团队的活动,包括详细设计审查、编码、代码审查、单元测试和调试
基本技能和资格:
· 计算机科学或相关领域的学士学位
· 新加坡公民或永久居民优先
· 至少12年相关经验,建立软件和Web应用的前端和后端
· 至少5年软件架构师角色的经验,设计和开发大规模软件/Web解决方案
· 软件/企业架构相关认证是有利的。
例如:
o 由iSAQB颁发的软件架构认证专业人员(CPSA)
o 由软件工程研究所(SEI)颁发的认证软件架构师(CSA)
o 由开放集团颁发的TOGAF 9基础认证
o 由Zachman研究所颁发的认证企业架构师(CEA)
o 由开放集团颁发的联邦企业架构(FEA)认证
· 熟悉系统架构设计模式
· 熟悉各种编码方法和编程语言,例如Java、C#、Go、JavaScript、Python
· 具有各种开发框架的经验
· 具有RESTful服务和微服务架构的经验
· 具有至少一种消息队列解决方案和数据流解决方案的经验(例如Apache Kafka)
· 具有软件系统级集成的经验
· 有分析技术/设计选择并记录分析结果的经验。
· 具有数据建模、关系数据库、nosql数据库的经验
· 具有云技术的经验,例如Microsoft Azure、Amazon Web Services
· 对容器化有广泛的工作经验(至少3年):
Docker,Kubernetes
· 具有常用软件开发工具的经验,例如Jira、Git、Visual Studio Code
· 具有Scrum/敏捷软件开发方法的经验
· 具有持续集成(例如Git Lab CI)和代码管理存储库工具的经验
良好的技能/经验:
· 系统技能:
o 系统管理基础技能(服务、ssh、用户管理等)
· Dev Ops高级技能:
o 开发和维护Ansible Playbooks和模块
o 部署和设置CI/CD流水线(与开发团队紧密合作,开发CI/CD流水线并部署到私有和公共云)
o Shell(bash或Python)等脚本编写经验
· 基础设施即代码技能:
o 使用Ansible自动化部署和配置
o 对VMware ESX和其他虚拟化技术有工作知识
· 网络基础知识:
o 有NGINX和HA代理部署和配置的丰富工作经验
o 熟悉常用的网络命令(例如curl、telnet、netstat)
o 局域网架构(CIDR、vLAN、路由、NAT)
o DNS和SSL(内部、外部)
· 安全性:
o 使用各种保险库(Gitlab安全保险库、Kubernetes secrets)进行秘密管理
o SSH管理
· 具有MHA(内政部)项目经验是有利的。
行为:
· 以开放的心态提供巧妙、精明的设计
· 出色的沟通、演示和人际交往能力
· 偏好具有协作能力的团队合作者
· 能够领导和激励团队提供高质量的软件