About Rivigo
Similar jobs
React Native Developer Job Description
We are searching for a brilliant, flexible React Native Developer to create novel Android / IOS apps that meet the needs of our target audience.
To this end, the React Native Developer's Responsibilities include writing and proofreading code, liaising with coworkers within and outside of their department, and monitoring customers' feedback. Over time, you will also be required to create app updates.
To ensure success as an React Native Developer, you should demonstrate proficiency in one of the mainstream programming languages, and a sound understanding of the traditional product life cycle.
An exceptional React Native Developer will be fearless but respectful in the pursuit of excellence, continually striving to shape the
ways in which Android/ IOS apps impact the world around us.
React Native Developer Responsibilities:
Conceptualizing and formulating apps that are suitable for use on all types of Android/lOS devices.
Implementing measures to safeguard users' data.
Ensuring that the construction and presentation of your apps are congruent with the company's standards.
Proofreading your code and correcting mistakes before each app is released.
Collaborating with Ul and UX Designers, as well as Software Testers, to ensure that each app is presentable and in perfect working order.
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
Good to have skills:
|
Should have a positive approach with an urge to learn new skills. Should be innovative and ready to probe into new areas of business. Should be open to learn new technologies. Should be ready to work in a team |
Should have a minimum of 3-4 years of relevant work experience. |
- Building and shipping a robust application to Android/iOS devices using a single codebase
- Writing readable and clear code using Dart that will be extensively documented for future use and upgrades
- Sharing feedback and brainstorming ideas with teams to improve the development process
- Understand basic concepts of design for developing user friendly applications
- Stay up to date with the latest technologies
- Familiarize yourself with the different stacks and products.
- Lead development initiatives for other features
- Experience in development of Android/iOS applications and have deployed them on Google Play/App Store
- 3+ years knowledge in mobile app development
- In depth understanding of Object Oriented programming
- Familiarity using Git and IDEs like Android Studio & VS Code
- Understanding of the Agile Software Development Life Cycle and been exposed to Scrum projects
- Knowledge of Dart programming language, Rest APIs and integration of various APIs from third parties
- Comfortable using test cases for debugging code, enhancing performance and reliability
- Track record of successfully managing multiple company or customer websites
- Excellent time-management and communication skills
Job Description
We are looking for a React Native developer interested in building performant mobile apps on both the iOS and Android platforms. You will be responsible for architecting and building these applications, as well as coordinating with the teams responsible for other layers of the product infrastructure. Building a product is a highly collaborative effort, and as such, a strong team player with a commitment to perfection is required.
Responsibilities
- Build pixel-perfect, buttery smooth UIs across both mobile platforms.
- Leverage native APIs for deep integrations with both platforms.
- Diagnose and fix bugs and performance bottlenecks for performance that feels native.
- Reach out to the open source community to encourage and help implement mission-critical software fixes—React Native moves fast and often breaks things.
- Maintain code and write automated tests to ensure the product is of the highest quality.
- Transition existing React web apps to React Native.
- Firebase and cloud function expereince would be huge plus
Skills
- Firm grasp of the JavaScript (and TypeScript ) language and its nuances, including ES6+ syntax
- Knowledge of (functional or object-oriented) programming
- Ability to write well-documented, clean Javascript code
- Rock solid at working with third-party dependencies and debugging dependency conflicts
- Familiarity with native build tools, like XCode, Gradle (Android Studio, IntelliJ)
- Understanding of REST APIs, the document request model, and offline storage
- Experience with automated testing suites, like (Jest or Mocha)
We are looking for an Android developer responsible for the development and maintenance of applications aimed at a vast number of diverse Android devices. Your primary focus will be the development of Android applications and their integration with back-end services. You will be working along-side other engineers and developers working on different layers of the infrastructure. Therefore, a commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
Responsibilities:
1. Translate designs and wireframes into high-quality code
2. Design, build and maintain high performance, reusable, and reliable Java code
3. Ensure the best possible performance, quality, and responsiveness of the application
4. Identify and correct bottlenecks and fix bugs
5. Help maintain code quality, organization, and automatization
Skills:
1. Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes
2. Familiarity with RESTful APIs to connect Android applications to back-end services
3. Strong knowledge of Android UI design principles, patterns, and best practices
4. Experience with offline storage, threading, and performance tuning
5. Ability to design applications around natural user interfaces, such as “touch”
6. Familiarity with the use of additional sensors, such as gyroscopes and accelerometers
7. Knowledge of the open-source Android ecosystem and the libraries available for common tasks
8. Ability to understand business requirements and translate them into technical requirements
9. Familiarity with cloud message APIs and push notifications
10. A knack for benchmarking and optimization
11. Understanding of Google’s Android design principles and interface guidelines
12. Proficient understanding of code versioning tools, such as Git
13. Familiarity with continuous integration
# Proficiency in Java, Kotlin, or C++
# Ability to use the Android Studio, including the Android SDK, with ease
# Prior experience as an Android Developer will be advantageous
# Excellent coding and proofreading skills
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.