Francisco Javier Palacios Pérez Fco. Javier Palacios Pérez
Software Developer

Francisco Javier Palacios Pérez

Latest Blog Posts

Advanced Dockerfile instructions: ARG, ENV, ENTRYPOINT and more
Understand once and for all the difference between ARG and ENV, ENTRYPOINT and CMD, and what HEALTHCHECK, VOLUME and EXPOSE actually do in your Dockerfiles.
Pull Requests and code review: how to make your code easy to review
A Pull Request is not just the mechanism to merge code — it's a conversation. Learn to write PRs that people actually want to review and give feedback that builds instead of blocks.
GitHub Flow: the workflow for teams that ship continuously
GitHub Flow strips branching down to the essentials: one stable branch, short-lived feature branches, Pull Requests for review, and deploy after every merge.
The art of the prompt: core principles
Same model, same day, thirty seconds apart — two completely different answers depending on how you frame the question. Here's the RCTF framework and why it changes everything.

About me

Hi! Everyone knows me as Javi and I'm a techie. Since I was a kid I've been passionate about computers and generally any technological device. Since I started programming as a child I knew I wanted to continue doing it for the rest of my life; if I can also turn my greatest hobby into my profession it will be a dream come true.

In my personal projects I've applied most of the best practices recommended in Extreme Programming Explained, by Kent Beck; also the knowledge acquired by reading Clean Code, by Robert C. Martin and Refactoring by Martin Fowler and Kent Beck. I totally share the idea of writing code you can be proud of.

I'm a self-taught person, and with my academic background, I feel ready to work in a team using current technologies with a focus on good practices. My main characteristic is the passion for what I do and the desire to learn something new every day.

Experience

Dec 2024 - Present
Automation & Platforms
Madrid (remote)
Operational process automation with StackStorm and Dolphin (Python, Bash). PagerDuty API and MQTT integration for reactive incident response. Rigorous unit testing, comprehensive documentation and standards definition in production.
Automation of operational and platform processes using StackStorm and Dolphin engines, aimed at transforming manual and repetitive tasks into orchestrated, auditable, and easily scalable workflows. Design and development of automation primarily in Python (typed) and Bash Scripting, with a strong focus on reliability, traceability, and reducing response times to incidents.

Deep integration with the PagerDuty API to orchestrate webhooks, retrieve statistics and operational metrics, and feed dashboards and alert flows that enable near real-time decision-making. Creation of event-driven automation by subscribing to MQTT server topics, so that certain infrastructure changes trigger corrective or preventive actions without human intervention.

Detailed documentation of processes and automation flows, defining standards, best practices, and conventions so that other teams can understand, reuse, and extend the work done. Implementation of comprehensive unit test batteries in complex, critical, and high-impact scripts, following a philosophy very close to TDD whenever possible: the more automated and tested, the better everyone sleeps.

Daily work in close collaboration with development and systems teams, seeking automation not just as "writing scripts," but as a way to align how processes are designed, monitored, and how incidents are handled. The goal: fewer manual tasks, fewer human errors, and more time for teams to dedicate their energy to adding value rather than firefighting.

Main programming languages: Python (typed) and Bash Scripting.
Main tools and platforms: StackStorm, Dolphin, PagerDuty (API), MQTT, Linux.
Work pillars: automation, observability, testing, and documentation.
Apr 2024 - Dec 2024
Full Stack Developer
Vigo (remote)
Backends in Typescript (Nest.js) and Python (FastAPI) with REST/OpenAPI. MongoDB and ElasticSearch for high-traffic projects. Development in PHP (Laravel 11) and React. Created Kafka producers and consumers to connect 11 microservices.
Maintenance and creation of API backends both in Typescript (Nest.js) and Python (FastAPI) following the REST architecture and OpenAPI specification; all documented with Swagger for a correct understanding of the API by all those who can consume it. As database: MongoDB to store information and ElasticSearch for a faster query with cache for projects with a high number of requests to the database.

Maintenance and development of new features in an application written in PHP (Laravel 11), performing both backend and frontend tasks, also making requests to external APIs through Guzzle.

Maintenance and development of new functionalities in an application written in JavaScript (React).

Milestone: creation of Apache Kafka producers and consumers (Azure Event Hubs) to connect 11 microservices through events, using node-rdkafka in Typescript (Nest.js) and fastavro in Python (FastAPI). Also created test suites (unit/e2e) for all services.

Main programming languages: Python (typed), JavaScript/Typescript and PHP.
Testing tools used: Pytest (Python), Jest (JavaScript/Typescript) and PHPUnit (PHP).
Mar 2020 - Jan 2024
SRE / DevOps
Valencia (remote)
Automation tools (Python, Bash) and orchestration (Concourse, GitHub Actions). Dockerisation of projects and code standardisation with thorough testing. Centralised log viewer (Promtail, Loki, Grafana). Linux machine management with SaltStack and Terraform.
Facilitate synergies and work between development and systems teams through automation, testing (TDD and BDD) and dockerisation of projects to ensure everyone works efficiently and minimising the appearance of errors. Standardisation of code to ensure its quality and homogeneity. Testing, testing and more testing; the core of it all. Mentoring of newcomers, supervising PRs, teaching the company's philosophy and acting as a guide both during the onboarding process and afterwards.

Centralised log viewer of all the company's machines, using the Promtail, Loki and Grafana services, which not only made it possible to monitor the services of the machines without accessing the machine itself, but also to create panels and alerts that can warn through a communication channel if something is detected as not working properly.

Tool created in Django with django_rest_framework (api), celery (queue management) and gui (JS, HTML and CSS) to automate and speed up the process of creating machines for clients.

Main programming languages: Python ( typed), Bash Scripting and JavaScript/Typescript.
Main system tools used: Terraform (HCL) and SaltStack (yaml, jinja).
Main orchestration tools: Concourse and GitHub Actions.

Configuration and management of services in Linux environments (CentOS and Ubuntu).
Mar 2019 - Feb 2020
Full Stack Developer
Paterna
Full Stack Developer (MEAN Stack)
Full Stack Developer (MEAN Stack)
Jan 2010 - Jun 2010
Web Developer
Murcia (remote)
Graphic Designer and Web Developer. Maintenance and management of a VPS
Graphic Designer and Web Developer. Maintenance and management of a VPS
CP San Luis
Sep 2008 - Jun 2009
Teacher
Buñol
Computer teacher for students of all primary education courses
Computer teacher for students of all primary education courses
Jepsi
Aug 2004 - Jan 2007
Ops
Castellón (remote)
Customer service, technical troubleshooting and software installation in Linux environments
Customer service, technical troubleshooting and software installation in Linux environments

Education

2017 - 2019
Cheste
Higher National Diploma, Multi-platform Applications Development (EQF 5)
Higher National Diploma, Multi-platform Applications Development (EQF 5)

Freelance work

josemariatena.es
Static presentation page with contact form
profesionaldelapsicologia.es
Website presenting the psychological office and its services
numismaticallamas.es
E-commerce selling coins, banknotes and medals

Side projects

sargantanacode.es
Web application to teach programming
Currently all the content of that website has been moved to fjp.es.
Personal website and blog
It's also an open source application; code available on GitHub

Volunteering

VOST Euskadi
Feb 2018 - Oct 2018
Backend and frontend applications for emergency management

Talks / workshops

HTML5: el lenguaje de la web
14 Dec 2018
Cheste
Workshop at The Hour of Code
Workshop at The Hour of Code