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

Senior Python Developer

Inna Kuzminska
Published on
December 2, 2025

About the Project

A modern platform that helps companies manage, automate, and monitor their donation-matching programs.
It allows organisations to track contributions, ensure transparency, verify donations, generate reports, and provide employees with a seamless experience when participating in matching initiatives.We are now expanding the platform and building new backend services on top of a scalable, secure, cloud-native architecture. If you enjoy working with clean architecture, cloud infrastructure, and impactful social-good products - this project is for you.

Responsibilities

  • Develop and maintain backend services using Python, Django, and FastAPI.
  • Work with PostgreSQL: schema design, optimization, migrations.
  • Implement secure data processing, encryption, and compliance-driven workflows.
  • Build features for monitoring, audit logs, reporting, and incident response.
  • Work closely with DevOps to deploy and scale services on GCP using Terraform and containerized environments.

Required Qualifications

  • Strong proficiency with Python, Django and experience with FastAPI.
  • Strong experience with PostgreSQL.
  • Experience with encryption, secure data storage, and general security best practices.
  • Experience integrating external APIs.
  • Strong system design, debugging, and optimization skills.
  • English B2+ for smooth technical communication.

Nice to Have

  • Experience with Terraform, GCP services (Cloud Run, Pub/Sub, Cloud SQL).
  • Terraform modules or infrastructure-as-code experience.
  • Background in fintech, nonprofit tech, or payments systems.

What We Offer

  • Role on a socially impactful and mission-driven product.
  • Work in a modern tech environment with autonomy in decisions.
  • Flexible schedule and remote-friendly culture.
  • Competitive compensation.

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; } }); }); });