Role overview

Senior Backend Software Engineer — Data Migration Platform

Requirements and responsibilities

Readable role content extracted into sections for faster review.

What You’ll Do

  • Build an application that connects to external CRM systems used by acquired agencies, extracts relevant data, and prepares it for migration into Dwelly.
  • Work with APIs, exports, files, databases and poorly documented legacy systems.
  • Design workflows for cleaning, mapping, normalising, deduplicating, and validating complex CRM data before it enters Dwelly's core platform.
  • Build safe import flows with retries, audit logs, dry runs, error handling and manual review where needed.
  • Work with entities such as landlords, tenants, properties, tenancies, payments and maintenance records.
  • Use LLM APIs pragmatically for schema mapping, data classification, entity matching, exception triage and quality checks.
  • Own the platform end to end: architecture, implementation, testing, deployment and production support.
  • Work closely with engineering, product, operations and integration teams.

What We’re Looking For

  • Strong backend engineering experience with Python.
  • Strong practical SQL skills.
  • Experience with data migration, ETL/ELT, data processing, system integrations or internal tools.
  • Production experience with FastAPI, Django, Flask or similar.
  • Experience integrating with external APIs and third-party systems.
  • Ability to work with messy, inconsistent or poorly documented datasets.
  • Good understanding of data modelling, mapping, validation, deduplication and safe import patterns.
  • Good understanding of database transactions, data consistency and production data workflows.
  • Experience with Linux, Docker and containerised development.
  • Practical experience using AI coding tools and/or LLM APIs.
  • Strong ownership mindset and ability to deliver independently under ambiguity.
  • Clear communication and ability to work closely with non-engineering stakeholders.

Nice to haves

  • Experience with CRM systems, property management systems, fintech, payments or operations platforms.
  • Experience with fuzzy matching, entity resolution, confidence scoring or duplicate detection.
  • Experience building internal tools for operations, integrations or migration workflows.
  • Experience with observability, logging, monitoring and CI/CD.
  • Experience testing applications against complex or high-volume datasets.
  • Experience with typed languages such as Java, C#, C++, Kotlin, Scala or similar.
  • Experience using LLMs for schema mapping, data classification, data extraction or workflow automation.

What Success Looks Like

  • Newly acquired agencies can be migrated faster and with fewer manual steps.
  • CRM data can be extracted, validated and imported in a repeatable way.
  • Data quality issues are detected early and handled safely.
  • The migration process becomes more automated, auditable and scalable over time.
  • Operations and engineering teams have better visibility and control over migration progress.

Compensation & Benefits:

  • Fully remote role.
  • Competitive compensation based on experience and impact.
  • Opportunity to work on high-leverage automation systems at the intersection of backend engineering, applied ML, data and real operational workflows.
  • Competitive salary with the potential for equity options based on performance, recognising exceptional contributions to our integration success.

Our Principles

  • Customer obsession rather than competitive focus
  • Passion for invention
  • Operational excellence
  • Long-term thinking
Similar roles

Keep a backup shortlist.

Browse stack
FocusBackend EngineeringRole area
Seniority signalSeniorCandidate level
StackCI/CD, Docker, JavaPrimary skills
Location46 accepted countriesEligibility

Stack

Use these tags to compare similar remote roles.

Location eligibility

Candidates should apply only when their profile country is listed here.

Hiring flow

WithMira shows the role, then sends candidates to the company application.

1Check role fit, stack, and location eligibility in WithMira.
2Open the company application page from the tracked apply link.
3Save the role or subscribe for similar opportunities before leaving.