Summary
✨ AI‑Generated
A mission-driven organization is seeking a senior software developer to design and maintain data and infrastructure systems. The role focuses on building reliable platforms, supporting data-driven initiatives, and creating technology solutions with public value.
Highlights
Work on meaningful technology projects that support transparency and public impact while contributing to innovative data-driven systems.
Description
About the Investigative Journalism Foundation
The Investigative Journalism Foundation (IJF) is a nonprofit newsroom dedicated to public-interest journalism.
We are a new kind of media outlet, built around databases on who donates to politicians across Canada, who lobbies them, and how the government spends your money.
The IJF is rapidly growing and is proud to be named one of the world’s most innovative media companies by Fast Company magazine.
We were also selected for Fast Forward’s accelerator for tech non-profits, won an Anthem Award for our Open By Default database, two gold medals at the Canadian Online Publishing Awards and the Product of the Year award from LION Publishers.
As a nonprofit, nonpartisan media outlet, our primary purpose is to serve the public.
We do this by publishing in-depth investigative journalism that speaks truth to power.
Our databases are also used by other journalists, policymakers and academics seeking to increase transparency and strengthen Canadian democracy.
About this job
This is a one-year, full-time staff position with benefits.
Extension will depend on future project funding, which we’re actively pursuing.
Most of the IJF’s team is based in Toronto, but we’re happy to hear from candidates based elsewhere in Canada.
We’re looking for an experienced senior software developer with real strength in Python and cloud infrastructure to help build out the IJF’s public interest databases.
For your first six months you’ll focus on our Local News Finder project, a collaboration with academic researchers that combines AI with structured human review to build the most comprehensive survey of local news in Canada.
You’ll own the pipeline that identifies and classifies local news outlets across every community in Ontario and Quebec.
The results will shape how researchers and policymakers understand where local journalism exists in this country, and where it has disappeared.
From there, you’ll help build the systems that power the rest of our work.
Depending on where we are, that could mean working on our upcoming municipal decisions database, which will provide local journalists and the public with searchable summaries of council decisions across Canada’s 130 largest municipalities, at a moment when city hall coverage has largely disappeared.
It could also include building out entity matching flows to connect people and companies across our lobbying, donations, procurement and appointments databases so Canadians can better understand how power and influence move in their communities.
We are also working on hardening our existing data pipelines so they can run reliably at scale.
What you'll do:
Build, deploy and operate data pipelines on the cloud, designed to resume cleanly when long jobs fail and to keep API costs predictable.Design the databases behind the tools you build, with careful attention to keeping track of where each piece of data came from.Build internal tools used by our academic partners and reviewers.Extend and improve our AI classification pipelines, and build the harnesses that allow us to evaluate changes.Contribute to public-facing interfaces for our databases.
We’re looking for someone with:
Demonstrated experience owning production systems end to end, through design, deployment and maintenance.Strong Python experience in production environments, including working with third-party APIs and data pipelines.Strong PostgreSQL experience, including schema design and migrations.Hands-on experience running and deploying applications on AWS.Production experience with React, Next.js and TypeScript.Experience working with LLM APIs, prompt engineering or model evaluations is an asset.Clear written and verbal communication, including with non-technical stakeholders.Comfortable working autonomously on a small team and taking your work from design through to production.Excitement about working with journalists and building tools to serve the public interest.Experience with Python web scraping, particularly with tools like Playwright or BeautifulSoup an asset.Knowledge of French is an asset.
Compensation, benefits and time off:
Salary range of $95,000 to $120,000 Health and dental benefits15 vacation days a year Unlimited sick days Additional paid time off from December 25 to January 1 100% remote work, with the option for hybrid arrangements in Vancouver and TorontoA professional development spending account of $1,000 a yearA home office spending account of $500 a year
How to apply:
Please fill out the form here https://theijf.applytojobs.ca/tech/50265.
It will ask you for your CV and a cover letter telling us how your skills are a fit for the IJF’s mission.
Not sure you’re qualified for this job? Please apply anyway.
We’re looking for talented people who share our passion for making Canada a better place.
We’re committed to building an inclusive environment and encourage on-the-job training and learning.
We are a workplace that promotes remote and flexible work arrangements and emphasizes work-life balance.
We welcome applications from individuals identifying with groups traditionally underrepresented in journalism due to gender, race, ethnicity, sexuality, Indigeneity, religion, immigration background, or disability.
Applicants must be legally entitled to work in Canada.
We will be reviewing applications on a rolling basis.
We encourage you to apply early, but we will review every application received before the deadline.
The deadline to apply is September 15, 2026.
We’re looking forward to hearing from you.
— The IJF team