角色
您将作为我们旗舰Android客户端开发的关键贡献者。这个角色的重要部分包括与产品经理、设计师和其他软件工程师密切合作,将高层次的需求转化为高质量、有影响力的功能。您将在端到端开发生命周期中发挥重要作用:从初始设计和架构规划到实施、测试和部署。
重要的是,您将作为整个Android代码库的技术领导者和管理者。这包括建立和维护最佳实践、代码标准以及应用程序的整体技术质量。您将指导和引导其他工程师,促进一个持续学习的环境,提高团队集体编写干净、可维护和高性能Kotlin代码的能力,确保我们重要的Android应用程序能够持续可靠地交付给全球用户。
这个角色要求在执行复杂技术任务时具备高度的自主性,同时在一个小型、快速发展的团队中有效合作,以确保技术决策与整体产品愿景一致。您将是一个亲力亲为的贡献者,专注于交付直接影响新兴市场消费者金融应用程序的高质量代码。
技能
作为一名Android软件工程师,我们认为以下技能对这个角色很重要:
7年以上专业Android开发经验:有发布和维护被大量用户使用的Android应用程序的历史记录。
Kotlin精通:对Kotlin语言有深刻的、专家级的知识,包括现代语言特性、协程、流和高级语言结构。
对Android生态系统的深刻理解:对最新的Android SDK、API和Material Design指南有专家级知识。
架构专业知识:有设计、实施和维护复杂、可扩展和模块化Android应用程序架构(例如,MVVM、MVI、Clean Architecture)的经验,使用ViewModels等组件并知道何时应用。
现代UI框架的广泛经验:对Jetpack Compose有专家级知识和实践经验,包括高级布局技术、自定义可组合项/视图和导航。
网络和数据处理:
精通使用RESTful API、HTTP(例如,使用Retrofit/OkHttp)和/或利用WebSockets。
对安全数据存储(例如,SharedPreferences、EncryptedSharedPreferences)、缓存策略和离线功能(例如,使用Room)有深刻理解。
并发和性能优化:有能力使用现代Android工具和技术(Kotlin协程、线程、分析工具)识别和解决性能瓶颈、内存泄漏和复杂的并发问题。
测试和质量保证:有实施和推动各种测试方法(包括单元测试(例如,JUnit、Mockito)、集成测试和UI测试(例如,Espresso、Compose测试))的经验。
依赖管理:精通常见的构建系统和依赖管理工具(例如,Gradle/Kotlin DSL)。
CI/CD管道经验:有设置、维护或优化持续集成/持续交付管道(例如,Fastlane、Jenkins、GitHub Actions、GitLab CI)用于Android构建和部署的经验。
高级+(高级、员工、首席、杰出)工程师 - 您是一位强大的技术实践者,能够在理论与实践实施的严酷现实之间找到平衡。知道何时何地自主执行,同时仍然是团队的一员。
加分技能
这些不是必需的,但绝对会让您在其他候选人中脱颖而出:
在金融技术领域的经验,如支付、加密货币、入金、出金等。
全栈工程技能和在其他技术栈部分灵活工作的能力。
有使用现代初创公司风格的Web技术栈(如Postgres、Redis等)的经验。