Jobs for Developers

Senior Python Engineer (Document App)

PandaDocFull-time$110k - $265k*Remote; EuropeMar 11, 2025
Apply for this job

At PandaDoc, we're building the future of documents. Our platform helps teams create, send, track, and e-sign proposals, contracts, and other documents, making the life of the clients more efficient and collaborative.

We're a fast-growing company with a global reach. Our product is used by people worldwide, from small businesses to large enterprises. In 2024, we reached a major milestone: over $100 million in annual recurring revenue! We're constantly innovating and releasing new features to meet the evolving needs of our customers while also staying focused on stability, quality, and performance.

Our Engineering team is a diverse and talented group of about 200 individuals who are passionate about building a world-class product. While this is a fully remote position, we'd love for you to visit our vibrant offices in Warsaw, Lisbon, or Kyiv whenever you'd like to connect with colleagues in person.

Team description

Join the PandaDoc Editor Team

Ready to take ownership of the most challenging and critical part of PandaDoc? Collaborate closely with a talented team of 4 engineers to build a fast and reliable Editor with 99.99% uptime, terabytes of user data, thousands of concurrent editor sessions, and hundreds of thousands documents created daily. Join our international team and contribute to a strong culture of ownership and technical quality!

In this role, you will:

Product Ownership (40%):

  • Take full ownership of the domain from a product perspective — deeply understand its features, functionality, and how it is used by clients.
  • Implement new features and support other teams contributing to the Editor domain, providing guidance on efficient solutions, reviewing architectural designs, and ensuring high-quality code reviews.
  • Continuously monitor domain quality by analyzing new bugs and user feedback.
  • Collaborate effectively with other teams, product managers, engineering managers, and the support team to ensure fast and high-quality delivery.
  • Actively participate in quarterly and sprint planning, retrospectives, and demos, providing both high- and low-level estimations.

Technical Ownership (60%):

  • Maintain 99.99% uptime (we have 24/7 on-call duty, though incidents in our domain occur less than once a month).
  • Consult on and review technical solutions, ensuring high-quality code and architectural integrity.
  • Continuously analyze the current technical state of services, databases, and infrastructure, proactively improving stability and scalability to support user growth.
  • Monitor and optimize performance, ensuring the domain remains fast and efficient.
  • Share knowledge by writing documentation, conducting tech talks, and leading workshops to foster team and company growth.

Our stack:

  • Service-oriented architecture, the main service working with content uses the event sourcing approach
  • Editor-related Python services are primarily written using AsyncIO frameworks and libraries, but we also have in ownership some Django-based services
  • We aim to use the latest versions of every dependency
  • AWS and K8S are used extensively for provisioning and deploying workloads
  • The main cross-service communication transports:
    • NATS is our main RPC transport, but we’re migrating to gRPC to eliminate the single point of failure with NATS
    • Kafka and Debezium for event-based operations
    • RabbitMQ is a transport for Celery, but we look forward to migrating to Temporal.io
    • Temporal.io as a new promising solution
    • Websocket for communication with frontend
  • Storage:
    • PostgreSQL, Redis, S3
  • LGTM stack for monitoring

About you:

Must have:

  • At least 4+ years of development experience with Python
  • English: Upper-intermediate+ (verbal and written)
  • Care about quality; you know what shipping high-quality code means
  • Strong understanding and experience in AsyncIO 
  • Experience with any relational databases (SQL queries, migrations, optimization)
  • Experience with message queues (e.g., RabbitMQ, Kafka)
  • Experience with Amazon Web Services and Kubernetes
  • Hands-on experience in developing a service-oriented architecture
  • Hands-on experience with CI/CD (e.g., GitLab)

Nice to have:

  • It is good to have experience with the LGTM stack and OpenTelemetry
  • It is good to have open-source contributions and experience
  • It is good to have experience with event sourcing approach

Share

Alternative Jobs