岗位职责
1. 参与项目需求分析,根据业务和非业务需求,设计软件产品,编写设计软件架构与技术方案文档,根据架构设计评审结果,进一步完善架构设计。
2. 指导开发人员进行架构落地,保证架构实施质量。
3. 跟踪项目实施情况,对软件架构及技术方案进行合理调整,防止架构腐化。
4. 深度参与项目,完成各种疑难问题诊断、排查、方案优化工作。
5. 研发人员技术指导,提高研发人员开发效率、解决问题效率。
6. 抓取和整理非功能性需求,负责非功能性代码编写,包括软件可维护性、复用性、可靠性、有效性等。
7. 负责项目技术需求和技术风险控制,对风险项目采取相应措施,及时止损。
8. 根据所采用的技术,制订相关开发标准。
9. 项目代码审查,针对质量不佳的代码,适时组织重构。
任职要求
一、基本要求
1.熟悉常用架构模式,如分层架构、消息驱动架构、SOA架构、MSA架构等。
2.关注开源社区,热爱开源事业,熟悉常见开源协议与代码使用规范,熟悉常用热门开源技术,熟练掌握技术选型与技术评估的常规方法。
3.能够独立完成软件产品架构设计和优化工作,能够指导开发团队进行开发实施。
4.有良好的编程习惯、认真负责、思路清晰、懂得沟通、学习能力强并能持之以恒。
5.熟悉软件架构文档编写,具有良好的文档工作能力。
二、技能要求
1.熟悉云原生软件架构设计、相关技术体系、开发流程,能指导基于云原生项目的落地。
2.熟悉云原生基础设施建设,能指导大规模云原生支撑平台的建设实施。
3.熟悉Go、Python等语言及其周边生态,可基于OpenStack、ZStack、Kubernetes、ServiceMesh、Istio等平台进行二次开发。
4.熟悉J2EE技术体系,熟悉Spring、SpringBoot、Hibernate、Mybatis、JPA等框架。
5.熟悉微服务技术体系,如Dubbo、SpringCloud、zookeeper、consul、eureka、gateway、sentinel、Hystrix、Turbine等。
6.熟悉高可用、高性能系统建设,熟悉常规技术,如keepalived、HaProxy、LVS、nginx等。
7.熟悉存储系统,包括EMC、DELL、浪潮等硬件存储产品;熟悉常见分布式文件系统、对象存储、块存储技术,如FastDFS、MinIO、GlusterFS、MFS、Ceph、HDFS等。
8.熟悉数据库系统,包括关系型与非关系型数据库技术、集群技术、中间件技术,如MSSQL、Postgre、Oracle、TiDB、MongoDB等。
9.熟悉缓存、消息队列及集群技术,如Ehcache、redis、Codis、CacheCloud、RabbitMQ、RocketMQ、Kafka等。
10.熟悉平台基础设施建设,日志分析与结构化存储技术,系统与服务可视化监控技术,自动化运维技术等,如 ELK、Promethus、Influxdb、Telegraf、Grafana、Zabbix、Ansible等。
11.熟悉大数据系统开发建设,熟悉其常规建设方案和技术,如CDH、Hadoop、HDFS、HBase、Hive、Spark、Flume、机器学习MLLib等。
三、工作经验:
本科以上学历,从事软件行业工作10年以上。其中软件开发经验5年以上,架构设计经验5年以上。曾主导过大规模IaaS平台、PaaS平台基础设施建设,大数据平台建设,主导过大规模SaaS软件的开发与落地。
四、素质要求
1.具备良好的沟通、协调、调度、指挥能力;
2.具有良好的系统分析和架构设计能力。
3.具有一定的技术发展前瞻能力。
4.具有独立思考和解决问题能力。
5.具有良好的职业道德和敬业精神。