Heads up! We only email from @empat.tech — anything else is a scam.

Senior Python Developer

Inna Kuzminska
Published on
January 14, 2026

We are building a next-generation Collaborative Intelligence Platform for the chemical supply chain. Our goal is to move beyond traditional static dashboards (“The Bloomberg Terminal”) and create an agentic, workspace-based platform (“The Notion for Procurement”), powered by a proprietary thermodynamic model.
The platform combines advanced data pipelines, AI-driven agents, real-time collaboration tools, and deep domain analytics to help global chemical companies make faster and more accurate procurement decisions.

Responsibilities:

  • Write clean, efficient, scalable, and well-documented code with a strong focus on performance and robustness.
  • Design, develop, and maintain backend services, APIs, and internal tools using Python.
  • Develop microservices and distributed systems aligned with modern architectural principles.
  • Implement and maintain REST and GraphQL APIs for internal and external consumption.
  • Work with relational and NoSQL databases (primarily PostgreSQL), optimizing queries and data models for high-load scenarios.
  • Integrate FastAPI, LangGraph, LangSmith, and RAG-based components into the product ecosystem.
  • Collaborate with AI/ML teams to integrate intelligent agents and complex computational logic (including thermodynamic modelling).
  • Implement asynchronous tasks using Celery, Django Channels, or other async frameworks.
  • Ensure platform security: encryption, access control, secure data flows, and compliance with audit and logging requirements.
  • Participate in architectural decision-making, code reviews, and system design sessions.
  • Develop and maintain CI/CD pipelines for automated testing and deployment.
  • Build and maintain integrations with external APIs, analytical systems, and payment providers.
  • Monitor system health and performance using modern observability tools (logging, monitoring, tracing).
  • Work closely with product, DevOps, and frontend teams in an agile environment.
  • Provide mentorship to mid-level and junior developers when needed.

Required qualification:

  • 4+ years of commercial experience as a Python Developer.
  • Strong proficiency with Django and experience with FastAPI.
  • Experience with LangGraph, LangSmith etc.
  • Deep understanding of microservices, distributed architecture, and high-load systems.
  • Strong experience with PostgreSQL and understanding of relational and NoSQL data modelling.
  • Experience building and consuming REST and GraphQL APIs.
  • Practical knowledge of asynchronous frameworks, such as Celery, Django Channels, asyncio.
  • Experience working with encryption, secure data storage, and best security practices.
  • Experience developing and supporting systems with audit, logging, monitoring, and incident response requirements
  • Experience with Docker, Kubernetes, and containerized environments.
  • Confidence in CI/CD workflows and tools (GitHub Actions, GitLab CI, Jenkins, etc.).
  • Experience with external API integrations (analytics, payments, enterprise tools).
  • Excellent debugging, profiling, optimization, and system design skills.
  • English level B2+, enabling effective technical communication.

Nice to have:

  • Experience implementing RAG (Retrieval Augmented Generation) pipelines.
  • Familiarity with data pipelines and ETL/ELT architecture.
  • Experience in enterprise products for supply chain, logistics, procurement, or scientific/engineering tools.
  • Security certifications or hands-on experience with compliance frameworks (SOC 2, ISO, etc.).

Apply
<.script> // Добавьте этот код в Settings -> Custom Code -> Before window.addEventListener('DOMContentLoaded', (event) => { // Находим все кнопки "Податься" const applyButtons = document.querySelectorAll('.apply-button'); // Замените на ваш класс кнопки // Находим скрытое поле в форме для вакансии const jobInput = document.querySelector('#job-title-input'); // Замените на ID вашего input applyButtons.forEach(button => { button.addEventListener('click', function(e) { // Получаем название вакансии из атрибута data-job-title const jobTitle = this.getAttribute('data-job-title'); // Устанавливаем значение в скрытое поле формы if (jobInput) { jobInput.value = jobTitle; } }); }); });