وصف الوظيفة
Role Overview
React Native Developer at TAWANTECH in Riyadh, supporting digital banking and financial services solutions.
Company Overview
Tawantech is a technology company providing digital banking and financial services solutions.
Role Purpose
Design, develop, enhance, and maintain high-performance cross-platform mobile applications using React Native. Build secure, enterprise-grade banking applications with strong expertise in modern mobile application architecture, TypeScript, React Native ecosystem, API integration, security, performance optimization, and enterprise application development.
Key Responsibilities
Banking Services Integration
- Support integration with banking services including account information, customer onboarding, authentication and authorization, fund transfers, payments, beneficiary management, transaction history, cards and card services, notifications, and digital banking services.
- Handle sensitive financial and customer information according to banking security and compliance requirements.
- Work with enterprise integration layers, API gateways, middleware, and backend services where applicable.
Security
- Implement secure mobile application development practices suitable for banking environments.
- Apply secure authentication and authorization mechanisms such as OAuth 2.0, OpenID Connect, JWT, MFA, and biometric authentication, where applicable.
- Protect sensitive data both in transit and at rest.
- Implement secure storage mechanisms for credentials, tokens, and sensitive information.
- Follow mobile security best practices and organizational security standards.
- Work with security teams to address vulnerabilities identified through security assessments, penetration testing, and code reviews.
- Apply secure coding practices and protect applications against common mobile and API security vulnerabilities.
- Support implementation of certificate/public-key pinning and other mobile security controls where required.
API & Backend Integration
- Consume and integrate REST APIs and JSON-based services.
- Handle API authentication, authorization, error handling, timeouts, retries, and response validation.
- Collaborate with backend developers, API teams, architects, and business analysts to resolve integration issues.
- Troubleshoot API and integration failures across development, testing, and production environments.
- Work with asynchronous operations and real-time communication mechanisms where required.
Performance Optimization
- Analyze and improve application performance, responsiveness, memory usage, and startup time.
- Identify and resolve performance bottlenecks in React Native and JavaScript/TypeScript code.
- Optimize rendering, state management, API calls, animations, and large data sets.
- Monitor and troubleshoot crashes, ANRs, memory leaks, and other mobile performance issues.
- Ensure applications provide a consistent experience across different device types and operating-system versions.
Native Mobile Development
- Understand the underlying Android and iOS platforms and their interaction with React Native.
- Troubleshoot native build and runtime issues.
- Work with Android Studio, Gradle, Xcode, CocoaPods, and native dependencies.
- Develop or maintain native modules when React Native functionality needs to interact with platform-specific capabilities.
- Understand basic Kotlin/Java and Swift/Objective-C concepts sufficient to troubleshoot and integrate native functionality.
Testing & Quality Assurance
- Write and maintain unit, integration, and component tests.
- Work with testing frameworks such as Jest, React Native Testing Library, Detox, or equivalent tools.
- Collaborate with QA teams to resolve defects and improve application quality.
- Participate in functional, regression, integration, performance, and security testing.
- Ensure high-quality code through peer reviews, automated testing, and continuous integration.
CI/CD & Release Management
- Work with CI/CD pipelines for automated mobile application builds, testing, and deployment.
- Support mobile releases through Google Play Console and Apple App Store/TestFlight.
- Work with tools such as Git, GitHub/GitLab/Bitbucket, Jenkins, Azure DevOps, GitHub Actions, Fastlane, or equivalent technologies.
- Manage environment-specific configurations for development, testing, staging, and production.
- Support release management, versioning, rollback, and production deployment activities.
Production Support
- Investigate and resolve production incidents affecting mobile banking applications.
- Perform root-cause analysis and implement permanent corrective actions.
- Monitor application crashes, errors, API failures, and performance issues.
- Participate in on-call or incident-management activities when required.
- Work closely with infrastructure, backend, security, DevOps, and support teams to resolve critical incidents.
Qualifications & Experience
Education
- Bachelor's degree in Computer Science, Software Engineering, Information Technology, Computer Engineering, or a related technical field.
- Relevant professional certifications are an advantage.
Professional Experience
- Minimum 5 years of professional experience in software/mobile application development.
- Minimum 5 years of hands-on experience in React Native development, with strong expertise in building and maintaining enterprise-grade mobile applications.
- Proven experience developing and supporting iOS and Android applications using React Native.
- Strong experience with JavaScript, TypeScript, React, Redux/Redux Toolkit, REST APIs, and mobile application architecture.
- Experience working on banking, fintech, payments, digital banking, or financial services projects is highly preferred.
- Experience working in enterprise and highly regulated environments is an advantage.
- Proven experience working with cross-functional teams including Backend, QA, DevOps, Security, Business Analysts, and Solution Architects.
Skills & Competencies
Mandatory Technical Skills
- Strong professional experience in React Native development.
- Strong proficiency in JavaScript and TypeScript.
- Strong understanding of React.js and React Native architecture.
- Hands-on experience with Redux / Redux Toolkit or equivalent state-management solutions.
- Strong experience integrating REST APIs and backend services.
- Strong understanding of asynchronous programming and API communication.
- Experience with Git and modern source-control practices.
- Experience developing and debugging applications on both Android and iOS.
- Strong understanding of mobile application security.
- Experience with automated testing and debugging.
- Good understanding of CI/CD and mobile application release processes.
Preferred Technical Skills
- Experience with React Navigation.
- Experience with React Native Reanimated / Gesture Handler.
- Experience with Firebase services, push notifications, analytics, and crash reporting.
- Experience with biometric authentication.
- Experience with secure storage solutions such as Keychain/Keystore integrations.
- Experience with deep linking and universal/app links.
- Experience with offline data handling and synchronization.
- Experience with WebSockets or real-time communication.
- Knowledge of native Android/iOS development.
- Experience with Kotlin, Java, Swift, or Objective-C.
- Experience with automated mobile deployment using Fastlane.
- Experience with Docker, Kubernetes, microservices, or API gateways is an advantage.
Banking Domain Experience
- Experience with digital banking applications, mobile banking, retail banking, corporate banking, payments, card management, fund transfers, beneficiary management, customer onboarding/KYC, authentication & MFA, open banking, payment gateways, core banking integrations, API banking, or financial transaction processing is highly preferred.