Job Search and Career Advice Platform

Enable job alerts via email!

Software Developer - Python - Data Migration

SR2 Clean Energy

Remote

GBP 50,000 - 70,000

Full time

Today
Be an early applicant

Generate a tailored resume in minutes

Land an interview and earn more. Learn more

Job summary

A fast-growing AI scale-up is seeking a Software Developer specializing in Python and data migration. In this remote role, you will design and build migration tooling to transition complex, poorly documented client environments onto a next-generation platform. The ideal candidate should have strong Python development experience, solid PostgreSQL knowledge, and proven skills in reverse-engineering legacy systems. This is an opportunity for someone who thrives on complexity and aims to deliver pragmatic solutions under tight timelines.

Qualifications

  • Strong Python development experience in production environments.
  • Solid PostgreSQL knowledge, including complex schemas and relationships.
  • Proven ability to reverse-engineer undocumented or legacy systems.

Responsibilities

  • Rapidly reverse-engineer undocumented PostgreSQL schemas and legacy data structures.
  • Build Python-based migration scripts to transform legacy notebooks and data into new platform formats.
  • Collaborate with Product and Customer Success to define migration acceptance criteria.

Skills

Python development
PostgreSQL
API experience (Flask/FastAPI)
Data migration
Communication skills
Job description

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.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.