Ios Developer

Details of the offer

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 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 - 5 years as an iOS Developer
Required nature of experience:
Experience in implementing and delivering native iOS applications of 1 or more projects.
Skills and Knowledge (essential):

Programming Languages and Concepts

Swift (Advanced)
Concurrency - Grand Central Dispatch (GCD), Operation Queues, Tasks
Memory Management
iOS best practices


iOS Frameworks and SDK's

Animation - Core Animation/ SwiftUI animation
Lottie
Combine
Core Data
RxSwift
Core Bluetooth/ RxBluetoothKit


Development Tools

Command Line Tools
Continuous Integration/ Continuous Deployment CI/ CD (Xcode Cloud, GitHub Actions)
Profiling


Version Control

Complex Git workflows (rebasing, cherry-picking, git-bisect)


App Architecture and Design Patterns

Dependency Injection


Networking

SSL


User Interface Design

Custom Transitions and Animations
Accessibility
Localization and Internationalization


Data Persistence

Core Data models and migrations (Intermediate)


Testing

Unit testing - mocking, stubbing (Advanced)
Performance Testing


App life cycle

Background Execution


Additional Skills

Human Interface Guidelines
App Review Guidelines



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 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


Nominal Salary: To be agreed

Source: Whatjobs_Ppc

Requirements

Developer - Cybersecurity

Developer - CybersecurityApply locations Johannesburg time type Full time posted on Posted Yesterday time left to apply End Date: October 18, 2024 (2 days le...


Fnb Namibia - Gauteng

Published a month ago

Test Analyst

Time left to apply: End Date: October 23, 2024 (6 days left to apply) Job Requisition ID: R21502 Job Description To create testing procedures for complete ...


Rmb - Gauteng

Published a month ago

Test Analyst

Job DescriptionTo create testing procedures for complete programs within a suite of programs. To provide input into test plans, writing test cases and conduc...


Rmbwestport - Gauteng

Published a month ago

It Help Desk Technician

Time left to apply: End Date: October 18, 2024 (1 day left to apply) Job requisition id: R23412 Job DescriptionHello Future IT Help Desk Technician, Welcome ...


Firstrand Namibia Limited - Gauteng

Published a month ago

Built at: 2024-11-16T06:35:12.508Z