Développeur·euse de logiciels (planification de trajets et compression)

Équipe
Routage et compression des données
Montréal, Qc
Temps plein
Vélo jusqu'au bureau? Métro vers la maison? Bus pour un saut à la boulangerie? Vivre en ville, c'est vivre en mode multimodal. En tant que nouvelle addition à l'équipe de planification des trajets dans Transit, tu distribueras tes prophéties cartographiques à des millions de passager·ère·s, les aidant à trouver les trajets les plus opportuns, mettant en lumière les constellations de correspondances à leur disposition et leur chuchotant des secrets d'une valeur inestimable (« oui oui, tu peux attraper le prochain métro, il suffit de prendre un vélo en libre-service au lieu de marcher jusqu'à la station »).
Mais même les plus grands oracles doivent tester leurs visions, corriger des bogues et traquer des cas impossibles à reproduire. OpenStreetMap est fantastique, mais pas parfait. Les grilles ne sont pas toujours alignées, les rues zagziguent là où elles devraient zigzaguer, quelqu'un sur Twitter découvre l'existence d’une ruelle secrète qui fait gagner cinq minutes sur les trajets… une vraie course de Mario Kart, en accéléré, raccourcis et dérapages inclus. Et on aurait beau penser que les trajets de transport en commun sont plus faciles à suivre puisqu'ils suivent un tracé prédéfini (sauf quand ce n'est pas le cas 🤪), mais la réalité est bien plus nuancée que ça. Tu nous aideras donc à diagnostiquer les suggestions d'itinéraire moins-que-parfaites, à déterminer si on a affaire à des cas isolés ou si ces dernières sont symptomatiques d'un problème plus large, et à apporter les améliorations nécessaires au besoin.
Tu auras aussi comme mission de réduire notre consommation de données. Là où les autres applis de navigation se régalent des données de leurs utilisateur·trice·s, s'envoyant des fichiers GTFS débordants d'infos superflues, chez Transit on préfère une approche ultra minimaliste — on n'apporte que le nécessaire pour voyager léger! Combien de données de transport arriveras-tu à faire rentrer dans un seul kilooctet? (La bonne réponse, c'est « toujours plus! »)
Tu te passionnes pour le développement de logiciels ET le développement durable? Envie d'utiliser des compétences en C++ et de faire des prouesses avec Python pour aider à concevoir le meilleur planificateur de trajets de transports en commun de la planète? Ton travail aidera non seulement des millions de gens à se rendre au travail, à la maison, à l'école, à la garderie et à leurs rendez-vous à temps, mais contribuera aussi à réduire la quantité de CO2 dans l'atmosphère. En montrant à un·e usager·ère la combinaison parfaite de marche, vélo, bus et métro pour se déplacer plus facilement, plus économiquement, et souvent plus rapidement (!) qu'en voiture, tu feras bien plus que fournir un itinéraire. Tu réduiras la dépendance aux voitures dans ta ville. Tu feras de ta ville un meilleur endroit où vivre.
📝 Responsabilités
Ajouter de nouvelles fonctionnalités au planificateur de trajets et aux autres éléments de l'appli. Nos projets récents incluent l'intégration des détours et la prise en charge des services de transport flexibles sans itinéraires fixes.
Prioriser la performance : on est pas peu fier·ère·s de notre code qui roule à toute vitesse
Compresser de nouveaux flux de données (OSM, GTFS, GBFS, etc.) pour utilisation dans l'appli
Collaborer avec nos expert·e·s des données de transport et l'équipe derrière GO, notre assistant de navigation pas-à-pas, pour générer les suggestions d'itinéraires les plus rapides et les plus sympathiques pour chaque destination
✅ Qualités et compétences requises
Un minimum d'un an d'expérience en C++ ou équivalent
Compréhension des techniques de compression de données, des algorithmes de graphe et des structures de données
💯 Points bonus si…
Tu n'en es pas à ton premier tour de piste avec Python
Tu es à l'aise avec l'infrastructure et le déploiement, Kubernetes, les pipelines d'intégration et de déploiement continus
Tu es familier·ère avec OpenStreetMap et/ou les formats de données de transport comme GTFS, GTFS-RT et GBFS
Tu es à l'aise avec l'intégration d'outils d'IA dans ton flux de production. On ne s'attend pas à ce que tu synchronises un essaim d'agents secondaires sur armée de Mac Minis et de GPU clandestins, mais tu devras rester au fait des outils et des modèles les plus récents.
Tu te passionnes pour les villes, l'urbanisme, les transports en commun, le design, la technologie ou toutes ces réponses
Tu as l’impression que ta candidature serait excellente même si ton profil n’a pas toutes les qualités et compétences requises? N’hésite pas à postuler quand même!
💰 Rémunération et avantages sociaux
De 90 000 $ à 115 000 $ CA par année, selon l'expérience
Options d’achat de parts dans l’entreprise
Cotisations à votre REER
Assurance médicale et dentaire
5 semaines de vacances
Semaine de travail de quatre jours à plein salaire (oui oui, tu as bien lu!)
Équipement Apple
Allocation mobilité annuelle de 1600 $. STM? BIXI? Uber? Vélo électrique? Trottinette? Se passer d’auto c’est payant chez Transit!
Un budget pour la formation et le développement professionnel
Une généreuse politique de congé parental et de maternité/paternité. Faut préparer la relève!
Horaires de travail flexibles
Un environnement de travail où chacun·e aide l’autre à s’améliorer, dans un esprit d’équipe, pour un projet commun, tout ça en profitant de la plus belle vue de Montréal et/ou [insérer un fond d’écran Zoom funky]
Quand tu seras au bureau, tu seras dans un véritable paradis d'urbaniste : jardins urbains du Mile End, pistes cyclables, stations BIXI, arrêts de bus, une station de métro, une infinité de restaurants, de cafés, de bars, de salles de spectacle, de places à bagels...
Une présentation Dîner-Découverte chaque semaine (repas fourni au bureau).
👨💻 Parlons diversité
Les transports collectifs sont, plus que tout autre mode de transport, fréquentés en majorité par des femmes et des personnes de couleur. Nous souhaitons nous assurer que cette diversité puisse se refléter dans nos équipes. Nous sommes fermement convaincu·e·s qu’inclure des gens de tous horizons, quel que soit leur genre, origine, orientation sexuelle, âge ou identité nous permet, à terme, de construire une meilleure application.
Nous encourageons les personnes de tous âges, genres, origines et orientations à postuler. Si tu souhaites préciser les pronoms que tu utilises, s’il te plaît mentionne-le lorsque tu nous transmettras ta candidature.
Si la vie t’a donné une perspective unique sur tout ce qui touche au monde des transports (mobilité, accessibilité, urbanisme), n’hésite pas à le mentionner. Ta candidature recevra l’attention qu’elle mérite.
📬 Comment postuler
Écris-nous à l'adresse [email protected], en incluant ton CV, une courte présentation de qui tu es et de pourquoi tu aimerais travailler chez Transit, ainsi que quelques projets dont tu es fier·ère. On a hâte de te rencontrer!
Aussi, comment as-tu entendu parler du poste? Hasard, coïncidence, recherches sur Google en plein milieu de la nuit? On meurt d’envie de le savoir.
PS. Malheureusement, nous n'acceptons plus les CV remis en personne et/ou par télégramme chanté. Les sérénades composées au clavier (d'ordi) restent nos préférées!