Senior Android Software Engineer
As an Android Software Engineer in Dopravo, you'll get to work on products that touches millions of people's life within the Kingdom of Saudi Arabia and the region. Your primary role include design, develop, and build native Android apps in Java/Kotlin and Android SDK with extensive knowledge of Android development best practices. You should consider this job if you are looking to build apps with new and exciting technologies that are set to grow rapidly with over 500k monthly active users.
WHAT YOU'LL DO
- Design, architect and build highly scalable Android apps with modern rich user experiences
- Identify new mobile technologies, trends, opportunities, and how they might relate to enhance our client’s products and business
- Participate in technical code review, evaluate technologies and provide recommended implementations.
- Unit-test code for robustness, including edge cases, usability, and general reliability
- Maintain the highest level of product reliability, quality, and reusability
- Explore and develop innovative solutions to create cutting edge Android applications
- Establish code guidelines for the team and enforce best practices.
- Contribute to both User Interface design, API Access design, and development process
- Proven 3+ years of experience in mobile applications development experience in Java, Android SDK, C++, and Android Studio
- Proficient in mobile architecture (MVP or MVVM), design patterns and API design
- Extensive knowledge of the Android SDK performance tools and optimization techniques
- Experience in developing custom mobile UI components and animations with targeting for multiple screen sizes and orientations
- Strong knowledge in material design
- Experience in memory management, multi-threading concepts, etc.
- Strong knowledge in Gradle (build variants using buildConfigField and the directories and also custom tasks)
- Exposure to building apps in Kotlin.
- Experience in writing technical and functional documentation
- Experience in RxJava and RxAndroid
- Experience with Git source code control
- Experience in building SQLite wrappers
- Experience in working dependency injection (Ideally Dagger2)
- Development experience in MBaaS; such as: Firebase, Azure, etc.
- Experience with web services, including but not limited to: RESTful APIs, JSON, SOAP and XML parsing
- Experience the following methodologies: Software Development Life Cycle (SDLC), Agile, and Waterfall
- Preferred experience in cross-platform such as: ReactNative
- Having published at least 3 Android apps in the Google Play Store
- Experience in communicating with all product stakeholders (QA, Product Manager, User Experience Specialist, etc.)
- Experience in enterprise software engineering best practices (coding standards, code reviews, source control management, continuous integration, unit testing, etc.)
- Bachelors degree in Computer Science or a related field