Senior Python Back End developer

Church International Limited
2 days ago

Role details

Contract type
Temporary contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Remote

Tech stack

API
Agile Methodologies
User Authentication
Unit Testing
Azure
Command-Line Interface
Code Coverage
Profiling
Code Review
Encodings
Continuous Integration
Cross-Origin Resource Sharing (Ajax Programming)
Data Validation
Data Security
Serialization
Data Sharing
Relational Databases
Database Queries
Software Debugging
Dependency Injection
Software Design Patterns
Linux
DevOps
Django
Elasticsearch
File System Permissions
Github
JSON
Python
Key Management
PostgreSQL
Message Broker
Microsoft SQL Server
MongoDB
Networking Basics
NoSQL
OAuth
Object-Oriented Software Development
Open Web Application Security
Query Optimization
RabbitMQ
Redis
Openid Connect
Mockito
Swagger
JSON Web Token
Secure Coding
Shell Script
SQLAlchemy
Management of Software Versions
Openapi
Transport Layer Security
Okta
Software Security
Virtual Environment
Caching
Indexer
GIT
FastAPI
Event Driven Architecture
Pytest
Gitlab-ci
Git Flow
Integration Tests
Kubernetes
Production Code
Kafka
Data Management
Celery
REST
Pagination
Software Version Control
Docker
Domain Model

Job description

The Task envisioned is to build, and maintain robust Server Side applications and APIs that power the Data Management Program of Work, specifically the incumbent will work in the design and development of C Data Catalogue, Data Domain Model, Data Sharing Workflow.

You will work within an Agile team under the guidance of the Software Architect, translating architectural designs into production-grade code while upholding high standards of quality, security, and performance.

This is a hands-on engineering role with a strong ownership mind-set and the incumbent is expected to take full responsibility for the features you deliver, from technical design through implementation, testing, and deployment.

Moreover the appointee will participate in code reviews, mentor junior developers, contribute to architectural discussions, and proactively flag technical risks or impediments to the team lead and project management.

Requirements

Our client are a consultancy who provide resources into NATO, for this role security clearance is not needed however any previous military experience would be desirable., * Python: Advanced proficiency; clean, idiomatic code; familiarity with the ecosystem (virtual environments, packaging, type hints, async/await) Frameworks: Production experience with FastAPI framework and async best practices OOP & design patterns: Solid object-oriented design skills; familiarity with common design patterns (factory, strategy, repository, dependency injection)

  • Performance: Profiling, caching strategies, connection pooling, async processing, background task queues (Celery, Dramatiq, or equivalent)
  • RESTful APIs: Resource modelling, versioning, error handling, pagination, OpenAPI/Swagger documentation
  • Data formats: JSON, JSON Schema validation; familiarity with serialisation libraries (Pydantic, Marshmallow)
  • Event-driven systems: Message brokers (RabbitMQ, RedisQueue, Kafka, etc.), pub/sub patterns, async task processing
  • Relational databases: Strong SQL skills; experience with PostgreSQL and/or SQL Server; schema design, indexing, query optimisation, migrations
  • NoSQL databases: Working knowledge of at least one document, key-value, or search store (MongoDB, Redis, Elasticsearch)
  • ORM & data access: Experience with ORMs (SQLAlchemy, Django ORM) and understanding
  • Docker: Writing Dockerfiles (multi-stage builds), Docker Compose for local development, image optimisation
  • Kubernetes: Basic understanding of K8s concepts (pods, services, deployments, ConfigMaps) for deploying and debugging applications
  • Linux: Comfortable with the command line; Shell Scripting, process management, file permissions, networking basics
  • Testing: TDD, unit testing (pytest), integration testing, mocking, code coverage; awareness of contract testing
  • CI/CD: Building and maintaining pipelines (GitHub Actions, GitLab CI, Azure DevOps, or equivalent); automated linting, testing, and deployment
  • Version control: Advanced Git usage, branching strategies (GitFlow, trunk-based), pull/merge requests, rebasing, conflict resolution
  • Authentication & authorisation: OAuth 2.0, OpenID Connect, JWT; experience integrating with identity providers (Keycloak, Entra ID, or equivalent)
  • API security: Rate limiting, CORS, TLS, API key management
  • Secure coding: OWASP Top 10 awareness, input validation, output encoding, secrets management
  • Agile: Active participation in sprint ceremonies, backlog refinement, estimation, and retrospectives
  • Communication: Clear reporting of progress and blockers; collaboration with architects, Front End developers, QA, DevOps, and UX designers

Apply for this position