Nil Bacardit

Enginyer de software: backend Python, DevOps i cloud · Co-CTO a Iskra

Nil Bacardit Vinyals

Enginyer de software. Construeixo backends asíncrons en Python i opero la infraestructura que els sosté.

Deu anys entre arquitectura d’API, infraestructura al núvol, operació de Kubernetes i codi obert a l’ecosistema de Plone i Guillotina. Amb base a Manresa, Barcelona.

Nil Bacardit a l’entrada del metro de Callao, a Madrid, de nit
10 anys
construint i operant sistemes Python, des del 2016
79
pull requests acceptades en repositoris fora del meu compte
8
paquets Python mantinguts a PyPI
3
xerrades a la Plone Conference, el 2021, el 2023 i el 2025

A novembre de 2026: pull requests a GitHub, perfil de PyPI.

Experiència

  1. 2019 – ara

    Co-CTO, arquitecte de backend i enginyer DevOps

    Iskra, Manresa

    • Dirigeixo l’estratègia tècnica i l’arquitectura dels serveis Python, les API i la infraestructura d’aplicacions.
    • Dissenyo serveis asíncrons i API REST, i oriento l’equip de desenvolupament en els límits entre serveis i la resolució d’incidències en producció.
    • Opero clústers de Kubernetes i desplegaments amb Helm, inclosa infraestructura bare-metal.
    • Mantinc pipelines de Jenkins i GitHub Actions per automatitzar llançaments i fer desplegaments repetibles.
  2. 2017 – 2019

    Enginyer de backend i sistemes de dades

    Onna

    • Vaig desenvolupar backends i sistemes de dades en Python, amb fluxos de dades en producció, API i les limitacions dels sistemes distribuïts.
  3. 2016 – 2017

    Desenvolupador Python

    Iskra

    • Vaig construir backends en Python, API REST i projectes amb Plone i Guillotina.

Formació

  • Màster en Informàtica, Universitat d’Aarhus, Dinamarca, 2014 – 2016

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

  • Grau en Tecnologies de la Informació i la Comunicació, UPC / EPSEM, Catalunya, 2010 – 2014

    Projecte: Home Tracking System, un sistema sense fils de sensors d’infraroigs i de moviment per fer el seguiment de pacients, construït amb Zigbee, un backend REST en Python i un frontend en Angular.

Competències

Cloud i plataforma
AWS i Google Cloud; familiaritzat amb GKE, EKS, IAM, VPC, bases de dades gestionades, emmagatzematge, registres i monitoratge. Kubernetes, Helm, Docker, Linux, nginx, cert-manager, desplegaments bare-metal, nocions de Terraform
Backend
Python, asyncio, API REST, GraphQL, arquitectura de serveis. Django, FastAPI, Flask, aiohttp, Guillotina, Plone, Saleor. Pydantic, SQLAlchemy, Alembic, Celery, pytest
Dades i missatgeria
PostgreSQL, MySQL, Redis, Elasticsearch, NATS JetStream, RabbitMQ
Lliurament i observabilitat
Jenkins, GitHub Actions, CI/CD, Prometheus, Grafana, Sentry
IA i pagaments
OpenAI API, Nuclia, Model Context Protocol, Stripe, Redsys
Frontend
TypeScript, JavaScript, React, Next.js, Vite, Volto
Gestió
Gestió de clients, gestió de projectes, lideratge tècnic, mentoria
Idiomes
Català, castellà i anglès, tots amb fluïdesa

Projectes destacats

Contribucions de codi obert a Guillotina, el framework d’API de dades amb AsyncIO de la comunitat Plone, i al seu ecosistema.

Actualitzacions d’Elasticsearch i Python

Elasticsearch · Python · Google Cloud Storage

Vaig actualitzar guillotina_elasticsearch i guillotina_audit a Elasticsearch 8 i 9. Vaig preparar guillotina_gcloudstorage per a Guillotina 7 i Python 3.10+, substituint les credencials d’oauth2client per google-auth.

Registre d’auditoria per a Guillotina

guillotina_audit · Elasticsearch

Registra l’objecte, la data i hora i l’acció de cada creació, actualització i eliminació a Guillotina, i indexa els esdeveniments a Elasticsearch per poder-los cercar. Inclou un analitzador de consultes i l’ordre audit-migrate.

Integracions amb MCP i Nuclia

Model Context Protocol · Nuclia

Vaig afegir al nucli de Guillotina un paquet contrib de baix nivell per a Model Context Protocol, amb eines i proves. Vaig construir guillotina_nuclia, que ofereix xat amb historial persistent, respostes en streaming, respostes de recuperació i xat sense estat.

Correcció de la duplicació de fitxers al núvol

Nucli de Guillotina · Emmagatzematge al núvol

Vaig corregir la duplicació de continguts amb camps de fitxer al núvol, on la còpia compartia referències de metadades amb l’original i podia retornar errors 404. Ara cada duplicat rep la seva pròpia còpia del blob.

Paquets

  • guillotina-oauth-server

    Servidor d’autorització OAuth 2.0 per a Guillotina

  • guillotina-audit

    Suport d’auditoria amb Elasticsearch per a Guillotina

  • guillotina-elasticsearch

    Suport de catàleg amb Elasticsearch per a Guillotina

  • guillotina-gcloudstorage

    Suport de Google Cloud Storage per a Guillotina

  • pytest-docker-fixtures

    Fixtures de Docker per a pytest

  • guillotina-nuclia

    Suport de Nuclia per a Guillotina

  • guillotina-redsys

    Suport de Redsys per a Guillotina

  • guillotina-gmi

    Interfície de gestió de Guillotina

Xerrades

  1. 2025

    Guillotina Volto: A New Backend for Volto

    Plone Conference, Jyväskylä, amb Roger Boixader Güell. Una integració experimental que fa servir Guillotina com a backend del frontend Volto en React, comparada amb l’stack tradicional de Plone i Zope.

  2. 2023

    Real-world RBAC complex project implemented using Guillotina

    Plone Conference. Un projecte real amb requisits complexos de control d’accés basat en rols, construït amb Guillotina. Arxiu de TIB.

  3. 2021

    Guillotina Addons: elastic, stripe, gcloud

    Plone Conference. Com s’integren amb Guillotina els complements d’Elasticsearch, Stripe i Google Cloud, i com fer-los servir en una aplicació.

Projectes personals

  • Paraules

    Una llibreta pública de lectura en català, amb vocabulari, definicions i fragments de llibres.

    FastAPI · PostgreSQL · Kubernetes

  • Blog

    Textos personals en català, publicats com a web estàtic.

    Python · Markdown · nginx · Kubernetes

Contacte