Job Posting:
Senior Software Engineer – Customer Facing (French Speaking)
About OPEN
The built environment contributes roughly 40% of annual global emissions. OPEN’s data and software tools help governments, utilities, capital providers, and portfolio managers make pro-climate decisions with confidence by providing actionable insights on the best pathways to achieve energy and carbon savings from buildings.
Our product
OPEN’s most mature product—GRID—collects data describing commercial buildings alongside their utility usage. We use this data to benchmark energy and carbon intensity at municipal and portfolio levels. GRID is deployed in 28 jurisdictions, including 23 of the 100 Canadian cities over 50,000 people.
The role
We’re hiring a French-speaking Senior Software Engineer, Customer-Facing to join our product engineering team.
Early on, you’ll support an upcoming French language engagement as the customer-facing technical representative for OPEN. You’ll run clear technical conversations in French, make sure we accurately understand what the customer needs, communicate OPEN’s constraints and concerns honestly, and bring the right context back to our English-speaking engineering team so we can plan and deliver responsibly.
This is a permanent role: after the engagement, you’ll continue as a senior individual contributor shipping product work across OPEN’s platform.
What you’ll do
Customer-facing technical representation (core)
- Act as the technical bridge and representative between French-speaking customer stakeholders and OPEN’s English-speaking engineering team.
- Lead customer-facing technical conversations in French (spoken + written): meetings, email threads, follow-ups, and decision summaries.
- Read and work from French technical documentation (e.g., API/CRM docs) and collaborate with French-speaking partner teams.
- Handle technical Q&A with customers (bugs, integrations, timelines, constraints) with calm, professional judgment—knowing when to escalate or defer for internal alignment.
- Capture requirements, edge cases, and acceptance criteria, and translate them into clear, actionable context for our engineering team.
Important: You are not expected to run the engineering team or dictate implementation. You are expected to be disciplined about commitments—knowing when to answer immediately, and when to say: “Let’s confirm internally and get back to you.”
Ongoing product work
- Build and maintain features in GRID for customers across Canada.
- Work autonomously (solo or pairing) to deliver customer value in three-week project cycles.
- Design, develop, test, debug, and maintain high-quality software in a production codebase.
- Collaborate across teams to improve our infrastructure, developer tools, and internal systems.
- Help evolve our engineering practice toward more effective agentic workflows (and, over time, agent-friendly architectures), by sharing patterns, guardrails, and examples that improve team throughput and quality.
- Write and maintain clear technical documentation.
How we build
- Small PRs, frequent deploys: we deploy multiple times per day via pull request reviews and small, low-risk changes.
- Incremental by default: automated testing + monitoring, continuous improvement, and steady delivery over big-bang rewrites.
- We huddle a lot: when something’s thorny, you’ll find us jumping into quick Slack/in-person huddles to unblock each other.
- High autonomy, high support: you’ll have latitude on implementation direction, with an experienced team to lean on.
- AI-assisted workflow: we use AI tools day-to-day, including agentic coding approaches, paired with strong review, testing, and incremental delivery.
Our stack (and what we expect you to learn)
Our core is Clojure (JVM). We also use Python on the backend, and on the frontend we use ClojureScript and JavaScript (mostly React and D3).
You don’t need prior Clojure experience, but you do need to be excited to learn and work in Clojure/ClojureScript.
What we’re looking for (must-haves)
- Fluent French (spoken + written) for professional technical communication.
- Strong written communication in French and English (meeting notes, decision summaries, crisp follow-ups).
- Proven experience being the customer-facing engineering representative on software projects (integrations a strong plus).
- Strong judgment in live conversations: can distinguish commitments vs possibilities, can say “not yet / we need to confirm” gracefully, and avoids overpromising.
- Experience shipping production software and working effectively in an existing codebase (typically 5–10+ years, but we care more about capability than a number).
- Comfortable collaborating across teams and stakeholders: turning ambiguity into clear, actionable context for engineering.
- Strong fundamentals: debugging, testing, working safely, and delivering incrementally.
- Motivation to learn a new language and ecosystem (Clojure/ClojureScript) with support from an experienced team.
- Comfortable and enthusiastic working in an AI-assisted / agentic development workflow (we use these tools day-to-day) — and able to model good practice: verification, tests, small PRs, and safe incremental changes.
Nice-to-haves
- Experience with integrations (APIs, authentication, data sync, CRMs).
- Experience with data-heavy products, analytics, or data visualization.
- Exposure to functional programming concepts (in any language).
- Experience working with public-sector customers or regulated environments.
Location, hours and salary
This is a hybrid role in Vancouver, BC (1–3 days/week in the office). We are also open to fully remote candidates, particularly those based in the Eastern Time Zone, depending on experience and fit. 3–4 days per week arrangements can also be discussed, especially for parents or caregivers.
Salary for this full-time position is $114,199-$139,576 CAD. Benefits after a three-month probationary period.
OPEN strives to build a team that reflects the diversity of the communities we are a part of. We encourage applicants from groups that are underrepresented in tech such as women, visible minorities, Indigenous persons, LGBTQ2 persons, and persons with disabilities.
How to apply
Email jobs@opentech.eco with:
- Your resume (or LinkedIn)
- A short note (can be brief) describing:
- a customer-facing technical situation you handled (what the stakes were and how you kept commitments disciplined)
- your comfort communicating technical details in French
- your experience using AI tools in your development workflow (and, if applicable, agentic tools like Claude Code)
Développeur·se logiciel senior — rôle clients (francophone/bilingue)
À propos d’OPEN
Le secteur du bâtiment est responsable d’environ 40 % des émissions mondiales annuelles de gaz à effet de serre. Les outils de données et les logiciels d’OPEN aident les gouvernements, les services publics, les investisseurs et les gestionnaires de portefeuilles à prendre des décisions favorables au climat, en toute confiance, en leur fournissant des analyses concrètes sur les meilleures façons de réduire la consommation d’énergie et les émissions de carbone des bâtiments.
Notre produit
Le produit le plus mature d’OPEN — GRID — collecte des données sur les bâtiments commerciaux ainsi que sur leur consommation énergétique. Ces données servent à mesurer et comparer la performance énergétique et carbone à l’échelle municipale et de portefeuilles immobiliers. GRID est déployé dans 28 juridictions, dont 23 des 100 villes canadiennes comptant plus de 50 000 habitants.
Le rôle
Nous sommes à la recherche d’un·e Développeur·se logiciel senior — rôle clients (francophone/bilingue), pour se joindre à notre équipe d’ingénierie produit.
Dans un premier temps, vous soutiendrez un mandat francophone à venir en agissant comme représentant·e technique auprès des clients. Vous animerez des échanges techniques clairs en français, vous assurerez de bien comprendre les besoins des clients, communiquerez de façon transparente les contraintes et préoccupations d’OPEN, et transmettrez le bon contexte à notre équipe d’ingénierie anglophone afin que nous puissions planifier et livrer de manière responsable.
Il s’agit d’un poste permanent : après ce mandat, vous continuerez comme contributeur·rice individuel·le senior, en livrant du travail produit à travers la plateforme d’OPEN.
Ce que vous ferez
Représentation technique auprès des clients (rôle clé)
- Agir comme pont technique et représentant·e entre les parties prenantes clientes francophones et l’équipe d’ingénierie anglophone d’OPEN.
- Mener des discussions techniques avec les clients en français (oral et écrit) : réunions, courriels, suivis et synthèses décisionnelles.
- Lire et travailler à partir de documentation technique en français (ex. : documentation API ou CRM) et collaborer avec des équipes partenaires francophones.
- Répondre aux questions techniques des clients (bogues, intégrations, échéanciers, contraintes) avec jugement, calme et professionnalisme — en sachant quand escalader ou valider à l’interne.
- Recueillir les besoins, cas limites et critères d’acceptation, puis les traduire en contexte clair et exploitable pour l’équipe d’ingénierie.
Important : Vous n’êtes pas responsable de diriger l’équipe d’ingénierie ni d’imposer les choix d’implémentation. Vous êtes toutefois attendu·e à faire preuve de rigueur dans les engagements pris — en sachant quand répondre immédiatement et quand dire : « On valide à l’interne et on vous revient. »
Travail produit continu
- Concevoir, développer et maintenir des fonctionnalités de GRID pour des clients partout au Canada.
- Travailler de façon autonome (seul·e ou en pair-programming) pour livrer de la valeur client dans des cycles de projet de trois semaines.
- Concevoir, développer, tester, déboguer et maintenir du logiciel de haute qualité en production.
- Collaborer avec différentes équipes pour améliorer l’infrastructure, les outils de développement et les systèmes internes.
- Contribuer à l’évolution de nos pratiques d’ingénierie vers des flux de travail agentiques plus efficaces (et, à terme, des architectures adaptées aux agents), en partageant des patrons, balises et exemples qui améliorent la vélocité et la qualité.
- Rédiger et maintenir une documentation technique claire.
Notre façon de travailler
- Petites PR, déploiements fréquents : nous déployons plusieurs fois par jour via des revues de pull requests et de petits changements à faible risque.
- Approche incrémentale par défaut : tests automatisés, monitoring, amélioration continue et livraison constante — pas de refontes “big bang”.
- Collaboration rapprochée : quand un enjeu est complexe, on se regroupe rapidement (Slack ou en personne) pour débloquer la situation.
- Grande autonomie, fort soutien : liberté dans les choix d’implémentation, appuyée par une équipe expérimentée.
- Flux de travail assisté par l’IA : nous utilisons des outils d’IA au quotidien, y compris des approches de développement agentiques, combinées à des revues solides, des tests et une livraison incrémentale.
Notre pile technologique (et ce que nous nous attendons à ce que vous appreniez)
- Notre environnement principal repose sur Clojure (JVM).
- Nous utilisons aussi Python pour le backend, et côté frontend, ClojureScript et JavaScript (principalement React et D3).
Vous n’avez pas besoin d’avoir une expérience préalable avec Clojure, mais vous devez être enthousiaste à l’idée d’apprendre et de travailler avec Clojure/ClojureScript.
Profil recherché — exigences essentielles
- Maîtrise du français (oral et écrit) pour des communications techniques professionnelles.
- Excellentes capacités de communication écrite en français et en anglais (notes de réunion, synthèses décisionnelles, suivis clairs).
- Expérience démontrée comme représentant·e technique côté client sur des projets logiciels (les intégrations sont un atout majeur).
- Excellent jugement en temps réel : capacité à distinguer engagements et possibilités, à dire « pas encore / on doit valider » avec tact, et à éviter toute surpromesse.
- Expérience en livraison de logiciels en production et en travail dans une base de code existante (généralement 5 à 10+ ans, mais nous priorisons les compétences, pas un chiffre).
- Aisance à collaborer avec diverses équipes et parties prenantes, et à transformer l’ambiguïté en contexte clair et actionnable.
- Solides bases techniques : débogage, tests, travail sécuritaire et livraison incrémentale.
- Motivation à apprendre un nouvel écosystème (Clojure/ClojureScript) avec l’appui d’une équipe expérimentée.
- Confort et enthousiasme à travailler dans un environnement de développement assisté par l’IA / agentique — et capacité à modéliser de bonnes pratiques (vérification, tests, petites PR, changements sécuritaires).
Atouts
- Expérience en intégrations (API, authentification, synchronisation de données, CRM).
- Expérience avec des produits axés sur les données, l’analytique ou la visualisation.
- Familiarité avec la programmation fonctionnelle (dans n’importe quel langage).
- Expérience auprès de clients du secteur public ou dans des environnements réglementés.
Lieu, horaire et rémunération
Poste hybride à Vancouver (C.-B.), avec une présence au bureau de 1 à 3 jours par semaine pour les candidat·e·s basé·e·s dans la région. Nous sommes toutefois ouverts à des candidatures en télétravail à 100 %, en particulier pour des personnes situées dans le fuseau horaire de l’Est, lorsque le profil et l’expérience s’y prêtent. Des modalités de 3 à 4 jours par semaine peuvent également être discutées, notamment pour les parents ou proches aidants.
Le salaire pour ce poste à temps plein est de $114,199-$139,576 CA. Les avantages sociaux sont offerts après une période de probation de trois (3) mois.
Chez OPEN, nous tenons à bâtir une équipe qui reflète la diversité des communautés auxquelles nous appartenons. Nous encourageons vivement les personnes issues de groupes sous-représentés en technologie à poser leur candidature, notamment les femmes, les minorités visibles, les personnes autochtones, les personnes LGBTQ2 et les personnes en situation de handicap.
Pour postuler
Veuillez nous faire parvenir par courriel à jobs@opentech.eco:
- Votre CV (ou votre profil LinkedIn)
- Une courte note (peut être très brève) décrivant :
- une situation technique côté client que vous avez gérée (les enjeux et comment vous avez maintenu des engagements réalistes);
- votre aisance à communiquer des enjeux techniques en français;
- votre expérience avec des outils d’IA dans votre flux de développement (et, le cas échéant, des outils agentiques comme Claude Code).