Android 软件工程师 - Semperis(多伦多混合办公)
为 Semperis 的 Ready1 移动事件响应平台构建安全的 Kotlin 和 Jetpack Compose 功能。 通过 Google Play 交付企业身份与网络安全工作流。
描述
- 负责 Ready1 安全、可投入生产的 Android 功能,从初始设计到发布至 Google Play
- 使用 Kotlin 开发、测试并发布原生 Android 功能
- 创建和现代化 Jetpack Compose 界面,同时逐步迁移旧版 RecyclerView 和 XML 组件
- 使用 MSAL、Azure AD B2C、生物识别和通行密钥构建并维护身份验证与会话管理
- 通过 Retrofit 和 OkHttp 连接 REST 服务,并完善加载、失败、重试和空状态处理
- 协助维护跨多个区域的路由
- 使用 SignalR、WebSockets 和 Azure Communication Services,为实时聊天和视频功能做出贡献
- 通过 Hilt 依赖注入、ViewModel、仓库、用例和基于功能的包结构强化应用架构
- 编写单元测试和 UI 测试覆盖,同时确保拉取请求清晰、易于审查并符合质量标准
- 通过 Gradle 构建变体、签名、Play Console 提交,以及发布后的崩溃和日志调查,协助完成发布
- 在令牌、密钥、权限、本地存储、日志记录和隐私方面采用安全的移动工程实践
- 与工程、产品、设计、QA 和安全团队协作,明确需求、解释权衡并交付易于维护的版本
任职要求
- 通常需要至少三年交付生产级 Android 应用的经验
- 熟练掌握 Kotlin 和 Android SDK 核心概念
- 具备使用 Jetpack Compose 创建生产级界面的实践经验
- 具备协程、Flow 以及生命周期感知型 Android 设计模式的经验
- 了解 Jetpack ViewModel 和 Navigation,以及基于 Gradle 的 Android Studio 项目
- 具备连接 REST 和 JSON 服务的经验,最好熟悉 Retrofit 和 OkHttp
- 能够诊断身份验证、令牌续期和不稳定网络行为
- 具备编写单元测试和 Android UI 测试的经验
- 熟悉 Git 工作流、拉取请求、代码审查和持续集成
- 具备移动安全实践知识,包括令牌、密钥、权限和设备端数据的保护
- 具备良好的书面和口头沟通能力,能够将模糊需求转化为可支持的版本
- 如果还具备 MSAL、Azure AD B2C、OAuth/OIDC、通行密钥、WebAuthn、企业身份提供商、Hilt 或 Dagger、SignalR、WebSockets、Azure Communication Services、WebRTC、多构建变体、Play App Signing、Crashlytics、网络安全产品、无障碍、国际化、功能开关、设计系统、原生 NDK 或 C++ 模块等方面的经验,将更具优势
福利待遇
- 注重使命、职业成长和可持续平衡的工作文化
- 混合办公安排,每周最多三天到办公室,其余时间远程办公
- 国际化、全球分布式的团队环境
- 致力于提供平等就业机会
- 为残障申请者提供合理便利
