Remote job
Software Engineer, Data Acquisition
Job details
About this role
Role overview
Build and operate the data-acquisition systems that supply research and trading operations with reliable, fresh information. The role is an even blend of software engineering and production operations: you will develop resilient scraping systems, manage distributed infrastructure across varied environments, and investigate failures in a continuously running service. Remote-first collaboration is supported, with North American and European time zones preferred and proximity to Montreal beneficial but not required.
Responsibilities
- Develop production web-scraping systems, primarily in Rust, that withstand site changes, rate limits, CAPTCHAs, and changing anti-bot defenses. - Operate infrastructure across multiple cloud providers, bare-metal machines, and mixed operating systems, taking responsibility for uptime and service health. - Use logs, telemetry, monitoring, and alerting to diagnose failures and expose operational problems early. - Design proxy-management, rotation, routing, and connection strategies for dependable acquisition at scale. - Build fleet-health tooling, automated recovery, and operational workflows that reduce manual maintenance. - Partner with analysts and researchers to prioritize sources and maintain required data quality and freshness. - Reverse-engineer web applications and APIs by examining network behavior, adapting integrations, and responding to adversarial changes. - Improve throughput, reliability, maintainability, and source onboarding through automation, including agentic workflows for discovery and troubleshooting.
Requirements
- Experience building and operating production software, with ownership extending beyond deployment into long-term stability. - Proficiency in at least one major programming language such as Go, Python, C++, Java, or a comparable language. - Comfort investigating distributed-system failures through logs, telemetry, and network behavior. - Interest in large-scale web scraping, anti-bot systems, browser fingerprinting, proxy rotation, and related operational challenges. - Ability to work independently in an evolving environment, prioritize effectively, and take responsibility for outcomes. - Willingness to learn Rust if it is not already part of your professional background.
Nice to have
- Production Rust experience. - Python experience for scripting, prototyping, or analyst-facing tools. - Experience with AWS, GCP, DigitalOcean, or infrastructure spanning multiple providers. - Background in high-throughput HTTP, proxy systems, VPN or routing optimization, connection pooling, or latency-sensitive systems.
Benefits and work setup
- Remote-first distributed team with flexible hours and location, plus in-person sprints and retreats. - Performance-linked compensation, home-office and hardware support, learning and conference budgets, health coverage, life insurance, retirement matching, open vacation, and 16 weeks of paid parental leave.