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.
Software Engineer, Data Acquisition in Location not specified at Unknown Company
This position is listed as full time and able to be worked remotely.