Point your AI agent at freehire and let it find you a job.

Get the CLI →

onhires

Open 62d

Senior Python Software Engineer (Product)

Posted Updated 1 view
Discussion

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.

Skills

See also

Software Engineering jobs by country — openings, pay and top skills →

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of freehire is available