ā Participate in the product life cycle to understand directly from the Product Team the expected
behaviour of the apps and the use cases being implemented.
ā Participate in design discussions with heavy focus on modelling entities and interactions,
following architectural patterns like MVP, MVVM, Clean Architecture, etc.
ā Collaborate with cross-functional teams - backend teams for finalising APIs, design team for
UI / UX, QA team for testing, etc.
ā Participate in iteration planning to give effort estimates.
ā Write clean, readable, maintainable and performant code following well established design
principles.
ā Write Unit Tests and Integration Tests to ensure correctness.
ā Track, debug and fix bugs & crashes escalated.
ā Ensure the apps are performant - no memory leaks, no frame drops, battery usage, etc.
ā Explore and evaluate new technologies, tools and SDKs as may be necessary to improve the
entire development pipeline.
ā Work with cross-platform technologies, like Kotlin Multiplatform, to ensure consistency of
features and code reuse across Android / iOS platforms.
Technologies:
ā Languages: Kotlin, Java, SQL, RX Java(Mandatory)
ā Frameworks: RIBs, Kotlin Multiplatform, Spek
ā Architectures: MVVM, MVP, Clean Architecture, etc
ā Libraries: Kotlin Coroutines, RxJava, Dagger2, Ktor, Jetpack, etc
ā Integrations: AWS services, Payment Gateways (Razorpay, etc), Google Maps, Firebase, etc
Products & Systems Overview
You will be contributing to products concerning both customers and partner drivers.
ā Customer App:
ā All orders serviced by Porter are placed from this app making it our primary business
driver.
ā To keep the code for this large complex app maintainable, there is a heavy emphasis on
good design and architecture. Currently the RIBs framework is used to break the code
recursively into smaller components.
ā To ensure feature parity and consistency across our Android and iOS platforms, we use
Kotlin Multiplatform to re-use business logic code across the two platforms.
ā Partner App:
ā All orders serviced by Porter are fulfilled by drivers using this app.
ā Given that the app is expected to run for long hours on cheaper phones there is a heavy
emphasis on keeping the apps performant - optimising battery consumption and memory
usage.
ā The app serves as a medium for onboarding - providing functionality for partners to
upload and verify their documents using Image Processing.
ā To train the drivers for every new feature launched, we provide a guided audio-visual
training session - using visual cues like hint to click / swipe with synchronised
pre-configured audio to guide him through the sequence of steps.
ā Fleet Owner Apps:
ā A multi-platform app for fleet owners to manage their drivers and track their performance
and earnings on our platform.
Qualification Prerequisites
ā Experience: >= 3 years in Android development
ā Proficiency with Android framework and Kotlin.
ā Experience in designing, writing and maintaining a large complex app code base.
ā Experience with design patterns like MVP, MVVM, Clean Architecture, etc.
ā Experience with reactive & asynchronous programming using RxJava / Coroutines / Flows
Upload your resume, increase your shortlisting chances by 80%
Get notifed when new similar jobs are uploaded
Get notifed when new similar jobs are uploaded
Get notifed when new similar jobs are uploaded
Get notifed when new similar jobs are uploaded