Software Developer – Python – Data Migration
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.







