dreamwork_

About the role

We are looking for a Senior Backend Engineer to join Proxet and contribute to a long-term engagement with a UK-based technology company developing simulation and decision-support solutions for governments and enterprises.

Who are we looking for?
Skills & Experience:
7+ years of professional software engineering experience, with strong hands-on expertise in Python backend development.
Experience building and maintaining production services, APIs, and integrations.
Good understanding of distributed systems, microservice architectures, and asynchronous data processing.
Experience with relational databases, preferably PostgreSQL, including schema design, query optimisation, and troubleshooting.
Experience with data ingestion, processing pipelines, and integration of external data sources.
Practical experience deploying and troubleshooting applications using Docker and Kubernetes.
Experience with CI/CD pipelines, Git workflows, and automated testing.
Strong debugging skills and the ability to investigate issues across services, data flows, and deployment environments.
Experience using AI coding assistants in development, with the ability to review, validate, and take responsibility for generated code.
Experience communicating directly with customers or external stakeholders to clarify requirements and resolve technical questions.
Ability to explain technical concepts clearly to non-technical audiences and translate operational needs into engineering tasks.
Strong ownership, sound technical judgement, and comfort working with evolving requirements.
Understanding of the Ukrainian context and confidence in communicating with local organisations.
Professional proficiency in Ukrainian and English for customer meetings, technical discussions, and written communication.
Willingness and ability to travel to customer sites within Ukraine.

Nice to have

Hands-on experience with Kafka publishers and consumers.
Experience with Dagster or similar data orchestration tools.
Experience working with public-sector organisations, local authorities, or infrastructure operators.
Experience adapting and deploying software in customer-managed or private-cloud environments.
Familiarity with GCP, AWS, or Azure.
Experience with Helm, OpenShift, and shell scripting.
Familiarity with Parquet, object storage, and metadata management.
Experience integrating AI agents, MCP interfaces, or LLM APIs.
Familiarity with simulation platforms, digital twins, or decision-support systems.
Knowledge of C++.

Responsibilities

Design, develop, and maintain Python backend services and APIs supporting customer applications and simulation workflows.
Work directly with customers and external organisations in Ukraine to understand their needs, operational processes, and local constraints.
Participate in customer meetings, clarify requirements, and explain technical options and trade-offs.
Translate customer needs into implementation tasks, data requirements, and integration specifications.
Adapt existing platform capabilities to local use cases and share customer insights with the wider engineering and product teams.
Build and maintain data ingestion and processing pipelines using Dagster.
Integrate customer data sources with platform services and containerised simulation models.
Work with Kafka publishers and consumers to process simulation outputs.
Design and optimise PostgreSQL schemas and queries, and support appropriate data storage solutions.
Build reusable backend components and identify opportunities to apply customer-specific improvements across other deployments.
Contribute to deployment and troubleshooting of containerised applications in Kubernetes-based environments.
Maintain automated tests and CI/CD workflows to support reliable delivery.
Collaborate with frontend engineers, platform specialists, modellers, and delivery stakeholders.
Participate in code reviews and technical design discussions, documenting decisions and integration approaches.
Use AI development tools effectively while maintaining code quality, correctness, and maintainability.
Communicate progress, dependencies, and technical issues clearly to both internal teams and customer stakeholders.