Possess a passion for pushing mobile technologies to the limits.
Architect complex applications to allow for complex implementations where collaboration with 3rd parties is required.
Design, build and maintain the next generation of our mobile applications.
Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
Deep understanding of and belief in Test Driven Development.
Unit-test code for robustness, including edge cases, usability, and general reliability. Set up and maintenance of the technical infrastructure.
Build pixel-perfect, buttery smooth UIs across both mobile platforms.
Leverage native APIs for deep integrations with both platforms.
Diagnose and fix bugs and performance bottlenecks for performance that feels native.
Reach out to the open-source community to encourage and help implement mission-critical software fixes—React Native moves fast and often breaks things.
Work within the frameworks of agile (SCRUM) methodologies.
Qualifications
Matric with extensive, relevant and demonstrable job-related experience in mobile application development is essential.
Degree in information systems / B.Sc computer science / B.Eng (or similar)
Experience
5-8 years experience in general software development.
3-5 years experience in a senior developer role with specific exposure to mentoring and coaching a team of developers - (essential).
Exposure to and an understanding of corporate, retail, customer interfacing environment in a similar role (non-sector specific) - (essential).
Knowledge and Skills
Solid understanding of the full mobile development life cycle
Firm grasp of the JavaScript and TypeScript languages and its nuances, including ES6+ syntax
Knowledge of functional and object-oriented programming
Ability to write well-documented, clean JavaScript/TypeScript code
Rock solid at working with third-party dependencies and debugging dependency conflicts
Familiarity with native build tools, like XCode, Gradle, Android Studio
Ability to write native code for specific platforms
Experience with offline storage, threading and performance tuning.
Understanding of REST APIs, the document request model, and offline storage
Experience with automated testing suites, like Jest or Mocha
Familiarity with CI/CD, git workflows and ways of working