Nil Bacardit

Ingeniero de software: backend Python, DevOps y cloud · Co-CTO en Iskra

Nil Bacardit Vinyals

Ingeniero de software. Construyo backends asíncronos en Python y opero la infraestructura que los sostiene.

Diez años entre arquitectura de API, infraestructura en la nube, operación de Kubernetes y código abierto en el ecosistema de Plone y Guillotina. Con base en Manresa, Barcelona.

Nil Bacardit en la entrada del metro de Callao, en Madrid, de noche
10 años
construyendo y operando sistemas Python, desde 2016
79
pull requests aceptadas en repositorios fuera de mi cuenta
8
paquetes Python mantenidos en PyPI
3
charlas en la Plone Conference, en 2021, 2023 y 2025

A noviembre de 2026: pull requests en GitHub, perfil de PyPI.

Experiencia

  1. 2019 – actualidad

    Co-CTO, arquitecto de backend e ingeniero DevOps

    Iskra, Manresa

    • Dirijo la estrategia técnica y la arquitectura de los servicios Python, las API y la infraestructura de aplicaciones.
    • Diseño servicios asíncronos y API REST, y oriento al equipo de desarrollo en los límites entre servicios y la resolución de incidencias en producción.
    • Opero clústeres de Kubernetes y despliegues con Helm, incluida infraestructura bare-metal.
    • Mantengo pipelines de Jenkins y GitHub Actions para automatizar lanzamientos y hacer despliegues repetibles.
  2. 2017 – 2019

    Ingeniero de backend y sistemas de datos

    Onna

    • Desarrollé backends y sistemas de datos en Python, con flujos de datos en producción, API y las limitaciones de los sistemas distribuidos.
  3. 2016 – 2017

    Desarrollador Python

    Iskra

    • Construí backends en Python, API REST y proyectos con Plone y Guillotina.

Formación

  • Máster en Informática, Universidad de Aarhus, Dinamarca, 2014 – 2016

    Tesis: Network Lifetime Enlargement for Underwater Sensor Networks using Random Compressed Sensing Techniques.

  • Grado en Tecnologías de la Información y la Comunicación, UPC / EPSEM, Cataluña, 2010 – 2014

    Proyecto: Home Tracking System, un sistema inalámbrico de sensores de infrarrojos y de movimiento para el seguimiento de pacientes, construido con Zigbee, un backend REST en Python y un frontend en Angular.

Competencias

Cloud y plataforma
AWS y Google Cloud; familiarizado con GKE, EKS, IAM, VPC, bases de datos gestionadas, almacenamiento, registros y monitorización. Kubernetes, Helm, Docker, Linux, nginx, cert-manager, despliegues bare-metal, nociones de Terraform
Backend
Python, asyncio, API REST, GraphQL, arquitectura de servicios. Django, FastAPI, Flask, aiohttp, Guillotina, Plone, Saleor. Pydantic, SQLAlchemy, Alembic, Celery, pytest
Datos y mensajería
PostgreSQL, MySQL, Redis, Elasticsearch, NATS JetStream, RabbitMQ
Entrega y observabilidad
Jenkins, GitHub Actions, CI/CD, Prometheus, Grafana, Sentry
IA y pagos
OpenAI API, Nuclia, Model Context Protocol, Stripe, Redsys
Frontend
TypeScript, JavaScript, React, Next.js, Vite, Volto
Gestión
Gestión de clientes, gestión de proyectos, liderazgo técnico, mentoría
Idiomas
Catalán, castellano e inglés, todos con fluidez

Proyectos destacados

Contribuciones de código abierto a Guillotina, el framework de API de datos con AsyncIO de la comunidad Plone, y a su ecosistema.

Registro de auditoría para Guillotina

guillotina_audit · Elasticsearch

Registra el objeto, la fecha y hora y la acción de cada creación, actualización y eliminación en Guillotina, e indexa los eventos en Elasticsearch para poder buscarlos. Incluye un analizador de consultas y el comando audit-migrate.

Integraciones con MCP y Nuclia

Model Context Protocol · Nuclia

Añadí al núcleo de Guillotina un paquete contrib de bajo nivel para Model Context Protocol, con herramientas y pruebas. Construí guillotina_nuclia, que ofrece chat con historial persistente, respuestas en streaming, respuestas de recuperación y chat sin estado.

Corrección de la duplicación de archivos en la nube

Núcleo de Guillotina · Almacenamiento en la nube

Corregí la duplicación de contenidos con campos de archivo en la nube, donde la copia compartía referencias de metadatos con el original y podía devolver errores 404. Ahora cada duplicado recibe su propia copia del blob.

Paquetes

  • guillotina-oauth-server

    Servidor de autorización OAuth 2.0 para Guillotina

  • guillotina-audit

    Soporte de auditoría con Elasticsearch para Guillotina

  • guillotina-elasticsearch

    Soporte de catálogo con Elasticsearch para Guillotina

  • guillotina-gcloudstorage

    Soporte de Google Cloud Storage para Guillotina

  • pytest-docker-fixtures

    Fixtures de Docker para pytest

  • guillotina-nuclia

    Soporte de Nuclia para Guillotina

  • guillotina-redsys

    Soporte de Redsys para Guillotina

  • guillotina-gmi

    Interfaz de gestión de Guillotina

Charlas

  1. 2025

    Guillotina Volto: A New Backend for Volto

    Plone Conference, Jyväskylä, con Roger Boixader Güell. Una integración experimental que usa Guillotina como backend del frontend Volto en React, comparada con el stack tradicional de Plone y Zope.

  2. 2023

    Real-world RBAC complex project implemented using Guillotina

    Plone Conference. Un proyecto real con requisitos complejos de control de acceso basado en roles, construido con Guillotina. Archivo de TIB.

  3. 2021

    Guillotina Addons: elastic, stripe, gcloud

    Plone Conference. Cómo se integran con Guillotina los complementos de Elasticsearch, Stripe y Google Cloud, y cómo usarlos en una aplicación.

Proyectos personales

  • Paraules

    Un cuaderno público de lectura en catalán, con vocabulario, definiciones y fragmentos de libros.

    FastAPI · PostgreSQL · Kubernetes

  • Blog

    Textos personales en catalán, publicados como web estática.

    Python · Markdown · nginx · Kubernetes

Contacto