Senior Python backend developer for NATO
Would you like to join the leading international intergovernmental organization?
We are seeking a Senior Back-End Developer to build, and maintain robust server-side applications and APIs that power CMRE Data Management Program of Work. Specifically you will work in the design and development of CMRE 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.
Essential Qualifications & Experience:
7 years in back-end software development
Back-End Development & Programming
◦ Python: Advanced proficiency; clean, idiomatic code; familiarity with the ecosystem (virtual environments, packaging, type hints, async/await)
◦ Frameworks: Production experience with FastAPI famwork 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)
API Design & Development
◦ 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
Databases & Data Persistence
◦ 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
Containerisation & Linux
◦ 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
Software Engineering Practices
◦ 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
◦ Code quality: Static analysis, linting (Ruff, flake8, mypy), code review best practices, documentation (docstrings, ADRs)
Security
◦ Secure coding: OWASP Top 10 awareness, input validation, output encoding, secrets management
◦ 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
Architecture Awareness & Collaboration
◦ Architecture literacy: Ability to read and contribute to architectural documentation (C4, UML); understanding of microservices, event-driven, and layered patterns
◦ 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
◦ English proficiency: Excellent written and spoken English in a professional/international context
If you've read the description and feel this role is a great match, we'd love to hear from you! Click "Apply for this job" to be directed to a brief questionnaire. It should only take a few moments to complete, and we'll be in touch promptly if your experience aligns with our needs.
- Department
- Backend
- Locations
- Warsaw
- Remote status
- Fully Remote