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 best 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 codebase for faster load times and smoother user experience
- Integrating mobile applications with server-side APIs, understanding, and implementing robust asynchronous data synchronization processes within the application
- Taking ownership of assigned tasks and seeing them through to completion
Technical Leadership
- Assist to provide technical guidance and/or mentoring within scrum team (especially junior developers) towards 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
- Working closely with team members (including QAs) to understand requirements and deliver high-quality features
- Review and analyze requirements, user’s stories for validity and feasibility and understand what needs to be design and develop or maintain
- Contributing to project planning and estimation
- Engage with project stakeholders, providing technical insights and timely updates on project status, monitor project progress updates, and addressing technical concerns, issues or roadblocks
- Identify potential risks and proactively develop strategies to mitigate risk and elevate accordingly
Communication and Collaboration
- Collaborate and align with Team Lead on technical decisions and development lifecycle
- Identifying and addressing technical challenges or obstacles (including bugs and any technical debts encountered) 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 latest developments in React Native and mobile app developments
Experience & Qualifications
Education
- Bachelor’s degree in Computer Science or equivalent.
- Strong foundation in mobile application development patterns, architectures, and best practices.
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.