We are looking for a Senior Python Engineer to join our team.The role focuses on designing, building, and maintaining robust server-side applications and APIs for the CMRE Data Management Program. Key responsibilities include contributing to the development of the Data Catalogue, Data Domain Model, and Data Sharing Workflow. This is a hands-on role requiring strong ownership, with end-to-end responsibility across design, development, testing, and deployment. In addition, the role involves active participation in code reviews, mentoring junior developers, contributing to architectural discussions, and proactively identifying and communicating technical risks or challenges to the team and project stakeholders..
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 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)
- 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)
- 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
- 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
- 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
- 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)
- 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
- 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
- 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
Added advantages:
- Data Management:Knowledge of data management principles and practices;Experience in working with metadata standards such as: Dublin Core, ISO 19115, STANAG 2586;Knowledge of Semantic Web and related standards and technologies: W3C DCAT, RDF, Apache Jena, etc.
- Knowledge of data management principles and practices;
- Experience in working with metadata standards such as: Dublin Core, ISO 19115, STANAG 2586;
- Knowledge of Semantic Web and related standards and technologies: W3C DCAT, RDF, Apache Jena, etc.
- 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
- 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;Generative AI & Large Language Models;LLM frameworks: Experience with orchestration frameworks (e.g. LangChain, LlamaIndex, etc.) and LLM gateway/routing libraries (LiteLLM);RAG pipelines: Document ingestion, embeddings, vector stores (Qdrant, Elasticsearch), retrieval strategies;AI-assisted development: Prompt engineering for code generation; familiarity with AI coding assistants and their effective use in workflows
- Logging & monitoring: Structured logging, centralised log aggregation, application metrics (Prometheus, Grafana, or equivalent);
- Distributed tracing: OpenTelemetry instrumentation for backend services;Generative AI & Large Language Models;
- LLM frameworks: Experience with orchestration frameworks (e.g. LangChain, LlamaIndex, etc.) and LLM gateway/routing libraries (LiteLLM);
- RAG pipelines: Document ingestion, embeddings, vector stores (Qdrant, Elasticsearch), retrieval strategies;
- AI-assisted development: Prompt engineering for code generation; familiarity with AI coding assistants and their effective use in workflows
- Quick tryout of new ideas and innovative solution;
- Write readable, maintainable and well-tested code;
- Help apply best practices for project processes and technology stack;
- Participate in code reviews, ensuring our solutions match the highest standards;
- Share your expertise and support while communicating with the team members.
Regardless of your position or role, we have in place a wide array of benefits including flexible working (hybrid/remote models) and generous time off policies to make it easier for all people to thrive and succeed at Star. On top of that, we offer an extensive rewarding and compensation package, intellectually and creatively stimulating space and some more.
Your holistic wellbeing is central at Star. You'll join a warm and vibrant multinational environment filled with impactful projects, career development opportunities, mentorship and training programs, fun sports activities, workshops, networking and outdoor meet-ups.