Android Developer

Montreal

Offre publiée le 2025-04-09

Infotree Global Solutions

Description de Poste

Titre du poste : Mobile Software Engineer (Android)
Durée : 8 mois
Lieu : Montréal, QC (Hybride)

Description du poste

Notre mission est d'améliorer la vie des gens avec le meilleur transport au monde. Pour ce faire, nous commençons par notre propre communauté en créant une organisation ouverte, inclusive et diversifiée. L'équipe développe l'avenir de la micro-mobilité et nous recherchons un ingénieur logiciel solide et expérimenté pour rejoindre notre équipe de Stations Software Platform afin de nous aider à faire la transition de nos clients vers notre dernière génération de plateforme et à faire évoluer la plateforme en une solution pouvant être apportée à différents marchés et modèles commerciaux. Les entretiens techniques et les interactions avec les autres bureaux de l'entreprise se feront en anglais ; cependant, l'environnement de travail à Montréal est bilingue.

Développeur Mobile Android

Nous recherchons un développeur mobile Android talentueux qui maîtrise non seulement Kotlin, mais qui a également de l'expérience avec Python pour contribuer au composant Backend For Frontend (BFF) de notre pile technologique. Si vous êtes passionné par la création d'expériences mobiles sans couture et par le rapprochement entre le développement frontend et backend, nous serions ravis d'avoir de vos nouvelles.

Responsabilités

  • Conception et développement d'applications Android exceptionnelles :
    • Utiliser Kotlin pour créer des applications Android robustes et conviviales qui établissent de nouvelles normes en matière d'expériences mobiles.
    • Implémenter des fonctionnalités de pointe tout en garantissant des performances élevées et une réactivité optimale.
  • Contribuer au développement Backend For Frontend (BFF) :
    • Utiliser Python pour développer et maintenir la couche BFF, permettant une communication efficace entre nos applications frontend et les services backend.
    • Assurer que les composants BFF sont évolutifs, sécurisés et optimisés pour la performance.
  • Collaborer à travers les disciplines :
    • Travailler en étroite collaboration avec les designers, les chefs de produit et d'autres ingénieurs pour conceptualiser, construire et expédier de nouvelles fonctionnalités qui surprennent et ravissent nos utilisateurs.
    • Participer à des sessions de brainstorming et contribuer des idées créatives à nos produits et à notre pile technologique.
  • Produire une documentation technique approfondie :
    • Écrire des spécifications techniques détaillées (Tech Specs) avant de commencer le développement, en réponse aux documents de exigences produit (PRDs).
    • Documenter les processus de développement, les décisions et les mises en œuvre sur Confluence pour assurer le partage des connaissances et la transparence.
  • Écrire un code impeccable :
    • Produire un code propre, efficace et maintenable en Kotlin et Python, en adoptant les meilleures pratiques en matière de développement logiciel.
    • Effectuer des tests et débogages approfondis de votre code pour garantir des livrables de haute qualité.
  • Rester à la pointe :
    • Découvrir et mettre en œuvre continuellement de nouvelles technologies et frameworks dans le développement Android et les systèmes backend pour améliorer l'efficacité du développement et la performance des applications.
    • Se tenir au courant des dernières tendances de l'industrie et partager des idées avec l'équipe.
  • Optimiser pour la performance :
    • Surveiller la performance des applications en direct et des services BFF, identifier les goulets d'étranglement et peaufiner le code pour garantir une réactivité et une stabilité optimales.
    • Utiliser des outils et techniques de profilage de performance pour diagnostiquer et résoudre les problèmes.
  • Diriger et encadrer :
    • Participer aux revues de code, partager son expertise et guider les développeurs juniors dans le développement Android et backend pour favoriser une culture de collaboration et d'apprentissage continu.
    • Encourager les meilleures pratiques et des normes élevées au sein de l'équipe.
  • Posséder le cycle de vie du projet :
    • Prendre des projets du concept initial jusqu'au déploiement, en garantissant une livraison dans les délais et le respect des normes de qualité sur les composants frontend et backend.
    • Coordonner avec les parties prenantes pour aligner les solutions techniques avec les objectifs commerciaux.
  • Plaider pour l'utilisateur :
    • Garder l'expérience utilisateur au premier plan, en garantissant une interaction fluide entre l'application et les services backend.
    • Incorporer les retours des utilisateurs et les analyses pour affiner et améliorer les fonctionnalités.
  • Gérer la distribution et le déploiement des applications :
    • Gérer l'ensemble du processus de publication des applications Android, y compris les tests bêta et la soumission au Google Play Store.
    • Superviser le déploiement des services backend, en garantissant une intégration fluide et un temps d'arrêt minimal.

Expérience

  • Maîtrise de Kotlin : Expérience solide dans le développement d'applications Android utilisant Kotlin. Compréhension approfondie des frameworks et bibliothèques Android tels que Android SDK, Jetpack Compose et RxJava. Les Coroutines seraient un plus.
  • Maîtrise de Python : Expérience dans la construction de services backend avec Python. Familiarité avec des frameworks comme Flask est un plus.
  • Expérience avec l'architecture BFF : Compréhension des modèles Backend For Frontend et de leur mise en œuvre efficace. Capacité à concevoir des interfaces API répondant aux exigences frontend.
  • Compréhension des API RESTful : Capacité à intégrer et développer des API pour des applications mobiles. Expérience avec des protocoles réseau et des formats de sérialisation de données comme JSON et Protobuf.
  • Familiarité avec les systèmes de contrôle de version : Compétent avec Git et les flux de travail collaboratifs. Expérience avec des outils de collaboration de code tels que GitHub.
  • Compétences en résolution de problèmes : Capacité à relever des défis complexes dans le développement frontend et backend. Pensée analytique et attention aux détails.
  • Excellentes compétences en communication : Efficace pour collaborer avec des équipes interfonctionnelles et articuler des concepts techniques à des parties prenantes non techniques. Solides compétences en communication écrite et verbale.

Éducation

Baccalauréat en informatique, ingénierie ou dans un domaine connexe, ou expérience de travail équivalente.