Grab logo
格步
Senior Software Engineer, Mobile (Android)

Senior Software Engineer, Mobile (Android)

发布于 5 个月前

普通员工/个人贡献者

Singapore, Singapore
高级经验
全职员工
仅现场办公
本科
软件工程
CI/CD
地图技术
多线程
系统设计
UI/UX

AI 估算 · 45k–75k

该职位要求资深Android开发经验,涉及复杂的地图技术和系统设计,技能门槛高,市场竞争力强,且服务于东南亚领先的超级应用平台,发展前景广阔。

职位详情

关于这个职位

这是一个面向东南亚市场的资深Android软件工程师职位,专注于地图、路线和导航等地理空间服务

你将加入Grab的Geo工程团队,与后端、数据和设计团队紧密合作,为数百万用户开发快速、可靠且引人入胜的移动端功能
工作地点位于新加坡,需要具备扎实的Android开发经验和系统设计能力

最低要求

计算机科学、软件工程或相关领域的学位,以及4年以上构建Android应用程序的经验

精通Kotlin和/或Java,对设计模式、多线程和整洁编码实践有扎实的理解
在数据结构和算法方面有坚实的基础,能够设计高效、可扩展的移动系统
具有集成API和第三方SDK的经验,对网络、身份验证和版本控制有良好的理解
能够构建复杂、高质量的UI和直观的UX,注重可访问性和细节打磨
致力于代码质量、测试、安全和清晰的文档
对Android的CI/CD有深入理解,包括Gradle、自动化测试和发布流程
拥有与工程师、设计师和产品经理合作,将需求转化为已发布功能的经验
具备高度的责任感、分析能力和系统设计技能

工作职责

设计、开发和优化Android功能及共享的移动组件

与跨职能团队合作,收集需求并提供端到端的解决方案
实现复杂的UI和直观的UX,构建可重用的库,并与多个应用程序和服务集成
维护代码质量、测试、安全和清晰的文档
监控应用程序的健康状况和性能,分析指标,并推动可靠性改进
探索并提出新的设计和架构,以实现扩展和提升开发效率
集思广益,识别问题,并提供务实的解决方案,重点关注用户影响和性能

优先资格

有LiDAR、传感器或地图技术的经验

AI 洞察

优缺点分析

优点

  • 技术栈前沿:专注于移动端与地图技术的结合,涉及性能优化、复杂UI和系统设计,有利于积累稀缺且高价值的专业技能
  • 职业发展清晰:在成熟的工程团队中,有明确的协作流程和技术规范,能获得系统性的成长和 mentorship 机会
  • 区域影响力:所开发的功能服务整个东南亚市场,工作成果能产生广泛的区域影响力和社会价值
  • 技术复杂度高:需要同时处理地图服务集成、高性能UI、多线程并发以及大规模用户访问带来的技术难题
  • 跨团队协作要求高:需要频繁与产品、设计、后端等多个团队沟通对齐,对沟通和项目管理能力是不小的考验

缺点 / 挑战

  • 平台优势显著:在东南亚领先的超级应用Grab工作,能接触到海量用户和复杂的业务场景,技术挑战和价值体现都很高
  • 性能与稳定性压力大:作为核心用户体验的一部分,对应用的性能、稳定性和可靠性有极高要求,线上问题处理压力较大
  • 适合拥有扎实Android开发经验,对地图或位置服务技术有浓厚兴趣,并且渴望在区域级平台应对复杂技术挑战、追求工程卓越的资深工程师

角色解读

  • 技术深度上,可以从Android专家向移动端架构师或技术负责人发展,主导更复杂的技术方案和团队技术规划
  • 业务广度上,可以深入理解地图、出行或超级应用生态,向技术产品经理或特定业务领域的技术专家转型
  • 长期来看,在Grab这样的区域巨头积累的经验,为未来在东南亚科技市场担任更高阶的技术或管理职位奠定了坚实基础
  • 你将专注于开发与地理位置和地图相关的Android移动端体验,这些功能被东南亚数百万用户使用
  • 核心工作包括设计、开发和优化Android应用功能,以及构建可复用的共享移动组件库
  • 你需要与产品、设计和后端团队紧密协作,将产品需求转化为技术方案并最终交付上线
  • 此外,你还需要负责监控应用性能、分析数据指标,并持续推动系统可靠性和用户体验的改进
  • 核心是扎实的Android开发能力,要求精通Kotlin/Java,并深入理解设计模式、多线程和移动端架构
  • 必须具备强大的工程实践能力,包括对代码质量、自动化测试、CI/CD流程(如Gradle)的深刻理解和应用
  • 需要出色的UI/UX实现能力,能够构建复杂且高性能的用户界面,并注重可访问性等细节
  • 优秀的系统设计、问题分析和跨团队协作能力也是成功胜任此角色的关键

申请策略

  • 深入了解Grab的业务,特别是其超级应用生态(出行、外卖、支付等),思考地理位置服务如何赋能这些业务,并在面试中展现你的理解
  • 研究Grab的工程文化和技术博客(如果公开),了解其技术栈和面临的挑战,让你的申请和面试回答更具针对性
  • 重点突出在Android开发,特别是Kotlin/Java、性能优化、复杂UI实现方面的项目经验和具体成果(如性能提升百分比、用户增长数据)
  • 详细描述你参与过的需要跨团队(产品、设计、后端)协作的大型项目,说明你在其中的角色和贡献
  • 如果有地图、导航、LBS相关或高性能移动应用开发的经验,务必作为核心亮点单独列出并详细说明
  • 展示你对工程最佳实践的坚持,例如在代码质量、自动化测试、CI/CD流程建设方面的具体案例
  • 如果对地图技术不熟悉,可以提前学习一些基础知识,如常见地图SDK(Google Maps, Mapbox)的集成和使用原理
  • 深入复习Android性能优化(内存、启动速度、渲染)、多线程编程(Coroutines/RxJava)以及移动端架构设计(如MVVM, MVI)的相关知识

面试指南

  • 对于技术问题,采用“情境-任务-行动-结果”(STAR)框架来组织答案,清晰阐述背景、你的角色、具体行动和可量化的成果
  • 对于系统设计问题,先从需求澄清开始,然后分层(客户端、网络、服务端)讨论,重点关注数据流、关键接口、性能、可扩展性和容错设计
  • 对于行为协作类问题,重点展示你的沟通技巧、同理心、以业务目标为导向的思维方式,以及寻求共识和推动问题解决的能力
  • 请描述一个你开发过的、涉及复杂UI或高性能要求的Android功能
  • 你遇到了哪些挑战,是如何解决的?
  • 你如何设计和实现一个可复用的Android组件库?会考虑哪些因素(如API设计、依赖管理、测试)?
  • 请分享一次你通过监控和分析应用性能数据,发现并成功解决一个线上问题的经历
  • 如果让你设计一个支持实时导航和路线规划的系统,你会考虑哪些关键组件和技术选型?

职位点评

Watch Jobs