GetGo is Singapore’s largest and fastest-growing carsharing platform that enables everyone with the freedom to drive without the burden of ownership. Our vision is to be APAC’s #1 carsharing platform as we seek to create a mobility ecosystem that's shared and sustainable for all.
We are seeking an experienced Senior Android Engineer to join our engineering team. In this role, you will be responsible for overseeing the health and stability of a specific mobile app across our mobility platforms [GetGo, FMS (Fleet Management System), and ZipZap]. You will work closely with the Site Reliability Engineer, Tech Leads, and Engineering Manager to manage changes, ensure high availability, and drive technical excellence within your service portfolio.
Bachelor’s or Master’s degree in Computer Science, Software Engineering, or a related field.
Minimum six (6) years of experience in Android application development, with at least two (2) years in a senior engineering role.
Expertise in Modern Android Development (MAD): Proven experience with modern Android tools and practices, including strong proficiency in Jetpack Compose.
Kotlin Multiplatform (KMP): Hands-on professional experience developing cross-platform applications using Kotlin Multiplatform.
Architectural Knowledge: Deep understanding of software design patterns, clean architecture, and software engineering principles.
CI/CD Integration: Experience with setting up and maintaining CI/CD pipelines using tools like Jenkins or CircleCI.
Agile Methodologies: Solid experience working in Agile development environments, including familiarity with Scrum or Kanban practices
Version Control: Proficient in Git and common version control workflows (e.g., GitFlow).
Android Development Proficiency: Strong command of the Android SDK, Kotlin, Android Studio, SQL, and Web Service Integration (REST/GraphQL).
Programming Paradigms: Solid understanding of Object-Oriented Programming (OOP) and Functional Programming concepts.
Experience in the mobility or transportation technology sector.
Knowledge of DevOps practices and tools.
Knowledge of security and experience in writing secure and efficient codes
Contributions to open-source projects or technical publications.
Excellent problem-solving skills with the ability to analyze complex technical challenges.
Strong communication skills to collaborate effectively with cross-functional teams.
Ability to lead technical discussions and present complex ideas clearly.
Own the overall health and stability of assigned services, ensuring high availability and performance.
Monitor service metrics, identify bottlenecks, and implement optimizations to improve efficiency and scalability.
Collaborate with the SRE team to implement monitoring and alerting systems for proactive issue detection.
Work with Tech Leads to review and approve changes to services, ensuring alignment with technical specifications and best practices.
Collaborate with the Engineering Manager to prioritize and plan service updates, balancing technical debt with feature development.
Implement and manage changes to services, ensuring minimal disruption to users.
Provide technical guidance to junior engineers working on services within your portfolio.
Collaborate with cross-functional teams (e.g., product management, QA, design) to ensure seamless integration of new features and updates.
Participate in code reviews to maintain high standards of code quality and adherence to best practices.
Troubleshoot complex technical issues within your service portfolio, working with the SRE team to resolve incidents quickly.
Analyze root causes of issues and implement preventive measures to avoid recurrence.
Develop and maintain documentation for service operations and troubleshooting procedures.
Provide input on service architecture and design decisions to ensure scalability and maintainability.
Stay current with emerging technologies and trends in mobility to inform technical decisions.