José Luis Pamplona Stoever

Open for work

José Luis Pamplona Stoever

Backend senior en Elixir

Diseño y desarrollo de lógica de negocio: cada regla escrita, probada y entendida por el equipo.

  • Elixir desde 2017
  • Software industrial
  • Phoenix · LiveView · PostgreSQL · Docker · Bash
  • Querétaro, México
  • Remoto, híbrido o presencial
  • Español · inglés C1 (EF SET)

Proyectos

DEW · Dockerized Elixir Workbench

En desarrollo Licencia MIT v0.19.5

GitHub Demo

Un banco de trabajo para crear proyectos de Phoenix y correrlos en localhost sin instalar nada más que Docker, y una base de conocimiento del ecosistema de Elixir guardada en cartuchos.

La consola de DEW con un proyecto levantado: a la izquierda el espacio de trabajo, sus despliegues, contenedores y servicios; a la derecha, las portadas de los cartuchos insertados en el proyecto La consola de DEW con un proyecto levantado: a la izquierda el espacio de trabajo, sus despliegues, contenedores y servicios; a la derecha, las portadas de los cartuchos insertados en el proyecto

La consola, con un proyecto levantado Tamaño completo Tamaño completo

Algunas decisiones, y lo que costó cada una

1El conocimiento vive en los cartuchos

Cada función que se añade a un proyecto es un cartucho con sus papeles: qué instala, qué necesidad responde y por qué está hecho así, con sus fuentes. El cartucho le da forma a ese conocimiento: una pieza con nombre y portada a la que se asocia lo aprendido, lo que facilita entender una solución, recordarla y dejarla registrada. Es el mayor valor de DEW.

Costo. Escribir un cartucho pide Elixir avanzado, y hoy tener cartuchos propios obliga a hacer un fork de DEW. Lo siguiente es una colección pública de cartuchos, fuera del repositorio.

Cómo se escribe un cartucho

2Solo Docker en el host

Cada paso de mix y de git corre en un contenedor, y la consola reúne el flujo de trabajo que antes vivía en el host: el servidor, los logs, la terminal, las pruebas. Lo que el proyecto necesita alrededor, como la base de datos, su administrador o el monitoreo, llega también en contenedores: no se instala ni se configura nada en la máquina. Se trabaja igual en cualquier equipo: basta con tener Docker y clonar el proyecto.

Costo. Toda la línea de comandos es un script de bash de unas 3 500 líneas. Es el precio de que el host solo necesite Docker y una shell.

El banco y su espacio de trabajo

3Las opciones de phx.new también son cartuchos

En Phoenix, la base de datos, el HTML o el correo se eligen una sola vez, al crear el proyecto. En DEW cada una es un cartucho como los demás: se puede añadir después, y otros cartuchos pueden depender de ella, como el administrador de base de datos, que pide ecto.

Para lograrlo, cada uno de estos cartuchos genera el proyecto dos veces, con y sin su opción, en la versión de Phoenix con que nació, y fusiona solo la diferencia sobre el proyecto tal como está hoy. La prueba: un proyecto nacido sin nada y crecido cartucho a cartucho tiene que quedar igual, archivo por archivo, al que nació con todo.

Costo. El proyecto tiene que guardar con qué versión del instalador de Phoenix nació, y DEW tiene que poder volver a ejecutar esa misma versión.

El papel de diseño

4El proyecto no le debe nada a DEW

Ni una ruta, ni un archivo, ni una marca existen en un proyecto solo para que DEW los lea. Un proyecto se independiza de DEW en cualquier momento: basta con dejar de usar wb.sh.

Costo. Como el proyecto no guarda nada para DEW, DEW tiene que deducir su estado cada vez, leyendo el código, Docker y git.

Por qué tiene esta forma

5El proyecto queda como Phoenix lo generó

Un proyecto nuevo de Phoenix busca su base de datos en localhost, y dentro de Docker eso normalmente deja de funcionar. En DEW, la aplicación y sus servicios comparten una misma red interna (un pod), así que localhost sigue siendo válido y la configuración no se toca.

Costo. En desarrollo, la aplicación tiene que escuchar en 0.0.0.0: es la única línea de configuración que DEW cambia. Y el pod no admite réplicas, porque compartirían dirección: el despliegue escalado se levanta como producción, en una red bridge, con sus variables de entorno definidas en el archivo de Docker Compose.

Por qué tiene esta forma

La arquitectura y cada decisión son del autor, y están razonadas en el CHANGELOG. La implementación se hizo con asistencia de IA.

ExDebug · depuración en Elixir

Publicado Licencia MIT v1.0.0

GitHub hex.pm Docs 1 844 descargas

Biblioteca de depuración para Elixir: se encadena en cualquier punto de un pipeline e imprime en la consola el valor que pasa por ahí, enmarcado, con su etiqueta y colores por tipo de dato, sin alterar el resultado. Solo actúa en desarrollo y en pruebas; en producción deja pasar el dato.

Disponible como cartucho en DEW.

Experiencia

  1. 2026 – hoy

    DEW · proyecto propio, de código abierto

    Diseño y desarrollo, a tiempo completo, de DEW, el banco de trabajo.

  2. 2024 – 2026

    Cordage · sistema de gestión de calidad (QMS)

    QA Engineer

    Volví al producto cuyo diseño lideré en iCorp, esta vez para asegurar su calidad: el marco de QA, las pruebas automáticas con Playwright y la asesoría técnica de Elixir al equipo.

  3. 2022 – 2023

    Valiot · software de IA para plantas de manufactura

    Back-end / CI-CD

    Entorno local de punta a punta en Docker, donde varios equipos diseñaban la estructura de datos de cada cliente y la ponían a prueba previo a su implementación; integración continua en GitHub Actions; back-end en Elixir.

  4. 2019 – 2022

    iCorp · de qDoc a Cordage

    Líder técnico

    Lideré el diseño y el desarrollo de Cordage, el sucesor de qDoc: el modelo con DDD y el back-end con TDD en Elixir. Creé e impartí un programa de capacitación intensiva en Elixir, con el que los desarrolladores recién egresados se incorporaban al equipo. Lo que iCorp publicó del proyecto

  5. 2018 – 2019

    NUU Group

    Líder técnico

    NUU Group y GRVTY Labs se fusionaron para ofrecer desarrollo de software además de marketing y diseño, y seguí con el mismo equipo, ya como líder técnico. Marcos ágiles, manuales de arquitectura para el equipo y back-end en Elixir.

  6. 2017 – 2018

    GRVTY Labs

    Back-end en Elixir

    Back-end de proyectos para los clientes de la agencia, entre ellos NUU Group.

Formación

  1. 2020

    Certified Scrum Developer® · Scrum Alliance

  2. 2011 – 2016

    Ingeniería de Software · Universidad Autónoma de Querétaro

  3. 2006 – 2009

    Técnico en Informática · CBTIS 118

Descargar CV (PDF)

Contacto

© 2026 José Luis Pamplona Stoever · Querétaro, México