As a Senior Software Engineer - II, you will be responsible for architecting, developing, and maintaining complex React Native applications. You will work closely with cross-functional teams to deliver high-quality mobile solutions that serve millions of users across iOS and Android platforms.
Key Responsibilities
Development & Architecture
- Design and develop scalable React Native applications with clean, maintainable code
- Architect mobile solutions that work seamlessly across iOS and Android platforms
- Implement complex UI components and animations using React Native's ecosystem
- Build reusable components and libraries for team-wide adoption
- Optimize application performance, memory usage, and battery efficiency
Technical Leadership
- Mentor junior developers and conduct code reviews
- Establish and maintain coding standards and best practices
- Collaborate with product managers, designers, and backend engineers
- Drive technical decisions and contribute to architectural discussions
- Lead technical initiatives and feature development
Platform Integration
- Integrate native iOS and Android services and APIs
- Manage app store submissions and certification processes
- Work with platform-specific features and capabilities
- Ensure compliance with App Store and Google Play guidelines
Required Technical Skills
Core Technologies
- React Native: 4+ years of production experience
- JavaScript/TypeScript: Expert-level proficiency with ES6+ features
- React: Deep understanding of React ecosystem, hooks, and component lifecycle
- Mobile Development: Strong foundation in iOS and Android development principles
Build & Deployment
- Expo: Extensive experience with Expo CLI, EAS (Expo Application Services)
- EAS Build: Proficiency in configuring and managing cloud builds
- EAS Submit: Experience with automated app store submissions
- App Store Connect: iOS app certification, TestFlight distribution, and release management
- Google Play Console: Android app publishing and release management
State Management
- Zustand: Experience with lightweight state management
- Redux/Redux Toolkit: Proficiency in complex state management patterns
- MobX: Understanding of reactive state management
- Context API: React's built-in state management solutions
- Async state management: Handling API calls, caching, and data synchronization
UI Development & Animations
- React Native Reanimated: Advanced animations and gesture handling
- Tamagui: Experience with universal design systems
- Gluestack UI: Component library implementation
- Lottie: Complex animation integration
- Custom animations: Performance-optimized animations and transitions
- Responsive design: Adaptive layouts across different screen sizes
Platform Services
- iOS Services: Push notifications, In-App Purchases
- Android Services: Firebase integration
- Native modules: Creating and maintaining platform-specific code
- Deep linking: Universal links and custom URL schemes
Preferred Qualifications
Technical Expertise
- Experience with over-the-air updates
- Knowledge of React Native's New Architecture (Fabric/TurboModules)
- Familiarity with React Native performance profiling tools
- Experience with automated testing (Jest, Detox)
- Understanding of React Native debugging tools (Flipper, React DevTools)
Development Tools
- Version Control: Git, GitHub/GitLab workflows
- CI/CD: GitHub Actions, Bitrise, or similar platforms
- Monitoring: Sentry, Bugsnag, or Crashlytics integration
- Analytics: Firebase Analytics, Amplitude, or similar tools
- Performance: Profiling tools and optimization techniques
Additional Skills
- Experience with monorepo management (Nx, Lerna, or Yarn workspaces)
- Knowledge of React Native Web for code sharing
- Familiarity with GraphQL and REST API integration
- Understanding of mobile security best practices
- Experience with accessibility standards and implementation
Experience Requirements
- 4+ years of React Native development in production environments
- 2+ years in a senior developer role
- Proven track record of shipping mobile apps to App Store and Google Play
- Experience with applications serving 30-40K+ users
Education & Certifications
- Bachelor's degree in Computer Science, Software Engineering, or related field
Soft Skills
- Strong problem-solving and analytical thinking abilities
- Excellent communication and collaboration skills
- Ability to work in fast-paced, agile development environments
- Self-motivated with strong attention to detail
- Passion for mobile technologies and user experience