

Ideal Candidate Profile
- Strong grasp of computer science fundamentals and excellent problem-solving skills.
- Good understanding of software engineering practices, Data Structures & Algorithms.
- Solid programming skills in Java/Kotlin.
- Good communication skills.
- Strong sense of ownership and accountability.
- Experience in Reactive programming, Asynchronous programming and Unit Testing will be an added advantage.
- 6-10 years of experience in product driven organization.

Similar jobs

Job Title:
Senior software Development Engineer
Department:
Android - Technology
Based at:
Bangalore
Reports to:
Engineering Manager
Experience:
4 years to 7 years
Required Qualification:
B.tech from Top tier college
Company Overview:
At Porter, we are passionate about improving productivity. We want to help businesses, large and small, optimize their last-mile operations and empower them to unleash the growth of their core functions. Last mile delivery logistics is one of the biggest and fastest growing sectors of the economy with a market cap upwards of 50 billion USD and a growth rate exceeding 15% CAGR.
Porter is the fastest growing leader in this sector with operations in major cities, a fleet size exceeding 1L registered and 50k active driver partners and a customer base with 3.5M being monthly active. Our industry-best technology platform has raised over 150 million USD from investors including Sequoia Capital, Kae Capital, Mahindra group, LGT Aspada, Tiger Global and Vitruvian Partners.
We are addressing a massive problem and going after a huge market. We’re trying to create a household name in transportation and our ambition is to disrupt all facets of supply chain. At Porter, we’re here to do the best work of our lives.
If you want to do the same and love the challenges and opportunities of a fast paced work environment, then we believe Porter is the right place for you.
Company URL: https://porter.in/
Porter has multiple mobile apps used by our consumers - app used by our customers to place on-demand orders, app used by our drivers to service those orders, and app used by fleet owners to manage their vehicles on our platform. Each of these apps is frequently iterated over to improve functionality and experience. In such a fast paced environment, we expect our mobile developers to develop and maintain these complex apps with a heavy focus on code design to keep the code easily extensible and maintainable.
Responsibilities:
● Participate in the product life cycle to understand directly from the Product Team the expected behavior of the apps and the use cases being implemented.
● Participate in design discussions with heavy focus on modeling entities and interactions, following architectural patterns like MVP, MVVM, Clean Architecture, etc.
● Collaborate with cross-functional teams - backend teams for finalizing 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
● 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 - optimizing 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 synchronized 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: >= 4 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



What does the core role include?
- Designing and developing high-volume, low-latency applications for mission-critical systems and delivering high-availability and performance
- Designing stateless components in React Native
- Contributing in all phases of the development lifecycle
- Working with the developers to create and maintain a robust framework to support the apps
- Working with the developers to build the interface with a focus on usability features
What else can you expect in the role?
- Prepare and produce releases of software components
- Optimizing performance for the apps
- Problem-solving skills, analytical mind, and positive attitude
- Ability to think from end users perspective and focused on improving the overall product experience.
- Deliver across the entire app life cycle concept, design, build, deploy, test, release to app stores and support
What can fetch you brownie points?
- Hands on experience with React Native is required
- Hands-on experience in React Native APIs, ReactJS, Javascript, ECMAScript (OOJS) and JSX.
- Strong understanding of JavaScript ecosystem
- Hands on experience on Android in creating Hybrid / Native applications
- Demonstrable UI/UX experience on a large-scale app.
- Thorough understanding of React Native development tools like IDEs (Nuclide, Atom, Sublime Text, or Visual
- Good knowledge of JS frameworks like ReactJS is a plus.
Desired Skills and Experience
Hybrid Apps,React Native, Native iOS and Android Architecture understanding



- 2+ years of experience in Front React Native development
- Experienced in using Mobile Views on iOS and Android
- Good understanding of MVC frameworks
- A knack for writing clean, readable React-Native code
- Solid understanding of object-oriented programming
- Understanding Agile Development and Scrum practices
- Familiarity with version control Git (Github or Gitlab)



Skills: React Native, RESTFUL API, AWS, GIT Roles & Responsibility:
|
||
Internal Notes: |


Proficiency in the standard Android tech stack - JAVA/Kotlin
Good knowledge of design patterns, MVVM, Dependency Injection and more
Restful API, JSON Parsing, Retrofit Network Libraries
Strong knowledge of Android UI design principles, patterns, and best practices
Experience with offline storage, threading, and performance tuning
Excellent Android technical issue diagnosis and problem solving skills
GOOD TO HAVE
Hilt
Coroutine
Clean architecture
Excellent knowledge of UI animation and transition

We are looking for an Android Developer who possesses a passion for pushing mobile technologies to the limits. This Android app developer will work with our team of talented engineers to design and build our Saas Application.
Responsibilities
Design and build advanced applications for the Android platform
Collaborate with cross-functional teams to define, design, and ship new features
Work with outside data sources and APIs
Unit-test code for robustness, including edge cases, usability, and general reliability
Work on bug fixing and improving application performance
Continuously discover, evaluate, and implement new technologies to maximize development efficiency
Requirements
Proven software development experience and Android skills development work experience ( 3- 6 years )
Proven working experience in Android app development
Experience with Android SDK
Experience working with Native Android, Java, and Kotlin.

As a Mobile developer, you’ll collaborate with internal teams to develop functional mobile applications, while working in a fast-paced environment.
Ultimately, you should be able to design and build the next generation of our mobile applications.
Responsibilities
-Support the entire application lifecycle (concept, design, test, release and support)
-Produce fully functional mobile applications writing clean code
-Gather specific requirements and suggest solutions
-Write unit and UI tests to identify malfunctions
-Troubleshoot and debug to optimize performance
-Design interfaces to improve user experience
-Liaise with Product development team to plan new features
-Stay up-to-date with new technology trends
Requirements
-Proven work experience as a Mobile developer
-Demonstrable portfolio of released applications on the App store or the Android market
-In-depth knowledge of at least one programming language like Swift and Java & flutter
-Experience with third-party libraries and APIs
-Familiarity with OOP design principles
-Excellent analytical skills with a good problem-solving attitude
-Ability to perform in a team environment
-Any Graduate

At the very least, we expect you to have -
- Very strong JS fundamentals, ES6, functional & OOP concepts
- Understanding of REST APIs, the document request model, and offline storage
- Knowledge of advanced React Native concepts
- At least 4 years experience building and shipping mobile applications
- At least 4 years experience working with React Native
We are a Silicon Valley founded & headquartered startup with an engineering office in Bangalore, building a payments platform around Bitcoin & the Lightning Network.


