{"id":4030592,"date":"2026-09-28T13:14:43","date_gmt":"2026-09-28T11:14:43","guid":{"rendered":"https:\/\/remoteworkukraine.com\/ua\/remote-job\/middle-python-engineer\/"},"modified":"2026-09-28T21:09:12","modified_gmt":"2026-09-28T19:09:12","slug":"middle-python-engineer-ytc-09-28-2026","status":"publish","type":"job","link":"https:\/\/remoteworkukraine.com\/ua\/remote-job\/middle-python-engineer-ytc-09-28-2026\/","title":{"rendered":"Middle Python Engineer"},"content":{"rendered":"<p>We are looking for a Strong Middle \/ Senior Python Engineer for a 3-month contract, with a possible extension, to build a verifiable proof module for a humanitarian transparency platform. You will deliver a self-contained backend module that turns delivery attestations into immutable, signed data bundles and reliably exchanges them with an external anchoring service.<\/p>\n<p>In This Role You Will<br \/>Build a standalone Django app behind a feature flag, with its own models, migrations, Celery tasks, and routes.<br \/>Implement idempotent, transactional review workflows (verify \/ withhold \/ reject \/ amend) with strict data validation.<br \/>Produce canonical, hashed, and signed data bundles (JSON canonicalization, SHA-256) that conform byte-exactly to agreed test vectors.<br \/>Design reliable outbound delivery using a transactional outbox, Celery workers\/beat, retries, and replay.<br \/>Implement signed webhooks (HMAC-SHA256, Standard Webhooks) and runtime secret rotation without redeployment.<br \/>Build machine-to-machine APIs for bundle retrieval, anchor write-back, and public key publication.<br \/>Migrate free-text location data to the official administrative territorial registry (KATOTTG) with versioning.<br \/>Set up a staging harness with synthetic fixtures and run end-to-end dry runs with the integration partner.<br \/>Cover the module with tests, contract conformance checks, and security hardening, and document your work.<\/p>\n<p>You May Be Interested If<br \/>You like well-scoped, high-impact work with a clear deadline and a production release at the end.<br \/>You care about correctness, data integrity, and security, not just &quot;it works&quot;.<br \/>You&#x27;re comfortable working autonomously and communicating clearly with an external integration partner.<br \/>You enjoy a small, remote, supportive team.<\/p>\n<p>Role Requirements<br \/>3+ years of backend development with Python and Django.<br \/>Hands-on experience with Celery (workers, beat, retries) and asynchronous\/background processing.<br \/>Solid understanding of idempotency, database transactions, and reliable delivery patterns (e.g. transactional outbox).<br \/>Experience designing REST APIs and machine-to-machine integrations, including webhooks and request signing (HMAC).<br \/>Practical knowledge of applied cryptography basics: hashing, digital signatures, secrets and key rotation.<br \/>Strong PostgreSQL skills, including schema design and data migrations.<br \/>Docker-based development, Git, and basic Bash.<br \/>Experience with a cloud platform (Azure, AWS, or GCP).<br \/>English at B1 or higher.<\/p>\n<p>Nice to have:<br \/>Familiarity with RFC 8785 (JSON Canonicalization Scheme) or the Standard Webhooks specification.<br \/>Experience with administrative\/geographic code registries (e.g. KATOTTG, ISO 3166-2).<br \/>Experience with secret stores \/ key management services (e.g. Azure Key Vault, AWS KMS, HashiCorp Vault).<\/p>\n<p>Working Conditions<br \/>Contract: 3 months, full-time load, with possible extension.<br \/>This is a fully remote position with the entire team across Ukraine.<br \/>Flexible working hours; the team agrees deadlines together, with a focus on delivering commitments on time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are looking for a Strong Middle \/ Senior Python&#8230;<\/p>\n","protected":false},"author":14017,"featured_media":0,"parent":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_mo_disable_npp":"","rwu_salary_min":0,"rwu_salary_max":0,"rwu_salary_currency":"","rwu_salary_period":"","rwu_english_level":"B1","rwu_experience_months":36,"rwu_candidate_countries":"\u0423\u043a\u0440\u0430\u0457\u043d\u0430","rwu_company_type":"","rwu_industry":"other","rwu_part_time":false,"rwu_source_views":182,"rwu_source_applications":80,"rwu_source_category":"Python","rwu_source_name":"Djinni.co","rwu_source_url":"https:\/\/djinni.co\/jobs\/850506-middle-python-engineer\/"},"job_category":[57],"job_type":[54],"class_list":["post-4030592","job","type-job","status-publish","hentry","job_category-programuvannia","job_type-povna-zainiatist"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Middle Python Engineer, (\u0432\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u043e) | Remote Work Ukraine<\/title>\n<meta name=\"description\" content=\"\u0412\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0456\u044f Middle Python Engineer \u0443 . We are looking for a Strong Middle \/ Senior Python Engineer for a 3-month contract, with a possible extension, to build a verifiable proof module for a\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/remoteworkukraine.com\/ua\/remote-job\/middle-python-engineer-ytc-09-28-2026\/\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Middle Python Engineer, (\u0432\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u043e) | Remote Work Ukraine\" \/>\n<meta name=\"twitter:description\" content=\"\u0412\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0456\u044f Middle Python Engineer \u0443 . We are looking for a Strong Middle \/ Senior Python Engineer for a 3-month contract, with a possible extension, to build a verifiable proof module for a\" \/>\n<meta name=\"twitter:site\" content=\"@remoteworkua\" \/>\n<meta name=\"twitter:label1\" content=\"\u041f\u0440\u0438\u0431\u043b. \u0447\u0430\u0441 \u0447\u0438\u0442\u0430\u043d\u043d\u044f\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 \u0445\u0432\u0438\u043b\u0438\u043d\u0438\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/remote-job\\\/middle-python-engineer-ytc-09-28-2026\\\/\",\"url\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/remote-job\\\/middle-python-engineer-ytc-09-28-2026\\\/\",\"name\":\"Middle Python Engineer, (\u0432\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u043e) | Remote Work Ukraine\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/#website\"},\"datePublished\":\"2026-09-28T11:14:43+00:00\",\"dateModified\":\"2026-09-28T19:09:12+00:00\",\"description\":\"\u0412\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0456\u044f Middle Python Engineer \u0443 . We are looking for a Strong Middle \\\/ Senior Python Engineer for a 3-month contract, with a possible extension, to build a verifiable proof module for a\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/remote-job\\\/middle-python-engineer-ytc-09-28-2026\\\/#breadcrumb\"},\"inLanguage\":\"uk\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/remote-job\\\/middle-python-engineer-ytc-09-28-2026\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/remote-job\\\/middle-python-engineer-ytc-09-28-2026\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Jobs\",\"item\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/remote-job\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Middle Python Engineer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/#website\",\"url\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/\",\"name\":\"Remote Work Ukraine [\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0435]\",\"description\":\"\u0412\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u0430 \u0440\u043e\u0431\u043e\u0442\u0430 \u0434\u043b\u044f \u0443\u043a\u0440\u0430\u0457\u043d\u0446\u0456\u0432, \u043d\u043e\u0432\u0456 \u0432\u0430\u043a\u0430\u043d\u0441\u0456\u0457 \u0449\u043e\u0434\u043d\u044f\",\"publisher\":{\"@id\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"uk\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/#organization\",\"name\":\"Remote Work Ukraine [\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0435]\",\"url\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"uk\",\"@id\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/03\\\/logo_1000px.jpg\",\"contentUrl\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/03\\\/logo_1000px.jpg\",\"width\":1000,\"height\":1000,\"caption\":\"Remote Work Ukraine [\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0435]\"},\"image\":{\"@id\":\"https:\\\/\\\/remoteworkukraine.com\\\/ua\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/remoteworkua\\\/\",\"https:\\\/\\\/x.com\\\/remoteworkua\",\"https:\\\/\\\/www.instagram.com\\\/remoteworkua\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/remote-work-ukraine\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Middle Python Engineer, (\u0432\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u043e) | Remote Work Ukraine","description":"\u0412\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0456\u044f Middle Python Engineer \u0443 . We are looking for a Strong Middle \/ Senior Python Engineer for a 3-month contract, with a possible extension, to build a verifiable proof module for a","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/remoteworkukraine.com\/ua\/remote-job\/middle-python-engineer-ytc-09-28-2026\/","twitter_card":"summary_large_image","twitter_title":"Middle Python Engineer, (\u0432\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u043e) | Remote Work Ukraine","twitter_description":"\u0412\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0456\u044f Middle Python Engineer \u0443 . We are looking for a Strong Middle \/ Senior Python Engineer for a 3-month contract, with a possible extension, to build a verifiable proof module for a","twitter_site":"@remoteworkua","twitter_misc":{"\u041f\u0440\u0438\u0431\u043b. \u0447\u0430\u0441 \u0447\u0438\u0442\u0430\u043d\u043d\u044f":"2 \u0445\u0432\u0438\u043b\u0438\u043d\u0438"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/remoteworkukraine.com\/ua\/remote-job\/middle-python-engineer-ytc-09-28-2026\/","url":"https:\/\/remoteworkukraine.com\/ua\/remote-job\/middle-python-engineer-ytc-09-28-2026\/","name":"Middle Python Engineer, (\u0432\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u043e) | Remote Work Ukraine","isPartOf":{"@id":"https:\/\/remoteworkukraine.com\/ua\/#website"},"datePublished":"2026-09-28T11:14:43+00:00","dateModified":"2026-09-28T19:09:12+00:00","description":"\u0412\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u0430 \u0432\u0430\u043a\u0430\u043d\u0441\u0456\u044f Middle Python Engineer \u0443 . We are looking for a Strong Middle \/ Senior Python Engineer for a 3-month contract, with a possible extension, to build a verifiable proof module for a","breadcrumb":{"@id":"https:\/\/remoteworkukraine.com\/ua\/remote-job\/middle-python-engineer-ytc-09-28-2026\/#breadcrumb"},"inLanguage":"uk","potentialAction":[{"@type":"ReadAction","target":["https:\/\/remoteworkukraine.com\/ua\/remote-job\/middle-python-engineer-ytc-09-28-2026\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/remoteworkukraine.com\/ua\/remote-job\/middle-python-engineer-ytc-09-28-2026\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/remoteworkukraine.com\/ua\/"},{"@type":"ListItem","position":2,"name":"Jobs","item":"https:\/\/remoteworkukraine.com\/ua\/remote-job\/"},{"@type":"ListItem","position":3,"name":"Middle Python Engineer"}]},{"@type":"WebSite","@id":"https:\/\/remoteworkukraine.com\/ua\/#website","url":"https:\/\/remoteworkukraine.com\/ua\/","name":"Remote Work Ukraine [\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0435]","description":"\u0412\u0456\u0434\u0434\u0430\u043b\u0435\u043d\u0430 \u0440\u043e\u0431\u043e\u0442\u0430 \u0434\u043b\u044f \u0443\u043a\u0440\u0430\u0457\u043d\u0446\u0456\u0432, \u043d\u043e\u0432\u0456 \u0432\u0430\u043a\u0430\u043d\u0441\u0456\u0457 \u0449\u043e\u0434\u043d\u044f","publisher":{"@id":"https:\/\/remoteworkukraine.com\/ua\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/remoteworkukraine.com\/ua\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"uk"},{"@type":"Organization","@id":"https:\/\/remoteworkukraine.com\/ua\/#organization","name":"Remote Work Ukraine [\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0435]","url":"https:\/\/remoteworkukraine.com\/ua\/","logo":{"@type":"ImageObject","inLanguage":"uk","@id":"https:\/\/remoteworkukraine.com\/ua\/#\/schema\/logo\/image\/","url":"https:\/\/remoteworkukraine.com\/ua\/wp-content\/uploads\/sites\/2\/2020\/03\/logo_1000px.jpg","contentUrl":"https:\/\/remoteworkukraine.com\/ua\/wp-content\/uploads\/sites\/2\/2020\/03\/logo_1000px.jpg","width":1000,"height":1000,"caption":"Remote Work Ukraine [\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0435]"},"image":{"@id":"https:\/\/remoteworkukraine.com\/ua\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/remoteworkua\/","https:\/\/x.com\/remoteworkua","https:\/\/www.instagram.com\/remoteworkua\/","https:\/\/www.linkedin.com\/company\/remote-work-ukraine\/"]}]}},"et_featured":"0","et_expired_date":"2026-10-28 13:14:43","et_location":"","et_job_paid":"","et_job_package":"","et_full_location":"","et_location_lat":"","et_location_lng":"","et_apply_method":"","et_apply_email":"","et_applicant_detail":"","_links":{"self":[{"href":"https:\/\/remoteworkukraine.com\/ua\/wp-json\/wp\/v2\/job\/4030592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/remoteworkukraine.com\/ua\/wp-json\/wp\/v2\/job"}],"about":[{"href":"https:\/\/remoteworkukraine.com\/ua\/wp-json\/wp\/v2\/types\/job"}],"author":[{"embeddable":true,"href":"https:\/\/remoteworkukraine.com\/ua\/wp-json\/wp\/v2\/users\/14017"}],"replies":[{"embeddable":true,"href":"https:\/\/remoteworkukraine.com\/ua\/wp-json\/wp\/v2\/comments?post=4030592"}],"wp:attachment":[{"href":"https:\/\/remoteworkukraine.com\/ua\/wp-json\/wp\/v2\/media?parent=4030592"}],"wp:term":[{"taxonomy":"job_category","embeddable":true,"href":"https:\/\/remoteworkukraine.com\/ua\/wp-json\/wp\/v2\/job_category?post=4030592"},{"taxonomy":"job_type","embeddable":true,"href":"https:\/\/remoteworkukraine.com\/ua\/wp-json\/wp\/v2\/job_type?post=4030592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}