第109号 - 后端软件工程师 - 支付平台
#109 - Backend Software Engineer - Payments Platform
我们正在寻找一位动手能力强的后端软件工程师,在分布式金融系统环境中构建和维护支付服务。您将添加新的支付功能,交付特性及修复问题,并提升生产环境中的 Java 和 Spring Boot 服务的可靠性。企业经验优先。
主要职责
· 为支付平台开发和维护生产环境的 Java 和 Spring Boot 服务。
· 添加新的支付方式,交付特性、修复问题和提升可靠性。
· 通过 GitLab CI 提交生产就绪的更改,确保单元测试和集成测试覆盖率符合 JaCoCo 质量标准。
· 提升可观测性和弹性,并通过 Datadog 监控支持安全的灰度和生产部署。
必备技能
· 在生产环境的微服务中使用 Java 和 Spring Boot 有 5 年以上后端工程经验。
· 具备在分布式系统环境中展示出对生产服务负责的经验,中级到高级水平。
· 具有使用 Netflix DGS 构建 GraphQL API 或通过 Apollo Java/Kotlin 客户端消费 API 的经验。要求具备 Apollo GraphQL 客户端经验。
· 在事件驱动的分布式系统中具有 AWS SQS、Apache Kafka 或 RabbitMQ 的实际操作经验,包括构建或维护消费事件的生产 Spring Boot 服务。
· 具有强大的 JPA/Hibernate 和 Spring Data JPA 经验,使用 MySQL/Aurora,包括:
· 事务设计
· 乐观锁
· 编写 JPA 实体
· 管理生产环境的数据库迁移
- 具备使用 Mockito 编写 JUnit 5 单元测试以及在真实环境进行集成测试的经验。
- 熟练掌握 Gradle 多模块构建。
- 具有 GitLab CI/CD 和 Datadog 指标与监控的经验,包括使用 Datadog 监控作为部署质量门禁。
- 能够负责任地使用 AI 编码助手,如 GitHub Copilot 或 Claude,同时保持代码质量和正确性。
- 具有金融级后端系统的经验,要求具备正确性、幂等性和一致性。
- 能够清晰地推理跨外部系统的事务边界,例如第三方计费平台和本地元数据存储。
- 具有设计幂等事件处理程序的经验。
- 具有集成基于 REST 或 SDK 的第三方平台的经验。
加分项技能
· 具有 Spring Boot 3 经验。
· 具有之前计费或支付领域的经验。
· 使用 AWS SDK v2 的 DynamoDB 和/或使用 Spring Data 的 MongoDB,在多存储环境中。
查看英文原文
We are seeking a hands-on Backend Software Engineer to build and maintain payment services in a distributed financial systems environment. You will add new payment capabilities, deliver features and bug fixes, and improve the reliability of production Java and Spring Boot services.
Enterprise experience is strongly preferred.
Key Responsibilities
· Develop and maintain production Java and Spring Boot services for a payments platform.
· Add new payment methods and deliver features, bug fixes, and reliability improvements.
· Deliver production-ready changes through GitLab CI, with unit and integration test coverage that meets JaCoCo quality gates.
· Improve observability and resilience, and support safe canary and production deployments gated by Datadog monitors.
Must-Have Skills
· 5+ years of backend engineering experience with Java and Spring Boot in production microservices.
· Mid-to-senior-level experience with demonstrated ownership of production services in a distributed systems environment.
· Experience building GraphQL APIs with Netflix DGS or consuming APIs through the Apollo Java/Kotlin client. Apollo GraphQL client experience is required.
· Hands-on experience with AWS SQS, Apache Kafka, or RabbitMQ in event-driven distributed systems, including building or maintaining a production Spring Boot service that consumes events.
· Strong JPA/Hibernate and Spring Data JPA experience with MySQL/Aurora, including:· Transactional design
· Optimistic locking
· Writing JPA entities
· Managing production schema migrations
- Experience writing JUnit 5 unit tests with Mockito and integration tests against live environments.
- Proficiency with Gradle multi-module builds.
- Experience with GitLab CI/CD and Datadog metrics and monitors, including using Datadog monitors as deployment quality gates.
- Responsible use of AI coding assistants, such as GitHub Copilot or Claude, while maintaining code quality and correctness.
- Experience with financial-grade backend systems requiring correctness, idempotency, and consistency.
- Ability to reason clearly about transactional boundaries across external systems, such as a third-party billing platform and a local metadata store.
- Experience designing idempotent event handlers.
- Experience integrating external REST- or SDK-based third-party platforms.
- Nice-to-Have Skills
- Spring Boot 3 experience.
- Prior billing or payments domain experience.
- DynamoDB with AWS SDK v2 and/or MongoDB with Spring Data in a multi-store architecture.
- Netflix DGS experience.
- Required Tools & Platforms
- Java and Spring Boot
- GraphQL and the Apollo Java/Kotlin client
- AWS SQS, Apache Kafka, or RabbitMQ
- JPA/Hibernate, Spring Data JPA, and MySQL/Aurora
- JUnit 5 and Mockito
- Gradle
- GitLab CI/CD
- JaCoCo
- Datadog
- AI coding assistants used responsibly, such as GitHub Copilot or Claude
- Location, Time & Engagement
- Candidates must be based in an eligible APAC location.
- Working-hour coverage aligned with India Standard Time (IST) is required.