hearX logo

Android Developer

hearX
Full-time
On-site
Pretoria, Gauteng, South Africa
Position title: Senior Android Developer (B2C)

Work Location: 180 Garsfontein Road, Ashlea Gardens, Pretoria 

Job purpose: 
Develop and maintain our innovative hearing health platforms on the Android platform, ensuring code is generated that is to specification, neat, accurate and scalable. Work will mainly focus on maintaining and upgrading our hearing aid solutions platform (Lexie Hearing), as well as providing guidance from an Android best practice perspective for products in the rest of the company. Work might also include mentoring other Android developers.

Requirements
Minimum education (essential): 
National Senior Certificate

Minimum education (desirable): Diploma and/or degree in IT / Engineering / Programming

Minimum applicable experience (years): 5 years as an Android Developer

Required nature of experience: 
Hands on software developer having been responsible for the development and maintenance of 1 or more projects.

Skills and Knowledge (essential):

  • Experience in native Android (Kotlin and Java) development specifically.
  • Reactive programming
  • Strong knowledge of Android development and its supporting systems
  • Proficient in Kotlin (Minimum 2 years experience)
  • Good development practices utilising modern design patterns using software architectures: MVP, MVVM, Clean Architecture 
  • A good understanding of storage mechanisms, threading, lifecycles
  • Knowledge of common 3rd party frameworks/libraries available and integration experience
  • Strong UI development experience and developing for dynamic screen support
  • Experience with RESTful API integration
  • Well versed in Git
  • Solid understanding of the full mobile development life cycle within an Agile environment
  • Atlassian JIRA software experience is beneficial
  • Good understanding of Bluetooth on Android is beneficial
  • Good understanding of RxAndroid, RxJava and RxKotlin is beneficial

Key Performance Areas, Weights And Objectives
Application planning and development
  • Be involved in the planning, design and development of assigned applications.
  • Research, consult analyse and evaluate application needs and designs.
  • Write and maintain efficient, reusable and reliable code to meet system requirements, system designs and technical specifications in accordance with quality accredited standards.
  • Work from wireframes and/or designs to develop high quality applications.
  • Following best practice design and development methodologies in sustaining a high quality, clean, auditable and manageable applications.
  • Ensure the best possible performance, quality, and responsiveness of applications.
  • Identify issues, bugs, and bottlenecks and devise solutions to these problems.
  • Identifying technology limitations and deficiencies in applications and associated processes, procedures and methods.
  • Testing, debugging, diagnosing and correcting errors and faults in an applications within established testing protocols, guidelines and quality standards to ensure programs and applications perform to specification.

Project planning and capacity management
  • Estimate accurate completion timelines for projects for use by the project lead in capacity planning. 
  • Manage time and tasks effectively in order to complete tasks in the correct order of priority.
  • Manage time and tasks effectively in order to complete tasks on time. 
  • Track tasks and timing on JIRA.

Contribution to team
  • Participate in peer-reviews of solution designs and related code. 
  • Communicate and collaborate with current team to solve problems and discuss best programming practices. 
  • Contribute to team development efforts towards successful project delivery.
  • Contribute innovative ideas to project and application plans and roll outs.
  • Communicate effectively with team lead.
  • Communicate effectively with team members and internal stakeholders, using communications channels appropriately.
  • Take personal ownership for projects and products

Quality Management and Compliance
  • Ensure continued improvement and upkeep on existing applications. 
  • Ensure compliance with QMS frameworks for CE certification.
  • Ensure products are developed accurately (i.e. according to specifications and end user requirements).
  • Ensure products are developed efficiently (i.e. according to best practice and on time).
  • Ensure testing is completed according to specification.
  • Manage release schedule and release notes for Android applications.

This job description is not a definitive or exhaustive list of responsibilities and is subject to change depending on changing business requirements. Employees will be consulted on any changes. Employee’s performance will be reviewed based on the agreed upon objectives.