Python Engineer

Adappt
UK
3 months ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Compensation
£30,000.0
Working hours
Regular working hours
Job source

Tech stack

D-Bus Application Programming Interfaces (APIs) Amazon Web Services Audit Trail User Authentication Automation of Tests Microsoft Azure Unix Software as a Service Code Review Relational Databases Software Debugging
+33 more
File Systems Django Web Framework Identity and Access Management Python (Programming Language) Key Management PostgreSQL Linux System Administration OAuth Object-Oriented Software Development Role-Based Access Control Redis Openid Connect Standard Sql Service Design Single Sign-On Openapi Datadog Data Logging Cloud Platform System Flask (Web Framework) Concurrency Software Security Reliability of Systems Backend Customer Identity Access Management Information Technology Production Code Integration Frameworks Free and Open-Source Software Api Design Restful APIs Webhooks Docker

Job description

The initial focus will be building and maintaining Python daemons and backend services supporting the customer identity and access management layer. The core platform is Django-based, with surrounding Python services using Flask and related tooling.

You will need to become productive quickly in an existing production environment. This is not a long ramp-up training role. We are looking for someone with strong Python judgement, good debugging instincts and the ability to work effectively on production-facing services from the start.

As the role develops, you will work more broadly across the platform, building new features and integrations with the wider product ecosystem.

Responsibilities

You will:

  • Design, build and maintain production Python services, daemons and backend components.
  • Build reliable integrations between identity, customer platform and product systems.
  • Work with Flask-based services and a Django-based CIAM platform.
  • Develop APIs, background workers and internal services that are robust, observable and maintainable.
  • Work in an OpenAPI schema-driven workflow, using schemas as part of service design, implementation and integration.
  • Work with relational databases, data models and transactional workflows.
  • Contribute to customer-facing platform features used by players, leagues and administrators.
  • Improve system reliability, logging, monitoring, error handling and operational tooling.
  • Write clean, tested Python code that other engineers can understand and safely extend.
  • Review existing code, rapidly understand new functionality, and adopt established patterns where appropriate.
  • Participate in technical design, code review and production support.
  • Work closely with a small senior team where individual judgement and ownership matter.

Requirements

Do you have experience in UNIX?, We are looking for evidence of strong engineering capability rather than a fixed number of years.

You should be able to demonstrate:

  • Strong Python engineering skills in production or production-like environments.
  • Comfort explaining Python internals in detail, including runtime behaviour, packaging, dependency management, object model, concurrency trade-offs and performance implications.
  • Familiarity with Flask and/or Django, ideally with practical experience building or maintaining production services.
  • Good understanding of HTTP APIs, backend service design and integration patterns.
  • Experience working with OpenAPI schemas as part of a schema-driven development workflow.
  • Experience building daemons, workers, scheduled processes or long-running services.
  • Strong SQL and relational database skills, ideally PostgreSQL.
  • Good instincts around authentication, authorisation, sessions, tokens or customer identity flows.
  • Familiarity with Unix-like operating systems, process models and service operation.
  • Strong understanding of Unix filesystem security, including discretionary access controls, and how these affect the security model upheld by D-Bus and other daemons.
  • Experience writing tests and debugging complex backend behaviour.
  • Familiarity with Linux environments and deploying or operating backend services.
  • Ability to reason about reliability, data consistency, failure modes and edge cases.
  • Strong ability to rapidly learn, understand and safely adopt unfamiliar code or new functionality.
  • Clear communication skills and the ability to explain technical decisions.

Security mindset

Security is not an afterthought in this role.

We are looking for someone with a security-driven mindset who can reason clearly about how systems fail, how privileges are controlled, and how services should be hardened.

You should be comfortable discussing a broad range of security architectural concepts, such as:

  • Defence in depth.
  • Least privilege.
  • Authentication and authorisation boundaries.
  • Secrets management.
  • Service isolation.
  • Secure daemon design.
  • Filesystem permissions and ownership.
  • Process privileges and escalation risks.
  • API security.
  • Auditability and traceability.
  • Secure-by-default engineering practices.

You do not need to be a dedicated security engineer, but you should be able to identify risks, challenge weak assumptions and propose practical improvements to strengthen the platform.

Technical areas that would be useful

You do not need all of these, but strong candidates are likely to have experience in several:

  • Python 3.x
  • Flask
  • Django and Django ORM
  • PostgreSQL or another relational database
  • Redis, queues, background workers or task scheduling
  • REST APIs, OpenAPI and schema-first development
  • Webhooks and third-party integrations
  • OAuth2, OpenID Connect, SSO, CIAM or account management systems
  • Unix/Linux service management
  • D-Bus or daemon-based architectures
  • Docker and containerised development
  • Azure, AWS or another major cloud platform
  • CI/CD pipelines and automated testing
  • Observability tooling, logging, metrics and alerting
  • Security-conscious backend development
  • SaaS, gaming, sports-tech, IoT, connected devices or customer platform experience

Experience level

We care more about proven capability than a fixed number of years.

This role is best suited to someone who has already built, maintained or significantly contributed to production Python systems. We will consider candidates earlier in their careers, but only where they can show exceptional aptitude through shipped work, serious technical projects, open-source contributions or strong commercial experience.

A computer science degree is not required, but the ability to work effectively in a real production environment is essential., We are particularly interested in examples that show how you think: debugging, security trade-offs, API design, daemon design, Python internals, or taking ownership of difficult production code.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on indeed.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:03 min

Microsoft integrating native Unix coreutils into Windows environments

Chris Heilmann +2 · LIVE

3:55 min

Demonstrating semantic routing thresholds with the Redis vector library

2:49 min

Adopting OAuth best practices and removing outdated grants

Alexander Schwartz Alexander Schwartz · WWC Europe 2026

1:20 min

Identifying multi-disciplinary talent for developer experience engineering roles

Hazal Mestci +1 · Coffee With Developers

2:04 min

Defining timestamps and the international standard format

Denny Biasiolli Denny Biasiolli · Europe 2026 Virtual

43 sec

Software engineering journey and local Manchester roots

Jonathan Tang · Coffee With Developers

Videos

See all

Related articles

See all