Remote Working: 2 days work-from-home in line with Company Policy (only applicable after probation is successfully passed).Job Purpose:Develop and maintain our innovative hearing health platforms on the iOS platform, ensuring code is generated that is in accordance with specifications, and which is 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 iOS best practice perspective for products in the rest of the company. Work might also include mentoring other iOS developers.Minimum education (essential):National Senior CertificateMinimum education (desirable):Tertiary education diploma/degree relevant to software development.3 year degree in computer science or equivalent.Minimum applicable experience (years):3 - 5 years as an iOS DeveloperRequired nature of experience:Experience in implementing and delivering native iOS applications of 1 or more projects.Skills and Knowledge (essential):Programming Languages and ConceptsSwift (Advanced)Concurrency - Grand Central Dispatch (GCD), Operation Queues, TasksMemory ManagementiOS best practicesiOS Frameworks and SDK'sAnimation - Core Animation/ SwiftUI animationLottieCombineCore DataRxSwiftCore Bluetooth/ RxBluetoothKitDevelopment ToolsCommand Line ToolsContinuous Integration/ Continuous Deployment CI/ CD (Xcode Cloud, GitHub Actions)ProfilingVersion ControlComplex Git workflows (rebasing, cherry-picking, git-bisect)App Architecture and Design PatternsDependency InjectionNetworkingSSLUser Interface DesignCustom Transitions and AnimationsAccessibilityLocalization and InternationalizationData PersistenceCore Data models and migrations (Intermediate)TestingUnit testing - mocking, stubbing (Advanced)Performance TestingApp life cycleBackground ExecutionAdditional SkillsHuman Interface GuidelinesApp Review GuidelinesAnalysis 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 prioritise, 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.Analyse 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.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.
#J-18808-Ljbffr