Senior Mobile Developer Gurus that can make it happen technically – build the app Role purposeWe are looking for a Senior React Native developer interested in building scalable, performant mobile apps on both the iOS and Android platforms. You will have a passion for mobile application development and a keen interest in the paradigms and design principles that make each platform unique. You will be responsible for collaborating, architecting and building these applications, as well as coordinating with the teams responsible for other layers of the product infrastructure. Building a product is a highly collaborative effort, and as such, a strong team player with a commitment to perfection is required.Role responsibilities
- 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 fixesReact Native moves fast and often breaks things.
- Work within the frameworks of agile (SCRUM) methodologies.
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
Qualifications & Experience
- Matric with extensive, relevant and demonstrable job-related experience in mobile application development – (essential)
- Degree in information systems / B.Sc computer science / B.Eng (or similar) – (preferred)
- 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).
Key competencies and work ethic:
- Self-motivated and drive with strong integrity – take accountability for actions and mistakes.
- Independent problem solver and analytical thinker
- Collaborative partnering build relationships both internally and externally. Open, honest and direct, is comfortable in giving and receiving constructive feedback. Think and act independently as well as collaboratively.
- Operational efficiency, someone who can spread themselves across multiple tasks simultaneously by working smartly, efficiently and effectively. Diligently staying on top of the details and understanding how they fit into the big picture.
- Adapting and responding to change – delivering results and meeting customer expectations.
- Team mentorship and coaching a positive technical expert and coach who serves the team and shows an appreciation for the development of team skills.
- Time management – ability to prioritize a high volume of projects simultaneously in a fast-paced unpredictable environment. Identify the urgent & important tasks and priorities to ensure delivery to client and other stakeholders.
- Innovative and solution-orientated creating and applying sound judgment and the ability to generate solutions that serve the flow of work and meeting deadlines. Eye for visual design and utility
- Exceptional communication – approachable, adopt a range of communication styles to facilitate successful outcomes within the team and cross-functionally in a matrix structure.
- Technology expert, technical skills and an ongoing growth and learning mindset.