Software Developer – Python – Data Migration

On Site : 1
Contract Rate : 500
Permanent Job : 1
Salary range high : 525
Salary range low : 500

Software Developer – Python – Data Migration

  • London
  • Perm
  • Tech For Impact
  • GBP500 - 525 per day

Software Developer – Python – Data Migration

Software Developer | Python | Data Migration

We’re supporting a fast-growing AI scale-up on an intensive 3-month migration programme, moving existing client environments onto a next-generation platform. This is a hands-on role for a pragmatic Python developer who enjoys untangling legacy systems, working at pace, and delivering outcomes rather than perfection.

The Role

You’ll join a rapidly scaling engineering team to design and build migration tooling that transitions complex, poorly documented client environments into a modern platform. The work is investigative, collaborative, and delivery-focused, requiring close alignment with Product and Customer Success to define and validate what “good” looks like.

Key Responsibilities

  • Rapidly reverse-engineer undocumented PostgreSQL schemas and legacy data structures
  • Understand how existing database records and S3-stored objects drive product behaviour
  • Build Python-based migration scripts to transform legacy notebooks and data into new platform formats
  • Handle pickle file deserialisation and complex data transformation logic
  • Collaborate with Product and Customer Success to define migration acceptance criteria
  • Balance speed and quality to meet an aggressive delivery timeline
  • Validate migration outputs against agreed business requirements
  • Document migration logic, decisions, and create runbooks for handover

Essential

  • Strong Python development experience in production environments
  • Solid PostgreSQL knowledge, including complex schemas and relationships
  • Proven ability to reverse-engineer undocumented or legacy systems
  • Experience working with APIs (Flask and/or FastAPI)
  • Familiarity with S3 or similar object storage
  • Confident communicator able to explain technical concepts to non-technical stakeholders
  • Comfortable working at pace with ambiguity and evolving requirements

Desirable

  • Experience delivering data migration or platform modernisation projects
  • Exposure to Jupyter notebooks or computational notebook environments
  • Background in consulting, contracting, or startup environments
  • Experience working with legacy systems and technical debt
  • Knowledge of data serialisation formats and trade-offs

The Details

  • Contract: 3 months
  • Location: Remote
  • IR35: Outside

If you’re a Python developer who thrives on complexity, enjoys uncovering how systems really work, and can deliver pragmatic solutions under tight timelines, get in touch to discuss further.

Upload your CV/resume or any other relevant file. Max. file size: 4MB.


You can apply to this job and others using your online profile. Click the link below to submit your online profile and email your application to this employer.