hero

Canada's Talent Marketplace

Find your next role at Canada's fastest-growing tech companies
companies
Jobs

Data Engineer

Leap Tools

Leap Tools

Software Engineering, Data Science
Canada · Remote
Posted on Feb 3, 2026
Data Engineer
Canada - Remote
Engineering
Remote
Full-time
At Leap Tools, we are building the world's most advanced solutions for the interior décor industry. With customers in 80+ countries, our clientele includes Fortune 500 companies such as Home Depot, local retailers such as Alexanian's, and everything in between. We have been recognized as one of the fastest-growing tech companies by Deloitte for multiple years in a row, and we are looking for ambitious challenge-seekers to fuel our momentum and help us create an iconic global tech company.
About our product
Our technology lets you preview products in your own room before you buy them. Imagine you want to redesign your home and have been searching for new tiles for your kitchen, or a new rug for your living room. You definitely want to make sure it will look good in your space. We enable you to do that through our proprietary cutting-edge technology, presented in an extraordinarily simple and accessible way. Try our rug demo now! Simply upload a picture of your room using your mobile phone, and slide the rug under your coffee table: https://www.roomvo.com/rugdemo...
About you
You are a Data Engineer with a strong foundation in building and maintaining data pipelines and data models that power analytics, reporting, and product insights. You enjoy working close to production systems and care deeply about data quality, reliability, and performance.
You want to grow your impact and technical depth. You may not yet be setting a long-term data strategy, but you are eager to take ownership of meaningful parts of the data platform, learn best practices in data warehousing, and work alongside senior engineers, ML engineers, and product teams to solve real business problems.
You value execution, collaboration, and learning, and you are comfortable operating in a fast-paced environment where priorities evolve and ownership matters.
About our Stack
  • Python, Django, Kubernetes, PostgreSQL, dbt, Redshift, AWS
What You'll Do
  • Design, build, and maintain reliable ELT pipelines that ingest and transform data into our centralized data warehouse.
  • Model data for analytics and reporting use cases, ensuring performance, correctness, and usability for downstream consumers.
  • Partner with Product, ML Engineers, Data Scientists, and DevOps to support data needs across the organization.
  • Take ownership of specific data pipelines, datasets, or warehouse components, including monitoring, debugging, and iterative improvement.
  • Help improve data quality, testing, and documentation standards within the data platform.
  • Participate in system design discussions and code reviews, learning from senior engineers and contributing your perspective.
  • Unblock and support internal stakeholders by making data accessible, understandable, and trustworthy.
Requirements
  • 2+ years of professional experience in data engineering, analytics engineering, or backend engineering with a strong data focus.
  • Strong SQL skills and working proficiency in Python.
  • Experience building or maintaining data pipelines and working with a data warehouse or analytics stack.
  • Solid computer science fundamentals, based on a degree in Computer Science or equivalent practical experience.
  • Understanding of system architecture with an emphasis on reliability, availability, and performance.
  • Strong focus on execution and delivering production-ready solutions.
  • High attention to detail and commitment to data quality and long-term maintainability.
  • Clear communication skills and comfort collaborating across teams.
  • Comfortable working in a fast-paced, evolving environment where learning and adaptability are key.
  • Familiarity with our stack is strongly preferred but not required.
About our culture
  • We're a remote-first company that encourages our employees to work from where they're most productive.
  • We work in tight-knit teams to cultivate an ownership mentality.
  • We cherish curiosity and an obsession for details because we know these details are invaluable over the long run.
  • We're hyper-focused on our achievements and our ability to execute our promises. We act with urgency.
  • Work anywhere in the world for up to 3 months!
  • We value families, by offering a parental leave program
  • We offer a work-from-home stipend
  • Your birthday (and our company's birthday) is a day off!
About our hiring process
  • You upload your resume and complete a brief questionnaire.
  • Three rounds of technical assessment.
  • Culture fit assessment.
  • Final interview with leadership.
  • Offer
Take the Leap. Apply now.
Our demo, in case you missed it: https://www.roomvo.com/rugdemo4r
Ready to apply?
Powered by
First name *
Last name *
Email *
LinkedIn URL
Resume *
Click to upload or drag and drop here
Cover letter
Click to upload or drag and drop here
Given the data structure {"sku": "VA-43", "size": "5ft", "name": "Blue Sky", "description": "A great product!"} *
Change it to match the following spec:
1) All values must be lowercase.
2) Values may contain only alphanumeric characters, underscores or dots. All other characters must be replaced with underscores.
3) "description" is a special property, to which none of the above specifications apply.
4) If any value has more than 10 characters, trim it at 10 characters and add three trailing dots.
5) Convert imperial units into metric. For distance, use meters.
What is the runtime complexity of this function, in terms of m and n? *
def print_all_codes(n, m):
upper_bound = m + n
# Print all codes for n and m
def print_01_codes(current, num_digits):
if num_digits == 0:
# Print only the current
print(current)
else:
if upper_bound > m or upper_bound < 1 or m == n == 0:
print_01_codes('1' + current, num_digits - 1)
print_01_codes('0' + current, num_digits - 1)
print_01_codes('1' + current, num_digits - 1)
print_01_codes('0' + current, num_digits - 1)
else:
print_01_codes('1' + current, num_digits - 1)
print_01_codes('0' + current, num_digits - 1)
print_01_codes('1' + current, num_digits - 1)
upper_bound = 0
while True:
for i in range(upper_bound):
print_01_codes('', n)
if upper_bound == m:
break
upper_bound += 1
Please describe your proudest programming achievement *
Req ID: R46