Senior Android Mobile Engineer (DevOps)

A vacancy exists for a Senior Android Mobile Engineer within the Micro Merchant Division – Touchsides, in Rosebank, Johannesburg.  

The Senior Android Mobile Engineer will develop and maintain applications aimed at custom designed Android devices. The primary focus being on the development of Android applications and their integration with back-end services. Collaborating with other engineers and developers working on different layers of the infrastructure. Dedication to problem solving, sophisticated design, and crafting quality products is important.

Key Responsibilities include, but are not limited to:

  • Oversee and drive projects forward.
  • Maintain existing mobile software systems by identifying and correcting software defects.
  • Translate complex functional and technical requirements into detailed development tasks.
  • Participate in regular design and code reviews with development team members to confirm use of best practices.
  • Act as a technical reference / subject matter expert in all areas of the mobile application development life-cycle.
  • Coach and develop team members to increase the team’s bench strength and flexibility.
  • Assist in planning tasks to the mobile development team
  • Design, build, and maintain high performance, reusable, and reliable code
  • Ensure the best possible performance, quality, and responsiveness of the application
  • Identify and correct bottlenecks and fix bugs
  • Help maintain code quality, organization, and automation
  • Contribute toward development standards for the Mobile team
  • Understand functional Mobile Application Architecture
  • Support the entire Mobile Application Development Lifecycle
  • Troubleshoot and debug to optimize performance
  • Develop interfaces to improve user experience and interface

In order to be considered for this position, the following requirements must be met:

  • BSc or BA in computer science, engineering, or relevant field.
  • At least 7+ years’ experience developing Android applications. Proven experience in Mobile Application development, preferably designing and delivering complex mobile applications.

Competencies required:

  • Proficient in Android application development.
  • Able to develop and architect multiple Android applications across versions.
  • Applicable knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes.
  • Understanding of Android UI design principles, patterns, and standard practices.
  • Experience with third-party libraries and APIs to integrate to backend systems
  • Ability to resolve code conflicts.
  • Problem-solving and analytical skills
  • Work progress tracking and management
  • Experience with offline storage, data synchronization, threading, and performance tuning
  • Ability to design applications around natural user interfaces.
  • Knowledgeable on the open-source Android ecosystem and the libraries available for common tasks
  • Ability to understand business requirements and translate them into technical requirements.
  • Familiarity with cloud message APIs and push notifications
  • An ability for benchmarking and optimization
  • Understanding of Google’s Android design principles, interface and Material design guidelines
  • Proficient understanding of code versioning tools, such as Git
  • Familiarity with continuous integration and agile development cycles
  • Familiarity with the following technologies and tools is advantageous:
  • Java, Kotlin, Retrofit, GSON, ObjectBox, Crashlytics, Espresso, Junit, Gradle, Azure Devops, CI/CD pipelines Project management