Android Developer (Food Delivery sphere)
Company Background
Our customer is a leading online and mobile food-ordering and delivery marketplace with the largest and most comprehensive network of restaurant partners, as well as 32 million active diners. Dedicated to connecting diners with the food they love from their favorite local restaurants, our customer elevates food ordering through innovative restaurant technology, easy-to-use platforms and an improved delivery experience. Our Customer features over 320,000+ restaurants and is proud to partner with more than 225,000 of these restaurants in over 4,000 U.S. cities and London.
Project Description
The application is extensive, divided into over 100 modules, and follows the principles of Clean Architecture. Emphasis on Clean Code is paramount, with stringent rules enforced through static code analyzers such as Detekt, SonarQube, and Lint. Application performance is closely monitored using various tools, with dashboards and metrics set up for predefined SLAs, including API calls, error rates, and business flow success.
Technologies
- Kotlin, Java
- RxJava, Kotlin Coroutines, LiveData, Databinding
- MVVM, Clean Architecture, Multi-Module application
- NewRelic, Firebase
- Firebase Analytics, Amplitude
- Lint, Detekt, Sonarqube, Checkstyle
- GitHub Actions
- JUnit, Mockito
- Espresso, Roboelectric
What You'll Do
- Write unit tests, UI tests, and integration tests using JUnit, Mockito, Robolectric, and Espresso;
- Focus on writing comprehensive tests, including end-to-end tests for UI and Hermetic tests;
- Develop automated tests to ensure proper interaction with various services and verify correct analytics;
- Conduct system design before implementing any new feature, creating detailed documents describing the feature and technical requirements;
- Collect and compile all necessary information into the system design document and review it with the entire team and other teams as needed;
- Monitor the application's performance using tools like NewRelic, create dashboards, and send metrics for predefined SLAs;
Job Requirements
- 5+ years' commercial experience working as an Android Developer;
- Experience in writing unit tests using JUnit and Mockito;
- Experience in writing UI tests using Robolectric and Espresso;
- Understanding of Clean Architecture principles;
- Proficiency in using static code analyzers such as Detekt, SonarQube, and Lint;
- Experience in monitoring application performance using tools like NewRelic;
- Ability to create and review system design documents for new features;
- Familiarity with automated testing for different services to ensure correct analytics;
- Level of English - from Intermediate (spoken/written);
What Do We Offer
The global benefits package includes:
- Technical and non-technical training for professional and personal growth;
- Internal conferences and meetups to learn from industry experts;
- Support and mentorship from an experienced employee to help you professional grow and development;
- Internal startup incubator;
- Health insurance;
- English courses;
- Sports activities to promote a healthy lifestyle;
- Flexible work options, including remote and hybrid opportunities;
- Referral program for bringing in new talent;
- Work anniversary program and additional vacation days.
Apply for this job
*
indicates a required field