As a Senior Mobile Application Developer, you will play a key role in developing and maintaining our mobile applications using React Native. You'll work closely with our product, design, and backend engineering teams to deliver high-performance, scalable apps while ensuring code quality and reliability. In addition to development, you will take on leadership responsibilities, including mentoring junior developers, performing code reviews, managing issue resolution, and overseeing task planning and delegation.
Key Responsibilities:
- Develop and maintain high-quality mobile applications on React Native, using JavaScript and TypeScript.
- Manage app development workflows with Expo and delivery using Expo EAS and EAS Update.
- Implement secure storage solutions and biometric authentication.
- Integrate with payment services to handle transactions securely.
- Design and implement JavaScript bridges to integrate with third-party native SDKs.
- Conduct research and assessment of third-party tools and services to integrate into the app.
- Ensure secure storage of users' data.
- Ensure secure operation of the app.
- Ensure stability and reliability of the app by applying automated unit, integration, and end-to-end testing methodologies
- Monitor, debug, and fix application issues.
- Ensure seamless integration with RESTful APIs.
- Maintain clean and efficient code with version control.
- Collaborate with cross-functional teams to define, design, and ship new features.
- Mentor and train junior developers, providing guidance and support to foster their growth.
- Conduct code reviews to ensure code quality and adherence to best practices.
- Perform root cause analysis of issues and develop effective mitigation plans to address them.
- Plan tasks effectively, set priorities, and delegate responsibilities within the development team to ensure timely and efficient project delivery.
Required Skills:
- Proficiency in React Native with strong knowledge of JavaScript and TypeScript.
- Strong experience with Redux for state management.
- Strong experience with Axios for asynchronous data fetching, connection handling, and callback execution.
- Experience integrating real-time features using websockets.
- Experience with Expo, Expo EAS, and Expo EAS Update for app development management, build and distribution, and over-the-air updates.
- Strong knowledge of secure storage practices and biometric authentication.
- Experience integrating with payment services.
- Experience integrating third-party services using webviews.
- Experience integrating with third-party native SDKs and writing JavaScript bridges for native SDKs.
- Hands-on experience with Firebase services.
- Strong knowledge of OAuth2 or similar protocols for access authorization.
- Ability to implement automated testing strategies using Jest, Appium, and LambdaTest or similar tools and services.
- Knowledge of Sentry or similar services for error and performance monitoring.
- Strong knowledge of REST principles and experience integrating with RESTful APIs.
- Strong proficiency in writing HTML and CSS.
- Strong proficiency in using Git for version control.
- Ability to work in an Agile development environment and deliver high-quality code within deadlines.
- Proficiency in planning and executing periodic releases of mobile app builds, while maintaining backward compatibility of features and services, ensuring continuous delivery of features and improvements to users.
- Proven experience in mentoring and training junior developers.
- Strong skills in performing effective code reviews and conducting root cause analysis of technical issues.
- Experience in planning tasks, setting priorities, and delegating responsibilities effectively.
Optional Skills (Nice to Have):
- Familiarity with Mapbox for mapping functionalities or similar libraries/services.
- Exposure to Angular for web development.
- Knowledge of Swift or Objective-C for iOS development.
- Knowledge of Kotlin or Java for Android development.
Qualifications:
- Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent experience).
- 5+ years of professional mobile app development experience.
- Strong problem-solving skills and ability to troubleshoot complex issues.
- Excellent leadership skills.
- Excellent communication skills and ability to work effectively in a collaborative team environment.