IT & Software

Développeur(euse) mobile senior : Kotlin Multiplatform et Android

Sidekick Interactive

Montreal · Quebec · Canada

Développeur(euse) mobile senior : Kotlin Multiplatform et Android

Sidekick Interactive · Montréal (hybride) ou à distance au Canada · Contrat de 3 mois renouvelable

Notre client est une entreprise canadienne de logiciels de cartographie. Sa plateforme en marque blanche fait tourner une trentaine d'applications grand public pour des fédérations de quad et de motoneige au Canada et aux États-Unis. Les adeptes comptent sur elles pour naviguer dans les sentiers, suivre leur trajet par GPS et consulter des cartes hors ligne. La plupart de ces applications ont des abonnés payants.

L'équipe fait passer toute la plateforme à une nouvelle architecture : un cœur unique en Kotlin Multiplatform, avec des écrans MVVM modernes et minces sur Android et iOS. Une fonctionnalité ajoutée au cœur partagé arrive dans les 30 applications, sur les deux plateformes. Vous aiderez à bâtir cette architecture, puis vous l'utiliserez pour livrer de nouvelles fonctionnalités.

Ce que vous ferez

  • Refactoriser le cœur Java historique vers une architecture Kotlin Multiplatform propre, module par module, avec le filet d'une suite d'environ 6 000 tests existants.
  • Concevoir et développer de nouvelles fonctionnalités sur le cœur partagé, et les livrer aux utilisateurs Android et iOS.
  • Reconstruire les écrans Android en vues MVVM sur des modèles de vue partagés, avec des tests par captures d'écran pour valider chaque changement.
  • Fusionner les fonctionnalités codées deux fois (Android et iOS) en une seule implémentation partagée, et corriger au passage les bogues cachés dans leurs écarts.
  • Travailler au quotidien avec des outils de codage IA (Claude Code), avec une revue de code qui garde la barre de qualité haute.
  • Proposer des améliorations à l'architecture, aux outils de l'équipe et au produit lui-même. L'équipe veut votre avis et met en œuvre les bonnes idées.

Votre profil

  • Vous prenez des initiatives. Vous repérez ce qui ralentit l'équipe ou ce qui manque aux utilisateurs, et vous arrivez avec une proposition.
  • Vous aimez partager vos idées et les défendre avec des arguments, et vous changez d'avis quand les faits vous donnent tort.
  • Le produit vous intéresse autant que le code.

Ce que vous apportez

  • 5 ans et plus de développement Android en Kotlin, avec au moins une application en production que vous pouvez nous présenter
  • Une expérience concrète de Kotlin Multiplatform en production : expect/actual, source sets, builds Gradle KTS multimodules
  • Une solide expérience en architecture mobile : MVVM, coroutines, Flow, injection de dépendances
  • La capacité de lire et refactoriser du Java, y compris du vieux code sans tests
  • Le réflexe de tester : JUnit, tests de caractérisation, aisance dans une grande suite de tests existante
  • Assez d'iOS pour déboguer ce que KMP produit pour Xcode, avec des bases en Swift et en interopérabilité Objective-C
  • De l'expérience avec les assistants de codage IA, et un regard critique sur ce qu'ils produisent

Atouts

  • Applications de géolocalisation, de GPS ou de cartographie (tuiles hors ligne, suivi en arrière-plan, contraintes de batterie)
  • Expérience avec J2ObjC ou une autre chaîne de traduction Java vers iOS
  • Configurations multimarques ou multisaveurs
  • Anglais fonctionnel (l'équipe du client travaille en français et en anglais)

Pourquoi nous rejoindre

  • Du vrai travail d'architecture : vous contribuez à définir la conception cible.
  • De nouvelles fonctionnalités à livrer en parallèle de la refonte.
  • Une petite équipe où les bonnes propositions sont adoptées vite.
  • Un produit utilisé dehors, chaque fin de semaine, partout en Amérique du Nord.
  • Un contrat de 3 mois renouvelable avec une agence montréalaise qui développe des applications mobiles depuis 2011.

Senior Mobile Developer: Kotlin Multiplatform & Android

#J-18808-Ljbffr

Reference: WJ-291_12000682

Apply now

Continue on the employer's official application - the same link they use for every candidate.

More jobs

Find more on GigBlows

This role is listed on GigBlows for discovery and search. Hiring decisions and applications are handled by the employer or their chosen application system.