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):
Tertiary education diploma/degree relevant to software development
3 year degree in computer science or equivalent
Minimum applicable experience (years):
3 years
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):
Java
Reactive programming
Modular code design principles
RESTful API integration
GIT
Skills and Knowledge (desirable):
Kotlin
Experience with CLEAN and MVVM architectures
Experience working within a QMS framework
Experience with automated testing frameworks
Essential Competencies:
Examining Information
Developing Expertise
Adopting Practical Approaches
Providing Insights
Thinking Positively
Inviting Feedback
Upholding Standards
Taking Action
Important Competencies:
Interpreting Data
Generating Ideas
Exploring Possibilities
Convincing People
Articulating Information
Embracing Change
Valuing Individuals
Showing Composure
Meeting Timescales
Checking Things
Following Procedures
Pursuing Goals
Analysis and Planning 20%
Collaborate in the application lifecycle (planning, design, development, deployment, maintenance) collaborating with stakeholders for requirements.
Continuously research and evaluate new technologies to optimize development efficiency.
Plan and design well-structured, reusable application architecture.
Implement and develop according to best practices to ensure high-quality, maintainable systems.
Participate in project planning by providing estimates, contributing to requirement documentation, and assisting with work breakdown structures.
Participate in user story creation, estimation, and work plan development, ensuring clear communication of requirements
Effectively prioritize, and manage dependencies to ensure timely completion, and switch contexts effectively when the need arises
Collaborate effectively with development teams to solve problems, make recommendations, and discuss best practices
Proactively identify and mitigate code related risks, adapting as needed
Track tasks and progress within JIRA
Development and Testing 50%
Develop software adhering to project plans, deadlines, and coding standards
Develop and maintain high-quality, maintainable
systems using efficient and reusable code according to best practices.
Use version control effectively and according to best practices, as well as backing up other work according to company standards
Prepare and maintain testing environments, including examples and instructions
Conduct initial testing and assist in developing testing plans
Implement and maintain automated tests and component libraries according to team practices
Analyze systems to identify root causes of issues within a system, develop workarounds, and implement permanent fixes
Deliver thoroughly tested and performance benchmarked work that meets functional requirements before deployment
Deploy changes to the production environment following established procedures
Implement and maintain DevOps processes, including CI/CD pipelines and Infrastructure as Code as applicable to the team
Maintain up to date and accurate code and system level documentation
Reporting and Communication 10%
Provide clear, timely, and efficient updates on project status, progress, risks, and potential problems to the team lead
Prepare reports, manuals, and other documentation related to software status, operation, and maintenance
Maintain accurate system and product change logs, release notes and notifications to other teams, according to company standards and team practices
Offer insights and feedback on queries regarding relevant projects
Collaborate effectively with team members and stakeholders, by being available on appropriate communication channels with timeous, well articulated responses
Contribution to the Team 15%
Take ownership of projects
Actively participate in peer code reviews, discuss best practices, and contribute innovative ideas to projects
Collaborate with the team to solve problems and ensure successful project delivery – on time and as spec`d
Contribute to the development of fellow team members through knowledge sharing and promoting best practices
Quality Management and Compliance 5%
Deliver high-quality products that meet specifications, user requirements, best practices, deadlines, and regulatory compliance (e.g., FDA, CE, ISO)
Apply knowledge of the Quality Management System guidelines and its relevant processes to ensure quality and SOC2 compliance in medical device- and other software
Ensure all testing adheres to defined specifications
Contribute to safeguarding information and data in accordance with company policies
Keep all supporting documents up to date