For companies
  • Hire developers
  • Hire designers
  • Hire marketers
  • Hire product managers
  • Hire project managers
  • Hire assistants
  • How Arc works
  • How much can you save?
  • Case studies
  • Pricing
    • Remote dev salary explorer
    • Freelance developer rate explorer
    • Job description templates
    • Interview questions
    • Remote work FAQs
    • Team bonding playbooks
    • Employer blog
For talent
  • Overview
  • Remote jobs
  • Remote companies
    • Resume builder and guide
    • Talent career blog
OnHires
OnHires

Senior Python Software Engineer (Product)

Location

Remote restrictions apply
See all remote locations

Salary Estimate

N/AIconOpenNewWindows

Seniority

Senior

Tech stacks

Software Development
Python
Database
+41

Permanent role
3 days ago
Apply now

Remote | Eastern Europe | Full-time

Core collaboration hours: Approximately 11:00–18:00 CET

About the Client

Our client is an AI-first product company building an intelligent agent platform that automates complex business workflows using modern AI technologies.

The product has been actively developed for nearly two years and is already beyond the MVP stage. While the platform continues to evolve rapidly, the engineering team has established mature development practices, structured documentation, and a strong culture of technical ownership.

The company values engineering depth, autonomy, and thoughtful technical decision-making over simply delivering code.

About the Role

Our client is looking for an experienced Senior Python Software Engineer to design, build, and evolve the backend infrastructure powering their AI platform.

Although the product is AI-first, this is fundamentally a software engineering role rather than a data engineering or AI engineering position. Strong backend fundamentals, distributed systems experience, system design skills, and experience solving complex production engineering problems are significantly more important than prior exposure to LLM frameworks.

The team is looking for an engineer who can go beyond implementing predefined tasks: someone who can reason about architecture, identify failure modes and bottlenecks, evaluate technical trade-offs, and take ownership of backend systems from design through production.

What You'll Do

  • Design, build, and evolve scalable Python backend services and microservices.
  • Own backend components end-to-end, from system design and technical decisions through implementation, testing, deployment, and production support.
  • Design asynchronous and distributed workflows and real-time communication components.
  • Work with messaging systems, event-driven processing, and distributed application patterns.
  • Design systems with scalability, reliability, consistency, and failure handling in mind.
  • Investigate and solve production performance and database bottlenecks.
  • Make architectural decisions and evaluate trade-offs between different technical approaches.
  • Collaborate closely with Product, QA, and Engineering throughout the SDLC.
  • Write clean, maintainable, well-tested production code.
  • Contribute to architecture reviews, code reviews, documentation, and engineering best practices.

What We're Looking For

Required

  • 5+ years of commercial Python software development experience, primarily focused on backend systems.
  • Strong object-oriented programming and core software engineering fundamentals.
  • Proven experience designing and building production backend applications and services.
  • Strong hands-on experience with system design and backend architecture.
  • Experience designing and developing microservices and distributed systems.
  • Practical experience with asynchronous and/or event-driven processing.
  • Experience with Django, FastAPI, or comparable Python backend frameworks.
  • Experience with RabbitMQ, Kafka, or similar messaging systems.
  • Strong understanding of distributed-system concerns such as reliability, consistency, retries, idempotency, and failure handling.
  • Experience solving production scalability and performance problems, including identifying system bottlenecks and reasoning about horizontal scaling.
  • Strong relational database fundamentals and experience investigating query performance, transactions, concurrency, or database bottlenecks.
  • Ability to reason clearly about architectural trade-offs, failure modes, scalability, and reliability.
  • Experience taking meaningful technical ownership of systems, services, or substantial backend functionality.
  • Experience with Docker and Kubernetes.
  • Strong understanding of the complete Software Development Lifecycle (SDLC).
  • Solid Git workflow and version control experience.
  • Experience working in agile, cross-functional product teams.
  • Good written and spoken English.

Nice to Have

  • Experience building backend systems or substantial services from scratch.
  • Tech Lead, Staff Engineer, Architect, Technical Owner, or equivalent technical scope while remaining hands-on.
  • Experience working in startups, scale-ups, or smaller product teams with broad engineering ownership.
  • Experience building AI-powered products.
  • Familiarity with LLMs, RAG, LangChain, LangGraph, CrewAI, Hugging Face, OpenAI APIs, or similar technologies.
  • Experience with gRPC, WebSockets, or other real-time communication technologies.
  • Experience with AWS, GCP, or Azure.
  • Experience with PostgreSQL and/or NoSQL databases.
  • Familiarity with vector databases.
  • Infrastructure as Code such as Terraform or CloudFormation.
  • Strong automated testing practices.
  • Bash scripting.

What Makes This Role Different

This role is designed for engineers who enjoy solving complex backend problems and owning technical decisions, rather than simply implementing assigned features.

You'll work on systems where questions around distributed workflows, consistency, scalability, database performance, reliability, and failure handling are part of everyday engineering.

The team expects senior engineers to be able to structure ambiguous technical problems, explore different approaches, explain trade-offs, and carry solutions through to production.

The company combines the pace of an evolving product with mature engineering practices, structured documentation, and a collaborative development environment.

Working Environment

  • Fully remote.
  • Preference for candidates based in Eastern Europe.
  • Core collaboration hours approximately 11:00–18:00 CET.
  • International distributed team.
  • Product-focused engineering environment with high technical ownership.

Hiring Process

  1. Pre-screen interview with the external recruitment partner — approximately 30 minutes.
  2. HR interview — approximately 30 minutes.
  3. Technical interview with the Engineering Lead — approximately 90 minutes.
  4. Live coding session — approximately 2 hours.
  5. Offer.

About OnHires

👥201-500
📍Tallinn
🔗Website
Visit company profileIconOpenNewWindows

Unlock all Arc benefits!

  • Browse remote jobs in one place
  • Land interviews more quickly
  • Get hands-on recruiter support
PRODUCTS
Arc

The remote career platform for talent

Codementor

Find a mentor to help you in real time

LINKS
About usPricingArc Careers - Hiring Now!Remote Junior JobsRemote jobsCareer Success StoriesTalent Career BlogArc Newsletter
JOBS BY EXPERTISE
Remote Front End Developer JobsRemote Back End Developer JobsRemote Full Stack Developer JobsRemote Mobile Developer JobsRemote Data Scientist JobsRemote Game Developer JobsRemote Data Engineer JobsRemote Programming JobsRemote Design JobsRemote Marketing JobsRemote Product Manager JobsRemote Project Manager JobsRemote Administrative Support Jobs
JOBS BY TECH STACKS
Remote AWS Developer JobsRemote Java Developer JobsRemote Javascript Developer JobsRemote Python Developer JobsRemote React Developer JobsRemote Shopify Developer JobsRemote SQL Developer JobsRemote Unity Developer JobsRemote Wordpress Developer JobsRemote Web Development JobsRemote Motion Graphic JobsRemote SEO JobsRemote AI Jobs
© Copyright 2026 Arc
Cookie PolicyPrivacy PolicyTerms of Service