The fastest courier, transport, food delivery and shopping services provider in Indonesia.
Lead Software Engineer (Android) - Driver Platform
Job Description / Skills Required
About The Role
The Driver Platform Team is responsible for building products & features meeting the technology needs of our driver-partners. You will be directly impacting the livelihood of 2M+ drivers across geographies.
We are looking for engineers who are passionate about maintaining clean and maintainable codebase, also empathise with our driver partners for whom our app is the only way of livelihood. We aspire to become one of the best platforms available for drivers partners in the world.
What You Will Do
- Independently responsible for the entire lifecycle of medium to high complexity projects
- Crafting high-quality, maintainable and well-tested code for our mobile app
- Striving to bring improvements to the current architecture and code structure for a large scale application
- Communicate and collaborate with mobile and backend engineers across multiple teams on a regular basis to ship high-quality features
- Collaborate closely with product managers, QA engineers and designers to define product scope, create execution plans and iterate on it. Keen on performance optimization of Android apps (memory, battery and network)
- Lead a stream of work end-to-end starting from technical analysis to final delivery
- Mentor junior developers and help them grow in their career path
- Establishing and evangelizing engineering best practices in the team, has strong debugging and root cause analysis skills for complex problems. Writes and reviews architecture documents and participates in architecture design sessions with the team seeking and providing constructive feedback
What You Will Need
- 5+ years of experience in Android application development
- In-depth and diverse knowledge and understanding of the Android SDK
- Strong grasp on programming languages like Kotlin/Java and their internals
- Strong understanding and experience in Android architectures, design patterns, OO design principles, etc
- Strong understanding of unit and instrumentation testing of code for robustness and reliability
- Hands-on experience with popular open-source libraries like Dagger, RxJava, OkHttp, Mockito, Espresso, and similar libraries
- Knack of writing clean, readable and maintainable code and promoting the same in the team
- Experience in leading and mentoring other mobile developers in the team, stays updated with the new and emerging technologies in the Android ecosystem