Job Description
Position level: Senior level
Location: Kuala Lumpur, Malysia
Core focus: React Native
Years of Experience: 6-8 years
Functional Superior: Lead Developer (Team Lead) / Program Manager
Administrative Superior: Development Manager / Technical Project Manager
Position Overview: We are seeking an experienced and talented Senior React Native Developer, to join our high charisma and dynamic team, leading the development team. The incumbent will be a highly experienced developer with a deep understanding and strong proficiency of mobile application development who would possess proven track records of delivering high-quality mobile applications with React Native.
Responsibilities
1. Application Development
- 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 (eg. 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
2. 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
3. Project Planning and Management
- Working closely with team members (including QAs) to understand requirements and deliver high-quality features
- Review and analyze requirements, users 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 escalate accordingly
4. 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
5. 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
Job Requirements
Bachelor's degree in computer science or equivalent and possess strong in-depth knowledge and hands-on experience with React Native framework, JavaScript, TypeScript and understanding of mobile development patterns and best practices
- Proficiency in state management libraries (e.g., Redux, Zustand), Hooks, Context API, Class and Functional Components, and asynchronous programming with solid understanding of RESTful APIs and data synchronization between mobile apps and backend systems
- Experience with native mobile development for iOS and Android (Objective-C/Swift, Java/Kotlin) and experience in integrating React Native components with native modules.
- Understand the Bridge and Fabric architectures of React Native and the implication of writing native code following those designs.
- Hands-on experience on the usage of Cloudbees Feature Flags, New Relics Reporting tool and Charles Proxy (web proxy tool to monitor, inspect and manipulate traffic between computer, mobile device and Internet)
- Understanding of CI/CD pipelines for automated testing and deployment as well as familiarity with GIT in version controlling, branching strategies and collaborative workflows
- Experience with tools such as Jenkins, Bitbucket, SonarQube, Fortify, JIRA will be beneficial
- Familiar with Agile / Scrum development methodologies and its ceremonies
- Exceptional communication and collaboration skills, both verbal and written, to interact with team members effectively with the ability to provide constructive feedback
- Capability to provide guidance, mentorship, and support to team members, fostering a positive and collaborative team culture
- Ability to make informed and timely decisions, especially when faced with technical challenges or project-related issues
- Ability to address and resolve conflicts within the team, promoting a harmonious working environment.
Job Classification
Industry: IT Services & Consulting
Functional Area / Department: Engineering - Software & QA
Role Category: Software Development
Role: Mobile / App Developer
Employement Type: Full time
Contact Details:
Company: Aara Tech
Location(s): Malaysia
Keyskills:
Javascript
React Native
Restfull Api
Redux
Context Api
Sonarqube
Fortify
IOS
JIRA
Android
Jenkins
zustand
Agile Methodology
Cloudbee
Typescript
Cicd Pipeline
Hooks
Bitbucket