Job Posting:

Software Engineer (Intermediate)

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 are scaling GRID to support a major provincial engagement in Quebec — our largest deployment to date. To support this effort we’re hiring a Software Engineer (Intermediate) to join our product engineering team working on GRID.

You’ll work as an individual contributor building and maintaining features for customers across Canada. You’ll collaborate with an experienced team, shipping product work in three-week cycles while learning our stack and contributing to our evolving engineering practices.

 

What you’ll do

  • Build and maintain the GRID product for customers across Canada.
  • Work collaboratively (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 adjacent products, infrastructure, developer tools, and internal systems.
  • Contribute to evolving our engineering practice toward more effective agentic workflows by learning and applying 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 every 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)

  • Strong communication in English.
  • Experience shipping production software and working effectively in an existing codebase (typically 3–5+ 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 and able to apply good practices: verification, tests, small PRs, and safe incremental changes.

 

Nice-to-haves

  • Hands-on experience with agentic coding tools, ideally Claude Code (or similar tools such as Cursor/Codex workflows).
  • Experience with data-heavy products, analytics, or data visualization.
  • Exposure to functional programming concepts (in any language).
  • French-English bilingual, both written and verbal.

 

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 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 $100,085-$122,326 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 us at jobs@opentech.eco:

  • Your resume (or LinkedIn)
  • A short note (can be brief) describing:
    • your experience using AI tools in your development workflow (and, if applicable, agentic tools like Claude Code)
    • why you’re interested in learning Clojure and working on climate-focused software