## 核心职责
1. **软件设计与开发:**
* 参与需求分析、系统设计(模块划分、接口设计、数据库设计等)。
* 使用Java及相关技术栈(如Spring Boot, Spring MVC, Spring Cloud等)**设计、编码、测试、调试和部署**高质量的、可维护的、可扩展的应用程序模块或功能。
* 遵循**编码规范**和**最佳实践**(如设计模式、SOLID原则等)进行开发。
* 理解并应用面向对象编程(OOP)和函数式编程(FP)思想。
2. **后端服务开发:**
* 开发和维护**RESTful API**或**GraphQL**接口,供前端或其他服务调用。
* 实现业务逻辑、数据处理、算法和核心服务功能。
* 处理并发、性能优化、安全防护等后端核心问题。
3. **数据库交互:**
* 设计、优化和管理**关系型数据库**(如MySQL, PostgreSQL, Oracle)和/或**非关系型数据库**(如MongoDB, Redis, Elasticsearch)。
* 熟练使用**JDBC**、**JPA**(如Hibernate)、**MyBatis**等持久层框架进行高效的数据存取操作。
* 编写高效的SQL查询语句,理解索引、事务、锁机制等数据库原理。
4. **代码质量与测试:**
* 编写**单元测试**(如JUnit, TestNG)和**集成测试**,确保代码质量和功能正确性。
* 参与**代码审查**,对团队成员的代码提供建设性反馈,并吸收他人的建议。
* 使用**静态代码分析工具**(如SonarQube)提升代码质量。
* 理解和实践**TDD**(测试驱动开发)或**BDD**(行为驱动开发)理念。
5. **系统维护与优化:**
* 分析并解决线上系统的**Bug**和**性能瓶颈**。
* 对现有系统进行**重构**和**优化**,提升系统的稳定性、可扩展性和性能。
* 参与系统**监控**、**日志分析**(如ELK Stack, Splunk)和**告警**设置。
6. **技术研究与学习:**
* 持续关注并学习**Java生态**和**行业技术发展趋势**(如新版本Java特性、微服务、云原生、容器化等)。
* 评估并引入合适的新技术、新框架或新工具,提升团队开发效率和产品质量。
7. **团队协作与沟通:**
* 与**产品经理**、**前端工程师**、**测试工程师**、**运维工程师**等紧密协作,确保项目顺利推进和交付。
* 清晰表达技术方案和实现细节,编写必要的**技术文档**(如设计文档、API文档、部署文档)。
* 参与**技术讨论**和**决策**,分享知识和经验。
## 具体工作内容(日常任务)
1. **需求理解与分析:** 阅读需求文档,参与需求讨论会,理解业务目标和功能细节。
2. **技术方案设计:** 根据需求设计技术实现方案,包括模块划分、接口定义、数据库表设计、技术选型(如框架、中间件)。
3. **编码实现:**
* 使用IDE(如IntelliJ IDEA, Eclipse)进行Java代码编写。
* 实现业务逻辑、API接口、数据访问层等。
* 集成和使用各种框架、库和中间件(消息队列如Kafka/RabbitMQ,缓存如Redis/Memcached)。
4. **单元测试编写:** 为编写的代码编写单元测试,确保核心逻辑正确。
5. **代码调试:** 使用调试工具定位并修复代码缺陷。
6. **代码提交与审查:** 使用版本控制系统(如Git)提交代码,发起Pull/Merge Request,参与代码审查。
7. **集成与测试:** 将代码集成到主干分支,配合测试人员进行集成测试和系统测试,修复测试中发现的问题。
8. **构建与部署:** 使用构建工具(如Maven, Gradle)打包应用,配合运维或使用自动化工具(如Jenkins, GitLab CI/CD)进行部署到测试或生产环境。
9. **问题排查与修复:** 响应线上问题告警,分析日志、监控指标,快速定位并修复Bug或性能问题。
10. **文档编写:** 编写或更新设计文档、API文档、使用说明等。
11. **技术分享与学习:** 参加技术分享会,阅读技术博客/书籍,学习新技术并进行小规模验证或分享。
12. **参与敏捷流程:** 参加每日站会、迭代计划会、评审会、回顾会(如果采用Scrum/Kanban等敏捷方法)。
## 技术栈关键词(通常要求或涉及)
* **核心语言:** Java (8/11/17+ 是主流)
* **主流框架:** Spring Framework (Core, Boot, MVC, Data JPA, Security, Cloud), Hibernate, MyBatis
* **数据库:** MySQL, PostgreSQL, Oracle; Redis, MongoDB, Elasticsearch
* **构建工具:** Maven, Gradle
* **版本控制:** Git (GitLab, GitHub, Bitbucket)
* **测试框架:** JUnit, TestNG, Mockito, Spring Test
* **API:** RESTful, GraphQL, Swagger/OpenAPI
* **消息中间件:** Kafka, RabbitMQ, RocketMQ
* **容器化与云:** Docker, Kubernetes; AWS, Azure, GCP, 阿里云, 腾讯云
* **其他:** Linux基础, 网络基础, 数据结构与算法, 设计模式, OAuth2/JWT, CI/CD (Jenkins, GitLab CI), 监控工具 (Prometheus, Grafana, ELK)
## 加分项/更高阶职责(根据资历和岗位)
* 系统架构设计(微服务、分布式系统)。
* 性能调优与容量规划。
* 技术选型与技术决策。
* 指导初级工程师。
* 参与DevOps实践(基础设施即代码IaC等)。
* 安全编码实践与漏洞修复。
可兼职时间
可兼职地点
0条评论 雇主评价