ā 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
Get notifed when new similar jobs are uploaded
Get notifed when new similar jobs are uploaded