Log in/Create account

Senior Backend Developer

Apply now
Industry

IT Services

Type

Contract

Country

Remote

City

Remote

Security

Needed

Company

NCIA

Essential Qualifications/Experience:

·       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)

ü  Domain-Driven Design (DDD): Strong practical experience applying DDD principles, including bounded contexts, aggregates, repositories, domain services, ubiquitous language, and event-driven domain modelling

ü  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)o Event-driven systems: Message brokers (Kafka, MQTT, Azure Event Hubs 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

ü  Graph databases: Strong hands-on experience designing and working with Neo4j graph databases, including Cypher query optimisation and graph data modelling

ü  Geospatial & temporal data: Strong experience modelling, processing, querying, and extending geospatial and temporal datasets and services; familiarity with spatial indexing, time-series data, and geospatial standards/tools

·       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

Desirable Qualifications/Experience:

·       Cloud Platform Experience

ü  Microsoft Azure: Entra ID, Azure DevOps, Key Vault, etc.

ü  Cloud-native development: Managed databases, serverless functions, environment configuration, cloud logging and monitoring

·       Observability & Reliability

ü  Logging & monitoring:  Structured logging, centralised log aggregation, application metrics (Prometheus, Grafana, or equivalent)

ü  Distributed tracing: OpenTelemetry instrumentation for backend services

DUTIES/ROLE:

·       Senior Python Backend Developer to design, build, and operate scalable services and data pipelines that power maritime geospatial and temporal analytics across our platform. You will develop production-grade APIs and microservices, integrate with Neo4j for graph-centric use cases, and leverage Databricks for data engineering and ML workflows

·       Will collaborate closely with architecture, data engineering, and product to translate domain models into clean, testable code using Domain-Driven Design. Expect to define clear bounded contexts, align contracts and schemas, and ensure services reflect the ubiquitous language of the domain

·       This is a hands-on engineering role with strong ownership. You will lead features end-to-end—from technical discovery and design through implementation, testing, deployment, and runtime monitoring—prioritizing reliability, performance, and security. You will participate in code reviews, mentor peers, contribute to architectural decisions, and proactively surface technical risks and trade-offs. Clear, timely communication on progress and blockers is essential

Job requirements

All the mandatory requirements have to be met in order to apply.

• Back-End Development and Programming (Mandatory)
 Python: Advanced proficiency, clean, idiomatic code, familiarity with the ecosystem (virtual environments, packaging, type hints, async/await) (Mandatory)
 Frameworks: Production experience with FastAPI famwork and async best practices (Mandatory)
 OOP and design patterns: Solid object-oriented design skills, familiarity with common design patterns (factory, strategy, repository, dependency injection) (Mandatory)
 Domain-Driven Design (DDD): Strong practical experience applying DDD principles, including bounded contexts, aggregates, repositories, domain services, ubiquitous language, and event-driven domain modelling (Mandatory)
 Performance: Profiling, caching strategies, connection pooling, async processing, background task queues (Celery, Dramatiq, or equivalent) (Mandatory)
• API Design and Development (Mandatory)
 RESTful APIs: Resource modelling, versioning, error handling, pagination, OpenAPI / Swagger documentation (Mandatory)
 Data formats: JSON, JSON Schema validation (Mandatory)
familiarity with serialisation libraries (Pydantic, Marshmallow)o Event-driven systems: Message brokers (Kafka, MQTT, Azure Event Hubs etc.), pub/sub patterns, async task processing (Mandatory)
• Databases and Data Persistence (Mandatory)
 Relational databases: Strong SQL skills, experience with PostgreSQL and/or SQL Server, schema design, indexing, query optimisation, migrations (Mandatory)
 Graph databases: Strong hands-on experience designing and working with Neo4j graph databases, including Cypher query optimisation and graph data modelling (Mandatory)
 Geospatial and temporal data: Strong experience modelling, processing, querying, and extending geospatial and temporal datasets and services, familiarity with spatial indexing, time-series data, and geospatial standards/tools (Mandatory)
• Containerisation and Linux (Mandatory)
 Docker: Writing Dockerfiles (multi-stage builds), Docker Compose for local development, image optimisation (Mandatory)
 Kubernetes: Basic understanding of K8s concepts (pods, services, deployments, ConfigMaps) for deploying and debugging applications (Mandatory)
 Linux: Comfortable with the command line (Mandatory)
shell scripting, process management, file permissions, networking basics (Mandatory)
• Software Engineering Practices (Mandatory)
 Testing: TDD, unit testing (pytest), integration testing, mocking, code coverage (Mandatory)
awareness of contract testing (Mandatory)
 CI/CD: Building and maintaining pipelines (GitHub Actions, GitLab CI, Azure DevOps, or equivalent) (Mandatory)
automated linting, testing, and deployment (Mandatory)
 Version control: Advanced Git usage, branching strategies (GitFlow, trunk-based), pull/merge requests, rebasing, conflict resolution (Mandatory)
 Code quality: Static analysis, linting (Ruff, flake8, mypy), code review best practices, documentation (docstrings, ADRs) (Mandatory)
• Security (Mandatory)
 Secure coding: OWASP Top 10 awareness, input validation, output encoding, secrets management (Mandatory)
 Authentication and authorisation: OAuth 2.0, OpenID Connect, JWT (Mandatory)
experience integrating with identity providers (Keycloak, Entra ID, or equivalent) (Mandatory)
 API security: Rate limiting, CORS, TLS, API key management (Mandatory)
• Architecture Awareness and Collaboration (Mandatory)
 Architecture literacy: Ability to read and contribute to architectural documentation (C4, UML), understanding of microservices, event-driven, and layered patterns (Mandatory)
 Agile: Active participation in sprint ceremonies, backlog refinement, estimation, and retrospectives (Mandatory)
 Communication: Clear reporting of progress and blockers, collaboration with architects, front-end developers, QA, DevOps, and UX designers (Mandatory)
Apply to the job
Overview
Details
Requirements
Apply