Software Developer (Routing and Compression)
Transit
Software Engineering
Montreal, QC, Canada
CAD 90k-115k / year + Equity
Bike to gym? Train to work? Bus to the boulangerie? Life in the city is a multimodal road trip. As the newest member of Transit’s routing and compression team, you’ll be the map-wielding oracle for millions of riders. You’ll help folks perfectly time their rides, tell them the best places to transfer, and whisper “you actually can catch the earlier train, if you bikeshare to the station instead of walking.”
But even oracles need to run tests, fix bugs, and hunt down edge cases. OpenStreetMap is incredible, but it ain’t perfect. The grids don’t always line up, a street zigs where it should zag, a Twitter user informs you about 6½ Avenue in Midtown that can shave five minutes off your commute — like a Mario Kart speedrun IRL. And while you’d think transit routes would be straightforward to work with because they follow fixed shapes (except when they don’t 🤪) the reality is more nuanced. You’ll help us diagnose suboptimal trip plans, figure out whether they’re one-offs or symptoms of a larger issue, and make the necessary improvements.
You’ll also be responsible for reducing our app’s data footprint: other navigation apps are happy to devour your data, sending GTFS files in blimp-sized backpacks stuffed with extraneous information. At Transit we prefer the ultralight approach: we saw our toothbrush in half and cut the tags off our t-shirts to save weight on the trail. (How much transit data can you squeeze into a single kilobyte? The answer is “always more!”)
Are you a sustainability-minded engineer? Want to use your C++ skills and Python prowess to help us build the world’s best trip planner for public transit? Your work will not only help millions of riders get to work, home, school, daycare, and appointments on time — you’ll also be building an engine that removes CO2 from the atmosphere: when you show a rider how a combination of walking, biking, buses, and trains can be competitive (and often even faster!) than taking a car, you’re not just giving that person directions. You’re making your city less car-dependent. You’re making your city a better place to live.
📝 Responsibilities
You’ll add new functionality to the trip planner and other parts of the app. Recent projects have included integrating transit detours, and adding the ability to handle flexible transit services that don’t follow fixed routes.
You’ll keep performance top of mind: we take pride in making sure our code runs ridiculously fast
You’ll compress new datasets (OSM, GTFS, GBFS etc.) for use within the app
You’ll work alongside our transit data experts and the team working on GO, our step-by-step navigation assistant, to help deliver the fastest and friendliest plans for every single trip
✅ Requirements
A minimum of 1 year or equivalent working with C++
Understanding of data compression techniques, graph algorithms, and data structures
💯 Would be nice if
You know your way around Python
You're comfortable with infrastructure and deployment, Kubernetes, CI/CD pipelines
You’re familiar with OpenStreetMap and/or transportation data formats like GTFS, GTFS-RT, and GBFS
You’re comfortable integrating AI tools into your workflow. We won’t expect you to be orchestrating swarms of subagents alongside your army of Mac Minis and black market GPUs, but we expect you to be keeping up-to-date with the latest models and tools
You’re passionate about cities, urbanism, public transit, design, technology, or all the above
Don’t feel like all the requirements apply to you but you still think you’d be a great fit for Transit? Don’t hesitate to apply!
💰 Compensation and benefits
$90,000 - $115,000 CAD per year, based on experience
Stock options
RRSP/FHSA contributions
Comprehensive medical and dental coverage
5 weeks vacation
Four-day work week at full-time salary (yes, you read that right)
Apple laptop and equipment
$1,600 annual mobility allowance. STM? BIXI? Uber? E-bike? Scooter? Going car-free is free at Transit.
A training and development budget
Generous maternal/paternal/parental leave policy. Gotta fill out our tandem bicycles somehow!
Flexible work hours
Spend your days surrounded by first-rate teammates and the best view of Montreal and/or [insert exotic Zoom background]
When you’re in the office: you’ll be in urbanist heaven, surrounded by Mile End’s urban gardens, bike paths, BIXI docks, bus stops, a metro station, and limitless restaurants… cafés… bars… concert halls… bagel boutiques…
Communal lunch-and-learn with free food in the office each week
👨💻 A note on diversity
Public transit is used by overwhelmingly more women and people of colour than other modes of transportation. We try to make sure the diversity of our users is reflected in the team that serves them. Because when we include people of all races, genders, sexual orientations, ages, and identities — we end up building a better app for everyone who uses Transit.
We encourage candidates of all ages, genders, origins and orientations to apply. If you’d like to specify which pronouns you use, feel free to include that in your application email.
And if your lived experience has given you a unique perspective on all things transportation, mobility, accessibility, urbanism? Let us know, and we’ll make sure your application gets the attention it merits.
📬 How to apply
Shoot us an email at jobs+routing@transitapp.com with a CV, quick summary of who you are and why you’re interested in working at Transit, and some projects you’re proud to have worked on. We look forward to meeting you!
PS: When you apply, let us know how you heard about the position! Whispers, grapevines, middle-of-the-night Google searches? We’re dying to know.
PPS: Unfortunately, we don't accept in-person applications or singing telegrams. Make your application sing instead!