一、职责
1. 项目开发与维护负责复杂模块的开发:承担项目中核心模块或关键功能的开发任务,确保代码的高质量和高性能。解决技术难题:针对项目中出现的技术难题,进行深入研究并提出解决方案。
2. 架构设计系统架构设计:参与系统架构的设计工作,确保系统的可扩展性、高可用性和安全性。技术选型:根据项目需求,参与技术选型和评估,选择合适的技术栈和工具。性能优化:对系统的性能进行监控和优化,确保系统在高并发和大数据量的情况下仍能稳定运行。
3. 团队协作与指导代码审查:参与代码审查,帮助团队成员提升代码质量,确保团队代码风格一致。技术指导:为初级和中级开发人员提供技术指导和培训,帮助他们解决技术问题,提升团队整体技术水平。
4. 系统集成与部署系统集成:负责与外部系统(如第三方服务、数据库、中间件等)的集成工作,确保系统的整体功能和性能。-部署与运维:参与系统的部署和运维工作,确保系统的稳定运行,及时处理线上问题。
二、要求
1. 技术能力-精通Java语言:熟练掌握Java语言的核心特性,包括面向对象编程、多线程、异常处理、反射等。熟悉Java框架:熟练掌握Spring、Spring Boot、Spring Cloud等主流Java框架,了解其原理和使用方法。数据库技术:熟练掌握关系型数据库(如MySQL、Oracle)和非关系型数据库(如Redis、MongoDB)的使用和优化。中间件使用:熟悉常用的中间件,如消息队列(RabbitMQ、Kafka)、缓存系统(Redis)、服务网关(Zuul、Spring Cloud Gateway)等。性能优化:具备系统性能优化的经验,能够通过分析日志、监控数据等手段发现并解决性能瓶颈。代码质量:注重代码质量,熟悉设计模式和代码规范,能够编写可读性高、可维护性强的代码。
2. 项目经验复杂项目经验:具有多个复杂项目的开发经验,能够独立承担核心模块的开发任务。高并发处理:具备处理高并发系统的设计和开发经验,能够确保系统在高并发场景下的稳定性和性能。微服务架构经验:熟悉微服务架构的设计和开发,有使用Spring Cloud等微服务框架的经验。
3. 团队协作与沟通能力团队合作:具备良好的团队合作精神,能够与团队成员密切合作,共同完成项目目标。沟通能力:具备良好的沟通能力,能够与业务部门、测试团队、运维团队等进行有效的沟通和协作。指导能力:能够为初级和中级开发人员提供技术指导和培训,帮助他们提升技术水平。
4. 学习能力与创新精神学习能力:具备快速学习新技术和新知识的能力,能够及时掌握行业内的最新技术动态。创新精神:具备创新精神,能够提出新的解决方案和技术思路,推动技术进步和项目优化。
5. 其他技能单元测试:熟悉单元测试框架(如JUnit),能够编写高质量的单元测试代码。持续集成:熟悉持续集成工具(如云效),能够实现代码的自动化构建和部署。安全意识:具备较强的安全意识,能够识别和解决系统中的安全问题(如渗透测试),确保系统的安全性。