高级Scala开发工程师 | 远程职位 | 微服务架构与Kafka
远程
全职
简介
我们正在寻找一位经验丰富的高级Scala开发工程师,以全职远程的方式加入我们充满活力的团队。在这个职位上,您将利用您在Scala编程、Apache Kafka和微服务架构方面的专业知识构建强大、可扩展的系统。该职位要求开发人员具备扎实的函数式编程技能,Scala实际经验(2-3年以上),以及坚实的Java背景。
主要职责
- 使用Scala 3(Dotty)和Scala生态系统设计、开发和维护高性能微服务。
- 实施和优化基于Apache Kafka的消息系统,确保可靠的数据处理。
- 创建遵循RESTful原则和最佳实践的、文档完善的API设计。
- 与跨职能团队合作,定义、设计和交付新功能与架构。
- 参与代码审查,以维持高代码质量并与团队成员分享知识。
- 编写干净、可维护且可测试的代码,并配有适当的单元和集成测试。
- 排查并解决生产环境中的复杂技术问题。
- 持续改进应用程序的性能、可靠性和可扩展性。
- 及时了解Scala生态系统和函数式编程的最新发展。
- 指导初级开发人员并分享Scala开发的最佳实践。
必备技能
- 精通Java开发,对JVM架构有扎实的理解。
- 2-3年以上Scala编程语言的实际操作经验。
- 具有使用Apache Kafka构建事件驱动应用程序的实际经验。
- 已证明的设计、实施和部署微服务架构的经验。
- 强大的API设计技能,了解RESTful和/或GraphQL原则。
- 具有并发和响应式编程模型的经验。
- 精通版本控制系统,尤其是Git。
- 了解CI/CD流水线和自动化测试框架。
- 自信的英语沟通能力(书面和口头),以便有效地进行远程协作。
- 具有自我激励能力,能够在远程环境中独立工作。
加分项
- 具有Big Data技术经验,如Apache Spark、Hadoop或Flink。
- 了解Akka框架,用于构建并发和分布式应用程序。
- 熟悉Play Framework用于Web应用程序开发。
- 有使用函数式编程库如Cats或Scalaz的经验。
- 对开源Scala项目或库有贡献。
- 有云平台(AWS、GCP、Azure)和容器编排(Kubernetes)经验。
- 了解数据库技术(SQL和NoSQL)。
- 具有高负载或实时系统开发背景。
- 有Kafka以外的消息系统经验(RabbitMQ、Pulsar)。
- 理解事件溯源和CQRS模式。
为什么加入我们
加入一个前瞻性思维的团队,该团队采用现代开发实践和前沿技术。作为一家以远程为先的公司,我们提供灵活性、工作与生活的平衡,以及在具有挑战性的项目上工作的机会,这些项目推动了可扩展应用程序开发的边界。您将有机会实现专业成长,持续学习,并对全球数千用户使用的系统做出有影响力的贡献。