Responsibilities
- Develop expertise in writing platform-specific code when necessary, understanding the nuances of iOS and Android development within the React Native codebase.
- Contribute to feature development, design and implementation of the application architecture, ensuring scalability, maintainability, and adherence to best practices.
- Troubleshoot and debug issues within the application with debugging tools and techniques to identify and fix bugs efficiently.
- Take on complex development and design tasks to ensure performant solutions.
- Expand on already extensive knowledge of resource utilization, state management, and other React Native intrinsic challenges (e.g., Re‑rendering) and develop code and methodologies to solve those challenges effectively.
- Develop and implement effective testing strategies, including unit testing, integration testing, and end‑to‑end testing, to ensure the reliability and robustness of the application whilst delivering high‑quality features.
- Identify and address performance bottlenecks in the application, optimizing the codebase for faster load times and a smoother user experience.
- Integrate mobile applications with server‑side APIs, understanding and implementing robust asynchronous data synchronization processes.
- Take ownership of assigned tasks and see them through to completion.
Technical Leadership
- Assist in providing technical guidance and/or mentoring within the scrum team (especially junior developers) toward effective solutions and high‑quality deliverables.
- Conduct regular and thorough code reviews, ensuring adherence to coding standards, best practices, and security guidelines.
- Ensure comprehensive documentation of the codebase, architectural decisions, and development processes to facilitate knowledge sharing and future maintenance.
Project Planning and Management
- Work closely with team members (including QAs) to understand requirements and deliver high‑quality features.
- Review and analyze requirements and user stories for validity and feasibility, and understand what needs to be designed, developed or maintained.
- Contribute to project planning and estimation.
- Engage with project stakeholders, providing technical insights and timely updates on project status, monitoring progress and addressing technical concerns, issues or roadblocks.
- Identify potential risks and proactively develop strategies to mitigate risk and escalated accordingly.
Communication and Collaboration
- Collaborate and align with the Team Lead on technical decisions and development lifecycle.
- Identify and address technical challenges or obstacles (including bugs and any technical debts) and conflicts within the team during the development process.
Continuous Learning and Improvement
- Provide guidance and mentorship to junior developers, assisting in their professional development and helping them navigate challenges.
- Identify areas for skill improvement and seek feedback on process enhancements within the team.
- Encourage continuous learning and professional development among team members.
- Stay updated with the latest developments in React Native and mobile app development.
Experience & Qualifications
Education
Bachelor’s degree in Computer Science or equivalent.
Experience
- Extensive hands‑on experience developing mobile applications using the React Native framework.
- Proven experience integrating React Native components with native iOS and Android modules.
- Practical experience working with CI/CD pipelines for automated testing and deployment.
- Strong familiarity with Git version control, including branching strategies and collaborative workflows.
- Experience using development and quality tools such as Jenkins, Bitbucket, and Jira is advantageous.
- Experience working within Agile/Scrum environments, actively participating in Agile ceremonies.
Technical Knowledge
- Strong expertise in state management libraries (e.g., Redux, Zustand), Hooks, Context API, and both class and functional components.
- In‑depth understanding of component lifecycle, asynchronous programming, and performance considerations.
- Solid understanding of RESTful APIs and data synchronization between mobile applications and backend systems.
- Working knowledge of native mobile development for iOS and Android (Objective‑C/Swift, Java/Kotlin).
- Strong understanding of React Native Bridge and Fabric architectures and the implications for native module development.
- Hands‑on experience with feature flag management (CloudBees), application monitoring and reporting tools (New Relic), and network debugging tools (Charles Proxy).
Soft Skills
- Excellent communication and collaboration skills, both written and verbal, with the ability to provide clear and constructive feedback.
- Proven ability to mentor and support team members, fostering a positive and collaborative team culture.
- Strong decision‑making skills, particularly when addressing technical challenges or project‑related issues.
- Effective conflict resolution abilities, promoting a healthy and productive team environment.
- Proactive, solution‑oriented mindset with strong problem‑solving capabilities.