Senior Software Engineer

Company description

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 our clients' lives more efficient and collaborative.

We’re a fast-growing company with a global reach. Our product is used by people around the world, 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, all while focusing on stability, quality, and performance.

Our Engineering team is a diverse and talented group of around 250 individuals, 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.

Currently, PandaDoc is seeking a Senior Python Engineer to join our Application Platform Track.

In this team, we are tackling the challenge of breaking down a large, monolithic application into a set of well-defined, scalable services. Our goal is to improve overall system reliability, streamline the release process, and establish clear code ownership. We own several mission-critical domain services and are responsible for making them robust, efficient, and easy to integrate. By driving this transformation, we enable our product, business operations, finance, and customer success teams to work with high-performance, stable service solutions that scale with our company’s growth.

Are you adaptable, driven, and friendly? Do you thrive in a fast-paced work environment where collaboration is the norm? If the answer is yes, then you’re a Panda, and we want you to join our team.

If this sounds like you, then you’re a Panda 🐼 and we want you to join our team!

In this role, you will:

  • Contribute to the vision and the architecture of the large monolith decomposition
  • Face and overcome multiple scale-related technical problems
  • Develop the core set of services in the company with the focus on maintenance and clear domain separation
  • Finding and addressing systematic issues to maintain low time-to-change for other developers with a high change-confidence level

Our stack:

  • Microservice fleet around a large monolithic application in Django
  • PostgreSQL, Redis, Memcached
  • Python, Django
  • Amazon Web Services
  • Docker, Kubernetes
  • Kafka, NATS
  • AsyncIO
  • Grafana Monitoring Stack: Loki, Tempo, Mimir, Grafana

Company Overview:

PandaDoc empowers more than 67,000 growing organizations to thrive by taking the work out of document workflow. PandaDoc provides an all-in-one document workflow automation platform that helps fast scaling teams accelerate the ability to create, manage, and sign digital documents including proposals, quotes, contracts, and more. For more information, please visit https://www.pandadoc.com/.

Company Culture:

We're known for our work-life balance, kind co-workers, & creative virtual team-bonding events. And although our Pandas are located across the globe, we stay connected with the help of technology and ensure that everyone on our team feels, well, like a team.

Pandas work best when they're happy. We retain our talent by upholding our values of integrity & transparency, and selling a product that changes the lives of our customers.

Check out our LinkedIn to learn more.

Benefits:

  • Remote-first approach with the option for hybrid work from our offices in Kyiv, Warsaw, and Lisbon.
  • We value long-term collaboration, whether through typical employment contract, employment of record or B2B arrangements. Be aware that contract type and benefits vary by location - feel free to clarify with our recruiters.
  • Work schedule aligned with EU time zones.
  • Honest, open culture that values constructive feedback.
  • Professional and personal development within a collaborative, supportive team.
  • Stable yet growing SaaS product offering an agile environment, ownership, start-up energy, and strong technical challenges.

About you:

  • At least 5+ years of development experience with Python
  • Experience with any relational databases (SQL queries, migrations, optimization)
  • Solid experience with message queues (e.g. RabbitMQ, NATS, Kafka)
  • Understanding of event-based systems and basics of DDD
  • Strong understanding and experience in AsyncIO
  • Good understanding of the development cycle from requirements analysis and deployment to application monitoring
  • Hands-on experience in developing a microservice architecture
  • Extensive hands-on experience in developing applications within both monolithic and microservice architectures
  • Communicate effectively in English, both orally and in writing
PandaDoc

PandaDoc