The posting
Software Engineer, External Integrations & Data
Location: Remote Canada Employment Type: Full-time Level: Senior Software Engineer
About the company
Our Series A client is transforming the building supply industry through innovative technology. Their integrated commerce platform enables independent building suppliers to streamline operations, enhance customer service, and deliver exceptional digital buying experiences. By connecting sales, accounts receivable, operations, and customer engagement into one seamless solution, they help their customers operate more efficiently and drive growth.
Their team is made up of curious, entrepreneurial problem-solvers who thrive in a fast-paced environment. They value innovation, collaboration, and ownership, with a shared focus on building practical solutions that create meaningful impact for their customers and the industry as a whole.
About the Role
We’re looking for a resourceful Software Engineer who thrives on solving problems where the path forward isn’t always obvious. You’ll work on building systems that interact with external platforms, services, and data sources — particularly in situations where official APIs are limited, unavailable, or insufficient for the job.
This role is ideal for an engineer with experience in web scraping, reverse engineering, or building integrations with third-party systems that weren’t necessarily designed to be integrated with.
You’ll help us connect to external sources, extract and normalize messy or unstructured data, and turn it into reliable, structured information that can power modern AI-driven applications. We’re looking for someone who enjoys figuring out how things work under the hood, navigating undocumented systems, and building robust solutions to complex technical challenges.
What You’ll Do
- Build integrations without traditional APIs: Develop systems that interact with external websites, platforms, and services when official APIs are unavailable, incomplete, or too restrictive.
- Develop data acquisition pipelines: Collect, extract, and transform data from diverse external sources, including HTML pages, dynamic web applications, documents, and unstructured content.
- Reverse engineer external systems: Analyze network requests, browser behavior, page structures, and undocumented interfaces to understand how external systems operate.
- Build scraping and automation tools: Use technologies such as browser automation, HTTP clients, headless browsers, and custom extraction logic to retrieve data reliably.
- Clean and normalize messy data: Transform inconsistent, duplicated, incomplete, or poorly structured data into clean, standardized formats suitable for downstream applications and AI workflows.
- Build resilient systems: Design integrations that can handle changing page layouts, evolving external systems, rate limits, authentication flows, and unexpected failures.
- Leverage AI for data processing: Explore ways to use LLMs and other AI techniques to extract, classify, enrich, validate, and structure data from unstructured sources.
- Improve reliability and scalability: Implement monitoring, retries, validation, error handling, and automated testing to ensure integrations remain dependable over time.
- Collaborate across engineering and product: Work with other engineers to turn ambiguous requirements and unfamiliar external systems into practical, maintainable solutions.
What We’re Looking For
- Professional software engineering experience building production-quality applications, integrations, or data pipelines.
- Experience with at least one of the following: Web scraping or large-scale data extraction. Reverse engineering or working with undocumented interfaces. Building integrations with third-party platforms that lack robust APIs. Extracting, transforming, and cleaning data from inconsistent external sources.
- Strong proficiency in a language such as Python, TypeScript, or JavaScript.
- Experience working with HTTP, REST concepts, HTML, DOM structures, JSON, .Net C# and network requests.
- An understanding of authentication, cookies, sessions, pagination, rate limiting, and other challenges associated with external integrations.
- Experience designing maintainable software that can adapt when external systems change.
- Strong debugging and analytical skills, with the ability to investigate unfamiliar systems and work through ambiguous technical problems.
- A pragmatic, resourceful mindset and a willingness to experiment, prototype, and find creative solutions.
What Success Looks Like
- You can take an unfamiliar external platform and figure out how to retrieve the information we need, even when there isn't a straightforward API.
- You can turn inconsistent, dirty, or unstructured external data into clean, usable, structured datasets.
- You build integrations that remain reliable even as external systems evolve.
- You can move from investigation and proof of concept to production-ready software without sacrificing maintainability.
- You consistently find practical solutions to problems that don't have an obvious playbook.
The Ideal Candidate
The ideal candidate is a software engineer who enjoys the investigative side of engineering. They might have built scrapers, reverse-engineered web applications, developed browser automation, or created integrations with platforms that weren't designed to expose their data.
They don't necessarily need experience in every area listed above. We're more interested in someone who has demonstrated the ability to figure out how external systems work, access and interpret data, and build reliable software around systems they don't control.
This is not simply a traditional API integration role. It's an opportunity for an engineer who enjoys working at the intersection of external systems, data acquisition, data quality, and AI



