Software Engineer, Data Mining

Posted yesterday

Apply Now

Resume Score

Check how well your resume matches this job before you apply.

Sign in to check score

About the role

  • Software Engineer building scalable crawler infrastructure for NationGraph’s public-sector intelligence platform. Automating web data acquisition, extraction, monitoring, and repair across government sources.

Responsibilities

  • Own scraping infrastructure end-to-end
  • Build systems for creating, deploying, scheduling, monitoring, and maintaining hundreds of thousands of scrapers
  • Design abstractions to scale toward millions of sources without linearly scaling engineering effort
  • Work with government websites, APIs, procurement systems, PDFs, spreadsheets, meeting records, and legacy systems
  • Handle changing websites, undocumented APIs, rate limits, broken sources, and edge cases
  • Build orchestration, concurrency, retries, backfills, change detection, observability, cost management, and failure recovery systems
  • Ensure detection of broken sources, disappearing data, and silently incorrect extraction
  • Work with the ML Research team to use LLMs and agents to discover sources, understand websites, generate scraping logic, detect changes, diagnose and repair failures, and validate data
  • Identify common platforms and patterns that can unlock thousands of government agencies
  • Make new sources increasingly cheap and automated to onboard
  • Help map public-sector information across the U.S. and Canada and build the foundation for worldwide coverage
  • Help shape the evolving engineering stack and technical decisions

Requirements

  • Production experience building web crawlers, scraping systems, browser automation, or large-scale external data pipelines
  • Strong in Python, Go, TypeScript, or another backend/systems language
  • Understanding of JavaScript rendering, sessions and cookies, rate limits, proxies, authentication, and changing schemas and websites
  • Understanding of distributed systems, including orchestration, queues and concurrency, idempotency, retries, backfills, observability, and failure recovery
  • Deep concern for data quality, correctness, and reliability
  • Excitement about using LLMs and agents to automate scraping work
  • Ability to think in terms of scalable systems rather than individual websites
  • Ability to thrive in ambiguity
  • Backgrounds in alternative data, quantitative research infrastructure, search and crawling, AI data infrastructure, knowledge graphs, large-scale document processing, or data aggregation are of interest but not requirements

Benefits

  • Equity
  • Significant ownership over technical decisions and product outcomes
  • Opportunity to work closely with the CEO, CTO, and engineering and research team

Job title

Job type

Full Time

Experience level

Mid levelSenior

Salary

CA$170,000 - CA$200,000 per year

Degree requirement

No Education Requirement

Tech skills

Distributed SystemsJavaScriptPythonTypeScriptGo

Location requirements

HybridTorontoCanada

Report this job

Found something wrong with the page? Please let us know by submitting a report below.