2 days work-from-home in line with Company Policy (only applicable after probation is successfully passed).
Job Purpose
Manages the team and the sprints, while being responsible for communication, team health and culture. Has authority over process, structure, scheduling, task assignment, and documentation.
Develop and maintain our innovative hearing health solutions on the native Android platform, ensuring code is written in accordance with specifications, is neat, accurate, well architected and scalable.
Responsible for motivating employees and bringing about win-win agreements within the team. Efficiently structure sprints and teams to partner together, allowing for tasks to be completed faster; ultimately speeding up time to market.
Direct Reports
2-4 Senior & Junior Android Developers
Minimum Education (essential)
BSc in Computer Science / Engineering or other applicable technical discipline
Minimum Education (desirable)
Honors / MSc in computer science / engineering or other applicable technical discipline
Minimum Applicable Experience (years)
7+ years working experience
2+ years of managing a team
Required Nature Of Experience
- Hands on Android software development having been responsible for the development and maintenance of 1 or more projects
- Line management of Android developers
- Team culture, coaching and development
- System development coordination
- Project management
- Project implementation management
- Documentation
- Use sound engineering practices to build a solid product while iterating quickly
- Experience with using Firebase
Skills And Knowledge (essential)
- Proficient in native Android (Kotlin) development specifically. (Minimum 3 years experience)
- Strong knowledge of Android development and its supporting systems
- Modular code design principles, familiarity with different software architectures: MVVM, MVI, Clean Architecture
- Reactive programming
- A good understanding of storage mechanisms, threading, and lifecycles
- Knowledge of common 3rd party frameworks 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
- Basic knowledge of Java
- Agile development experience
- Atlassian JIRA software experience is beneficial.
- Good understanding of Bluetooth on Android would be advantageous
Other:
- Main development language for role: Kotlin
- Experience with ISO, CE or FDA compliance for software would be advantageous
- Medical device software development experience would be advantageous
- Experience with BLE would be advantageous
- Experience with Firebase would be advantageous
Team Management 25%
- Increase team’s effectiveness with the following:
- Recruitment, selection and orientation;
- Training and development;
- Assign accountabilities and plan;
- Monitor and appraise job and project results.
Develop a climate for offering information and opinions.Ensure conformity of products and documentation to product and company requirements in terms of the hearX Quality Objectives.Provide technical leadership to the team through coaching and mentorship where appropriate.Develop the expertise within the team, ensuring continued development and best-practice.Package and support deployment of releases.Assist with managing team priorities and development schedules.Provide feedback to the Line Manager regarding the efficiency and output of the team.Build team morale and keep the team motivated to work at a high pace and at the desired quality.Ensure the team meets specification and timescales as appropriate.Drive documentation completion and quality within the team.Ensure development is completed within the Quality Management framework.
Application Planning and Development 35%
- 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.
- Identify technology limitations and deficiencies in applications and associated processes, procedures and methods.
- Testing, debugging, diagnosing and correcting errors and faults in an application within established testing protocols, guidelines and quality standards to ensure programs and applications perform to specification.
Project Planning and Capacity Management 20%
- Estimate accurate completion timelines for projects for use by the project lead in capacity planning.
- Provide input into the requirements documentation and assist in work breakdown to draft a proper timeline to plan the schedule and what is required.
- Manage time and tasks effectively in order to complete tasks in the correct order of priority and on time.
- Liaise effectively with other team members and back-end engineers to ensure timeous completion of integration and the coming together of mobile applications and the required back-end system.
- Track tasks and timing on JIRA.
Team Work 10%
- Lead and oversee peer-reviews of solution designs and related code.
- Communicate and collaborate with the team to solve problems and discuss best programming practices.
- Contribute to team development efforts towards successful project delivery.
- Communicate effectively with team members and internal stakeholders, using communications channels appropriately.
- Take personal ownership for projects and products.
Quality Management and Compliance 10%
- 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 communicate deployment details.
- Ensure development is completed within the Quality Management framework.
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.