Senior Python Backend Engineer

Isardvdi
Madrid, Spain
8 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience required
2 years minimum
Working hours
Regular working hours

Tech stack

PHP (Programming Language) Active Directory Application Programming Interfaces (APIs) Agile Methodology Code Generation Code Review Databases Continuous Integration Desktop Virtualization Programming Tools Distributed Systems Protocol Buffers
+30 more
Python (Programming Language) Lightweight Directory Access Protocols (LDAP) Moodle Virtual Desktops NoSQL OAuth Open Source Technology Scrum Methodology Quick EMUlator (QEMU) Redis Remote Desktop Services Security Assertion Markup Language (SAML) Single Sign-On Spice Virtual Network Computing Virtualization Technology WebSocket Openapi Flask (Web Framework) Backend Gitlab Git Fastapi Pytest Gitlab-ci Kubernetes Celery Gsuite Restful APIs Docker

Job description

IsardVDIes una solución open-source de VDI (Virtual Desktop Infrastructure) desarrollada desde Barcelona que da escritorios virtuales y aplicaciones remotas a universidades, administraciones públicas, hospitales y empresas de toda Europa.Combinamos KVM/libvirt, almacenamiento distribuido y un stack de orquestación propio para entregar miles de escritorios concurrentes sobre hardware commodity.Llevamos años en producción con clientes reales y un producto consolidado.Buscamos un/aBackend Engineerpara incorporarse al equipo de desarrollo del core de la plataforma.Trabajarás codo a codo con el resto del equipo de backend, los ingenieros de Go que mantienen los servicios de orquestación y el CTO, evolucionando la API v4 que sostiene todo el producto.Qué harás en el equipoAmpliar y mantener nuestraAPI v4construida sobreFastAPI + Pydantic 2y especificada conOpenAPI , que orquesta escritorios, plantillas, deployments, almacenamiento y reservas de escritorios.Diseñar y evolucionar el sistema detareas asíncronas con RQ(sobre Redis) que sostiene operaciones de larga duración: creación de discos, snapshots, migraciones de almacenamiento, recreación de escritorios.Trabajar contraRethinkDBaprovechando sus change-feeds para propagar estado entre servicios.Integrar la API con los servicios Go del monorepo (engine, orchestrator, scheduler, bastion, notifier) víagRPC/Protobufy Redis.Crear nuevas funcionalidades de producto (storage pools, deployments colaborativos, bastion domains, integraciones SSO/SAML/OIDC, quotas).Escribir y mantenersuites de tests fiables(pytest + entornos contenedorizados con docker-compose) y mejorar nuestro pipeline de CI en GitLab.Investigar y prototipar mejoras de rendimiento (caching, invalidación, pooling de conexiones a RethinkDB).Participar en el ciclo SCRUM, code reviews exigentes y discusiones de arquitectura.Más de 2 años desarrollando en Python 3 .Más de 2 años con FastAPI(o experiencia equivalente con Flask/Starlette dispuesta a moverse a FastAPI) en producción: APIs REST, autenticación, validación conPydantic , diseño async.Familiaridad conOpenAPIy desarrollo schema-first / contract-first.Experiencia sólida conDocker y docker-compose(nuestro entorno de desarrollo y despliegue es un monorepo con ~30 servicios sobre docker-compose).Soltura conherramientas de desarrollo : git, linters, formatters, depuración local y remota.Experiencia trabajando en equipo bajoSCRUMu otra metodología ágil.Experiencia conCI/CD(idealmente GitLab CI).Familiaridad conTDDy diseño orientado a tests.Experiencia conherramientas de calidad de código(black, isort, flake8, pylint, mypy, pre-commit).Sería un puntazoExperiencia con sistemas de autenticación y autorización : OAuth2, OIDC, SAML, JWT, single sign-on, integraciones con proveedores corporativos (LDAP, Active Directory, Google Workspace), gestión de sesiones y refresh tokens.Experiencia conbases de datos NoSQL orientadas a documentos , especialmenteRethinkDBo similares con change-feeds.Experiencia conRQ(u otras colas tipo Celery / Sidekiq) y patrones de tareas idempotentes.Conocimiento devirtualización : KVM/QEMU, libvirt, OVMF/UEFI, redes virtuales, storage (qcow2, backing chains).Algo deGo- buena parte del plano de control está escrito en Go y tocarás las fronteras.Algo dePHP- para evolucionar el plugin de Moodle desarrollado en PHP en caso de necesidadExperiencia congRPC / Protobufy generación de código (buf).Experiencia conWebSockets / Socket.IOpara eventos en tiempo real.Haber trabajado conproyectos open-sourcey comunidades públicas (GitLab, issues, MRs externas).Conocimiento deprotocolos de escritorio remoto : SPICE, RDP, VNC, Guacamole.Interés por lasoberanía digital , el software libre y la administración pública.Producto propio, open-source, consolidado, con clientes reales y misión clara(soberanía digital).Jornada completa (hasta 40h/semana).Trabajo híbrido- oficinas en Barcelona, junto a la parada de metroMarina .Stack moderno y coherente: FastAPI, Pydantic 2, RethinkDB, RQ, gRPC, Go, todo desplegado con docker-compose (sin Kubernetes, sin over-engineering).Equipo pequeño, sin bullshit corporativo, decisiones técnicas a la vista de todos en GitLab.Salario competitivo según experiencia, en línea con el rango**k €del mercado para perfiles backend senior en Barcelona, negociable al alza para perfiles con experiencia demostrada en virtualización o sistemas distribuidos.Formación continua y participación en upstream (libvirt, RethinkDB, etc.).#J-**-Ljbffr

Requirements

Más de 2 años con FastAPI (o experiencia equivalente con Flask/Starlette dispuesta a moverse a FastAPI) en producción: APIs REST, autenticación, validación con Pydantic , diseño async. Familiaridad con OpenAPI y desarrollo schema-first / contract-first. Experiencia sólida con Docker y docker-compose (nuestro entorno de desarrollo y despliegue es un monorepo con ~30 servicios sobre docker-compose). Soltura con herramientas de desarrollo : git, linters, formatters, depuración local y remota. Experiencia trabajando en equipo bajo SCRUM u otra metodología ágil. Experiencia con CI/CD (idealmente GitLab CI). Familiaridad con TDD y diseño orientado a tests. Experiencia con herramientas de calidad de código (black, isort, flake8, pylint, mypy, pre-commit). Sería un puntazo Experiencia con sistemas de autenticación y autorización : OAuth2, OIDC, SAML, JWT, single sign-on, integraciones con proveedores corporativos (LDAP, Active Directory, Google Workspace), gestión de sesiones y refresh tokens. Experiencia con bases de datos NoSQL orientadas a documentos , especialmente RethinkDB o similares con change-feeds. Experiencia con RQ (u otras colas tipo Celery / Sidekiq) y patrones de tareas idempotentes. Conocimiento de virtualización : KVM/QEMU, libvirt, OVMF/UEFI, redes virtuales, storage (qcow2, backing chains). Algo de Go

  • buena parte del plano de control está escrito en Go y tocarás las fronteras. Algo de PHP

  • para evolucionar el plugin de Moodle desarrollado en PHP en caso de necesidad Experiencia con gRPC / Protobuf y generación de código (buf). Experiencia con WebSockets / Socket.IO para eventos en tiempo real. Haber trabajado con proyectos open-source y comunidades públicas (GitLab, issues, MRs externas). Conocimiento de protocolos de escritorio remoto : SPICE, RDP, VNC, Guacamole. Interés por la soberanía digital , el software libre y la administración pública. Producto propio, open-source, consolidado, con clientes reales y misión clara (soberanía digital). Jornada completa (hasta 40h/semana). Trabajo híbrido

  • oficinas en Barcelona, junto a la parada de metro Marina . Stack moderno y coherente: FastAPI, Pydantic 2, RethinkDB, RQ, gRPC, Go, todo desplegado con docker-compose (sin Kubernetes, sin over-engineering). Equipo pequeño, sin bullshit corporativo, decisiones técnicas a la vista de todos en GitLab. Salario competitivo según experiencia, en línea con el rango *****k € del mercado para perfiles backend senior en Barcelona, negociable al alza para perfiles con experiencia demostrada en virtualización o sistemas distribuidos. Formación continua y participación en upstream (libvirt, RethinkDB, etc.).

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on www.buscojobs.com.es

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

3:55 min

Demonstrating semantic routing thresholds with the Redis vector library

1:37 min

Architecting a speed indicator with functional requirements

Daniel Siegl +1 · LIVE

6:21 min

Investigating push inefficiencies with upstream Git experts

Jonathan Creamer · Coffee With Developers

1:06 min

Developer experience and project variety at scale

Alexandra Petri · World Congress 2023

3:42 min

Comparing in-memory and Redis storage for cache scalability

Simone Sanfratello · World Congress 2022

4:36 min

Hiring passionate software engineers to tackle unprecedented scaling challenges

Dana Lawson Dana Lawson +1 · World Congress 2026 Europe

Videos

See all

Related articles

See all