This role requires participation in technical designs and the development and maintenance of software and other digital applications or services. The incumbent will be expected to create prototypes, develop user-centred software, and advise on technical specifications.
This role requires fundamentals in engineering practices, an analytical and data-driven approach to problem-solving, while following DevOps, SRE, and Cloud-Based practices.
Skills and Experience
Matric, with a degree in Computer Science / Engineering / Mathematics or related;
3-5 years of experience in mobile application development;
Knowledge of, and experience in mobile frameworks and technologies such as Flutter;
Experience creating code bridges / channels between native and Flutter;
Collaboration tools e.g., Confluence, Jira, Microsoft Teams, Slack;
CI / CD technologies e.g., Jenkins and Git;
Native development - Java and Swift;
Mobile and API Testing Frameworks;
Architecture and Design: Event Driven Architecture / API First / Domain driven design;
Familiarity with architecture styles such as Microservice and Serverless architectures;
Knowledge of coding design patterns and experience working with information architecture and design interfaces;
Ability to explain and articulate complex topics to various levels of stakeholders.
Key Accountabilities
Responsible for working on software development initiatives throughout the software development life cycle;
Follow Agile methodologies (SCRUM / Kanban);
Work in a DevOps culture;
Partner with scrum master, product owner, Business Analysts and other developers to ensure optimised project delivery;
Provide sizing and scoping for development work required;
Operate as a subject matter expert across the development initiatives;
Develop technical specifications and software application architecture and designs;
Build Front-end and / or back-end solutions on the mobile digital channel / platform;
Build cloud-based functional mobile applications at an enterprise level;
Build and test software prototypes;
Design and implement test strategy and / or test plans based on continuous testing principles;
Apply engineering principles for design, development, maintenance, testing and evaluation of software;
Apply knowledge relating to the architecture of relevant systems;
Develop, implement and improve the tools to enable software development;
Identify issues that will enhance system quality, development and standard operating procedures;
Client engagement to drive new products / features and to ensure operational excellence;
Work closely with multi-skilled and cross-functional teams e.g., architects, developers, UX designers, business analysts;
Drive technology design and implementation;
Enable rapid iteration;
Ensure systems are scalable, responsive, robust and secure through monitoring and responding to application performance, stability and availability.
Personality and Attributes
Customer focus;
Multi-functional team collaboration;
Data-driven and attention to detail and big picture;