Développeur·euse Mobile Staff/ Staff Mobile Developer

21 hours ago

Montreal, Quebec, Canada Clear Destination Inc. Full-time

*English version will follow*

Localisation : Canada et États-Unis (formule hybride)

Ta mission au sein de l’équipe mobile:

  • Donner vie à la prochaine génération de notre application mobile en concevant et en développant principalement des fonctionnalités en React Native et TypeScript.
  • Créer des expériences mobiles évolutives, performantes et faciles à maintenir pour iOS et Android.
  • Contribuer à l’intégration progressive de modules React Native dans notre base de code iOS et Android native existante et participer à la définition des meilleures pratiques pour une architecture brownfield réussie.
  • Collaborer étroitement avec les développeur·euse·s iOS afin d’assurer une cohabitation harmonieuse et efficace entre les composants React Native et Swift.
  • Développer des modules natifs ou contribuer à leur développement lorsque certaines fonctionnalités nécessitent une intégration plus poussée avec iOS ou Android.
  • Participer aux décisions d’architecture, notamment en évaluant si une fonctionnalité doit être développée en React Native ou nativement.
  • Rester à l’affût des nouveaux frameworks, outils et pratiques de l’écosystème React Native, tout en maintenant une solide compréhension du développement mobile natif.
  • Améliorer la performance, la stabilité, l’accessibilité et la testabilité de l’application, ainsi que l’expérience des développeur·euse·s.
  • Effectuer des révisions de code approfondies en TypeScript et, lorsque pertinent, en Swift, tout en favorisant le partage des connaissances au sein de l’équipe.
  • Collaborer avec les équipes Produit, Design, Assurance qualité, Backend et Développement mobile natif afin de définir, développer, tester et déployer de nouvelles fonctionnalités.
  • Contribuer aux pratiques d’ingénierie de l’équipe, notamment les tests automatisés, l’intégration et le déploiement continus, la documentation, la gestion des mises en production et la surveillance des applications.
  • Accompagner les autres développeur·euse·s et contribuer à la planification technique, aux discussions d’architecture et aux activités de recrutement, selon le niveau d’expérience.
  • Promouvoir l’adoption responsable des outils de développement assistés par l’intelligence artificielle pour la génération et la révision de code, les tests, la documentation, le débogage et la refactorisation.

Ton profil :

  • Solide expérience professionnelle en développement et en mise en production d’applications mobiles, incluant une expérience pratique significative avec React Native.
  • Maîtrise avancée de TypeScript, JavaScript, React et de l’écosystème React Native.
  • Expérience avec des applications destinées au grand public et publiées sur l’App Store d’Apple et Google Play.
  • Solide compréhension de l’architecture React Native, notamment du bridge, de JSI, des modules natifs et des principes de la nouvelle architecture.
  • Expérience avec des outils comme Metro, Hermes, CocoaPods, Swift Package Manager, Gradle ainsi qu’avec les outils courants de débogage et d’optimisation des performances de React Native.
  • Expérience dans l’intégration de fonctionnalités React Native à une application native existante ou dans un environnement mobile hybride.
  • Expérience dans la création, la modification ou l’intégration de modules natifs en Swift, Objective‑C, Kotlin ou Java.
  • Bonne connaissance du développement iOS natif. Une expérience avec Swift, SwiftUI ou UIKit constitue un atout important.
  • Compréhension des enjeux de performance mobile, notamment le rendu, la gestion de la mémoire, le temps de démarrage de l’application, la gestion de l’état et la communication entre JavaScript et le code natif.
  • Familiarité avec les architectures à flux de données unidirectionnel et les approches modernes de gestion de l’état.
  • Capacité à participer à des discussions sur la conception logicielle, l’architecture, les patrons de conception et les compromis techniques dans des environnements natifs et multiplateformes.
  • Solide compréhension des principes nécessaires pour produire un code clair, cohérent, testable, performant et facile à maintenir.
  • Expérience avec les tests unitaires, les tests d’intégration et les tests automatisés pour les applications mobiles.
  • Capacité démontrée à collaborer efficacement avec les équipes Produit, Design, Assurance qualité, Backend et Développement mobile afin de définir et de livrer de nouvelles fonctionnalités.
  • Solides compétences en résolution de problèmes et capacité à faire des compromis techniques réfléchis, notamment pour déterminer quand utiliser React Native et quand privilégier une solution native