вернуться в ленту
Вакансия опубликована
21
April
2025
Senior
Python Engineer (Technology Hub)
Удалённо (Мир)
З/П не указана
Senior
Удалённо (Мир)
З/П не указана
This role is based on the ReDefine Team, which is focused on enabling product teams to streamline development and delivery processes. Join us and help to amplify productivity, quality, and innovation across PandaDoc.
In this role, you will:
Build software, frameworks, and tools required for reliable operations of PandaDoc services:
— Design and improve how PandaDoc services communicate using gRPC (and service meshes), Temporal.io, and Kafka by providing libraries and guidance for engineers.
— Work closely with Kubernetes. We run on top of AWS EKS. We have five main clusters with more than 200 services in each of different sizes, written mainly in Python (~70%) and Java.
— Improve how PandaDoc services are deployed (including machinery for canary and blue-green deployments) and monitored across all our clusters.
— Improve our observability as both a developer/maintainer of systems/frameworks and a mentor to our product development teams.
— Collaborate with other engineers on the team and cross-functionally to foster solid engineering principles and represent our engineering values.
— Be a change agent by recommending and introducing best practices for all PandaDoc engineers.
— Be an innovation advocate for the technical growth of PandaDoc.
— Share knowledge by writing documentation and holding talks and workshops.
Our stack:
— Service-oriented architecture, but be prepared to deal with legacy code and monolithic services based on the Django framework.
Two main stacks: Python and Java:
— Python services are primarily written using AsyncIO frameworks and libraries, but we also have Django-based services and a lot of Celery workloads;
— Java services based on Spring Boot with custom extensions, Java 11, and Gradle as a build tool;
— 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 even-based operations.
— RabbitMQ is a transport for Celery, but we look forward to migrating to Temporal.io.
— Grafana stack for monitoring, alerting, and distributed tracing
About you:
— At least 5+ years of development experience with Python.
— Care about quality; you know what shipping high-quality code means.
— Strong understanding and experience in AsyncIO.
— Experience with the Django framework.
— Experience with any relational databases (SQL queries, migrations, optimization);
— Experience with message queues (e.g., RabbitMQ, NATS, 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, Jenkins).
— It is good to have experience with the Grafana LGTM stack and OpenTelemetry.
— It is good to have open-source contributions and experience.
— It is good to have basic knowledge of Golang.
— English: intermediate+ (verbal and written).
Benefits:
— An honest, open culture that emphasizes feedback and promotes professional and personal development;
— 6 self-care days;
— A competitive salary;
— And much more!
Важно: pедакция vseti.app не несет ответственности за любую информацию в этой публикации, в т. ч. текстовое описание и графические изображения, предоставленные нам авторами вакансии, публичными источниками сети интернет и другими пользователями интернета. Если вы нашли ошибку, пожалуйста, сообщите нам об этом help@vseti.app или в телеграм

PandaDoc
All-in-one document automation software
Подробнее о компанииДля отклика:
Стать заметнее для работодателей → здесь