**岗位职责**
1. 负责核心系统架构设计、开发和优化,确保系统高性能、高可用性和可扩展性。
2. 参与需求分析、技术方案设计,编写高质量的技术文档。
3. 主导技术难题攻关,解决系统性能瓶颈和复杂业务问题。
4. 指导中级和初级开发人员,进行代码审查和技术分享。
5. 持续优化开发流程,推动技术创新和最佳实践落地。
6. 与产品经理、测试团队和其他技术团队紧密协作,确保项目按时高质量交付。
**技术要求**
**核心技能**
1. **Java基础**
- 精通Java语言,熟悉JVM原理、内存模型、多线程、并发编程、集合框架等。
- 熟悉Java 8及以上版本特性(如Lambda表达式、Stream API等)。
2. **主流框架**
- 精通Spring全家桶(Spring Boot、Spring Cloud、Spring MVC、Spring Data JPA等)。
- 熟悉微服务架构,具备分布式系统开发经验。
- 熟悉ORM框架(如MyBatis、Hibernate)。
3. **数据库**
- 精通关系型数据库(如MySQL、PostgreSQL),熟悉SQL优化、索引设计、事务管理。
- 熟悉NoSQL数据库(如Redis、MongoDB、Elasticsearch),具备实际项目经验。
4. **中间件**
- 熟悉消息队列(如Kafka、RabbitMQ、RocketMQ)。
- 熟悉分布式缓存(如Redis、Memcached)。
- 熟悉RPC框架(如Dubbo、gRPC)。
5. **分布式与高并发**
- 熟悉分布式系统设计,了解CAP理论、一致性算法(如Paxos、Raft)。
- 具备高并发系统开发经验,熟悉限流、降级、熔断等机制。
- 熟悉分布式事务解决方案(如Seata、TCC、Saga)。
6. **DevOps与云原生**
- 熟悉Docker、Kubernetes等容器化技术。
- 熟悉CI/CD工具链(如Jenkins、GitLab CI)。
- 熟悉云服务平台(如AWS、阿里云、腾讯云)。
7. **其他技能**
- 熟悉前端技术(如HTML、CSS、JavaScript、Vue.js、React)者优先。
- 熟悉Python、Go等其他编程语言者优先。
**软技能要求**
1. 具备良好的沟通能力和团队协作精神,能够与跨部门团队高效合作。
2. 具备较强的学习能力和技术钻研精神,能够快速掌握新技术。
3. 具备较强的分析和解决问题的能力,能够独立承担复杂任务。
4. 具备一定的项目管理能力,能够推动项目按时高质量交付。
---
**加分项**
1. 有大型分布式系统或高并发系统开发经验。
2. 有开源项目贡献或技术博客撰写经验。
3. 有技术团队管理经验或 mentoring 经验。