Oxford Data Plan

Software Engineer - Python

Oxford Data Plan Indore, Madhya Pradesh, India

Market Research · 51-200 employees

5 h ago
Remote python Mid (2-5 yrs) Full-time United Kingdom
Create a free account to apply — email only, no card. You can also save this posting or score it against your profile with AI.

About the role

You will own the end-to-end architecture, development, and maintenance of the internal Python library used for building and publishing KPI indices. Additionally, you will collaborate with data scientists and DevOps engineers to ensure production-ready software, robust CI/CD pipelines, and high-quality code standards.

What they look for

Python Pandas NumPy SQLAlchemy Pytest AWS Docker CI/CD GitHub Actions SQL Git Data Engineering API Design Observability Software Architecture Relational Databases

Requirements

The role requires 2-4+ years of professional experience in building and maintaining production-grade Python software and shared libraries. Candidates must possess strong proficiency in Python, data-access tools like pandas and SQLAlchemy, and experience with cloud infrastructure and containerized workloads.

Full description

We are looking for an experienced Software Engineer — Python to join our AI & Data Ops team and take ownership of the engineering of our internal Python library — the framework used across the organisation to build, run and publish daily KPI indices.

Our internal Python library is part of the production path for the product we sell: it turns alternative data into the daily KPI indices published to our clients. Your role is to make the platform safe and reliable to build on: stable interfaces, well-tested changes, clear failures, predictable releases and production code that is easy to operate.

This is a hands-on role where you will write Python daily, act as maintainer and reviewer for a shared codebase with many contributors, and work closely with data scientists, DevOps engineers and the database team.

Roles and Responsibilities

· Own the internal Python library end to end, including architecture, API design, packaging, versioning, releases and rollout across dependent repositories.

· Refactor and modernise high-traffic areas such as data readers, database access and publication layers behind stable, well-tested interfaces.

· Define and enforce clear contracts around schemas, dtypes, expected shapes and other library boundaries so invalid data fails early and predictably.

· Own testing and CI/CD, including pytest strategy, regression testing, GitHub Actions, Docker image builds and release automation.

· Harden production code paths through robust error handling, retries, idempotent writes and environment-aware configuration.

· Improve observability across scheduled workloads through structured logging, alerting and clear detection of cases where jobs complete without producing expected outputs.

· Review contributions from data scientists, maintain engineering standards, and manage backward compatibility and deprecations.

· Triage bugs and feature requests from internal users and debug production failures across application code, containers, permissions and data access.

· Maintain the ORM and data-access layer alongside database schema changes, working closely with the database team.

· Collaborate with DevOps on AWS infrastructure, job definitions, scheduling and platform changes, and with data scientists to translate requirements into production-ready software.

· Use AI tooling effectively while understanding, reviewing and being able to defend the code you ship.

Required Qualifications

Experience

· 2-4+ years of professional experience building and maintaining production Python software.

· Experience maintaining a shared Python library, SDK or internal platform used by multiple teams.

· Experience with packaging, releases, API stability, backward compatibility and contributor workflows.

· Proven ability to independently own and deliver technical projects end to end.

Python & Software Engineering

· Strong Python proficiency with experience writing clean, reusable, well-tested production code.

· Strong experience with pandas, NumPy and SQLAlchemy or similar data-access tooling.

· Strong command of pytest and testing strategy, including regression testing where numerical outputs must remain stable.

· Experience with data serialisation formats such as JSON and Parquet.

· Experience with Python packaging and dependency management using tools such as uv, pip and lock files.

· Strong understanding of software design, refactoring, error handling and maintainable API design.

Cloud & Infrastructure

· Working knowledge of AWS services such as S3, DynamoDB, AWS Batch or ECS, CloudWatch, Athena and Glue.

· Comfortable debugging containerised production workloads using Docker, container registries and logs.

· Experience building or maintaining CI/CD pipelines using GitHub Actions or similar tooling.

· Working knowledge of IAM and the ability to diagnose common access and permissions issues.

Other

· Strong SQL and relational database skills, using MySQL, PostgreSQL or similar.

· Strong Git skills, including branching strategies and code review workflows.

· Able to review code written by non-software engineers and provide clear, constructive technical feedback.

· Strong written communication and comfortable working autonomously in a remote engineering environment.

· Fluent in English.

Desirable Skills

· Experience with schema validation or property-based testing using tools such as Pandera or Hypothesis.

· Ability to read and make scoped changes to Terraform.

· Experience with developer tooling such as devcontainers, linting, formatting and pre-commit workflows.

· Experience designing observability for batch systems, including structured logging, alerting and dashboards.

· Experience with Slack APIs or similar messaging integrations.

· Understanding of, or strong interest in, financial markets and business metrics.

Similar roles