您是否热衷于使用干净、经过良好测试、安全的代码构建尖端产品?Resilient Group正在寻找一位具有Java专业知识的高级开发人员。您将向技术副总裁汇报工作,并有机会在敏捷开发环境中从零开始构建关键业务组件。您还将在团队中发挥重要作用,提供高质量的技术交付成果。我们希望您能与设计师、产品经理和其他利益相关者密切合作,以定义和执行我们的愿景和战略。这是一个与前瞻性公司合作开展令人兴奋的新项目的绝佳机会。
项目简介
我们正在构建一个开源、非托管的通信和存储平台,将控制权重新交还给用户。我们的平台旨在使个人默认保留对其身份、消息和文件的完全所有权,而不是依赖于拥有、货币化或限制数据访问的集中式服务。
您的工作内容
• 设计和实现可扩展的分布式代理和中继服务器
• 开发后端消息分发和存储服务
• 构建由iOS和Android应用程序使用的API和后端服务
• 实现与Ceph和/或AWS S3的存储集成
• 设计和实现一个中央监控服务器,所有节点报告:
• 健康状态
• 指标
• 服务器活动和事件
• 开发REST API和基于Web的管理界面进行监控和管理
• 确保系统安全、容错性高且高度可用
• 协作进行系统架构、性能调优和可扩展性规划
• 参与代码审查并维护干净、文档齐全的代码
所需技能和经验
核心要求
• 具有丰富的Java经验(优先考虑Java 17+)
• 具有扎实的Spring Boot经验
• 具有构建分布式和可扩展后端系统的经验
• 对并发、多线程和异步I/O有深入理解
• 具有RESTful API经验
• 熟悉Maven用于构建和依赖管理
• 具有使用Git / Bitbucket的经验
• 了解基于Linux的服务器环境
后端和基础设施
• 具有代理服务器、中继服务器或消息系统的经验
• 理解网络概念(TCP/IP、HTTP、WebSocket)
• 具有与对象存储(Ceph、AWS S3或类似)集成的经验
• 具有关系型和/或NoSQL数据库的经验
• 理解监控、指标和健康检查
加分技能
• 具有Netty、Spring WebFlux或响应式编程经验
• 了解VoIP技术(SIP、RTP、WebRTC)
• 具有实时通信系统经验
• 熟悉Kubernetes / Docker
• 具有构建管理仪表板或监控系统的经验
• 了解安全和加密技术(TLS、JWT、加密)
我们寻找的特质
• 强大的问题解决和系统设计技能
• 能够处理低级网络和高级API
• 能够从头到尾负责功能
• 对构建高性能和实时系统感兴趣
• 积极主动和注重细节的心态
• 必须合法能够在加拿大工作并居住在大温哥华地区——我们的办公室位于温哥华市中心
我们提供的待遇
• 有机会参与复杂的、真实世界的分布式系统工作
• 技术挑战性工作,并有架构输入的空间
• 具有竞争力的薪酬(根据经验)
• 扩展健康福利
• 成长和指导的机会