Francisco Javier Palacios Pérez
Últimas publicaciones del blog
Sobre mí
¡Hola! Todo el mundo me conoce como Javi y soy un amante de la tecnología. Desde que era un niño me apasionan los ordenadores y, en general, cualquier aparato tecnológico. Desde que empecé a programar siendo bien pequeño supe que quería seguir haciéndolo durante el resto de mi vida; si además puedo convertir mi mayor afición en mi oficio será un sueño cumplido.
En mis proyectos personales he aplicado la mayor parte de prácticas que se recomiendan en Extreme Programming Explained, de Kent Beck; también los conocimientos adquiridos leyendo Clean Code, de Robert C. Martin y Refactoring de Martin Fowler y Kent Beck. Comparto totalmente la idea de escribir un código del que puedas sentirte orgulloso.
Me considero una persona autodidacta, y junto con lo que me ha aportado mi formación académica, me siento preparado para trabajar en equipo usando tecnologías actuales haciendo hincapié en el uso de buenas prácticas. Mi principal característica es la pasión por lo que hago y muchas ganas de aprender cada día algo nuevo.
Experiencia
Integración profunda con la API de PagerDuty para orquestar webhooks, obtener estadísticas y métricas operativas y alimentar paneles y flujos de alerta que permitan tomar decisiones en tiempo casi real. Creación de automatismos basados en eventos mediante la suscripción a topics de servidores MQTT, de forma que determinados cambios en la infraestructura disparan acciones correctivas o preventivas sin intervención humana.
Documentación detallada de procesos y flujos de automatización, definiendo estándares, buenas prácticas y convenciones para que otros equipos puedan entender, reutilizar y extender el trabajo realizado. Implementación de baterías de tests unitarios en scripts complejos, críticos y de alto impacto, siguiendo una filosofía muy cercana a TDD siempre que es posible: cuanto más automatizado y probado, mejor duerme todo el mundo.
Trabajo diario en estrecha colaboración con equipos de desarrollo y de sistemas, buscando que la automatización no sea solo "hacer scripts", sino una forma de alinear cómo se diseñan los procesos, cómo se monitorizan y cómo se reaccionan las incidencias. El objetivo: menos tareas manuales, menos errores humanos y más tiempo para que los equipos dediquen su energía a aportar valor y no a apagar fuegos.
Principales lenguajes de programación: Python (tipado) y Bash Scripting.
Principales herramientas y plataformas: StackStorm, Dolphin, PagerDuty (API), MQTT, Linux.
Pilares del trabajo: automatización, observabilidad, testing y documentación.
Mantenimiento y desarrollo de nuevas funcionalidades en una aplicación escrita en PHP (Laravel 11), realizando tareas tanto de backend como de frontend, haciendo además peticiones a APIs externas mediante Guzzle.
Mantenimiento y desarrollo de nuevas funcionalidades en una aplicación escrita en JavaScript (React).
Hito destacado: creación de productores y consumidores de Apache Kafka (Azure Event Hubs) para conectar mediante eventos 11 microservicios, usando para ello node-rdkafka en Typescript (Nest.js) y fastavro en Python (FastAPI). Creadas también suites de tests (unit/e2e) de todos los servicios.
Principales lenguajes de programación: Python (tipado), JavaScript/Typescript y PHP.
Herramientas de testing utilizadas: Pytest (Python), Jest (JavaScript/Typescript) y PHPUnit (PHP).
Visualizador centralizado de logs de todas las máquinas de la empresa, mediante el uso de los servicios Promtail, Loki y Grafana, a través del cual no sólo se podían monitorizar los servicios de las máquinas sin entrar a la propia máquina en sí sino también crear paneles y alertas que puedan avisar mediante un canal de comunicación si se detecta que algo no funciona bien.
Herramienta creada en Django con django_rest_framework (api), celery (gestión de colas) y gui (JS, HTML y CSS) para automatizar y agilizar el proceso de creación de máquinas para clientes.
Principales lenguajes de programación: Python (tipado), Bash Scripting y JavaScript/Typescript.
Principales herramientas de sistemas utilizadas: Terraform (HCL) y SaltStack (yaml, jinja).
Principales herramientas de orquestación: Concourse y GitHub Actions.
Configuración y gestión de servicios en entornos Linux (CentOS y Ubuntu)
Educación
Trabajos como freelance
Proyectos personales
Actualmente todo el contenido de esa web ha sido migrado a fjp.es