$ cat sobre-mi.md

Antes de escribir la solución, quiero entender qué se rompe de verdad

Soy desarrollador full-stack, titulado en Desarrollo de Aplicaciones Web. Pero antes de tocar el primer componente ya llevaba años dando soporte a sistemas en producción 24×7, y eso cambia cómo abordo un problema: primero busco la causa, no el parche más rápido. Debajo van tres ejemplos reales de eso, no adjetivos sueltos.

$ cat perfil.json
Formación
DAW (2024) · ASIR (2018)
Ubicación
Galicia, España
Idiomas
Español · Gallego · Inglés
Buscando
Primera posición como desarrollador

$ cat metodo.txt

Cómo trabajo

Por fases, sin dejarlo roto entre pasos

CodeQuest RPG era una prueba de concepto abandonada a medias. Lo reconstruí en fases: la migración a TypeScript fue archivo por archivo, comprobando build y juego jugable en cada paso, en vez de una reescritura de golpe que se rompe a mitad sin que te enteres.

Diagnóstico antes que reinicio

Dando soporte a una red corporativa en 24×7 aprendes a no conformarte con 'no responde': hay que mirar dónde se rompe de verdad. Es el mismo criterio detrás de NetPulse: checks reales por TCP, DNS y TLS, no un ping que solo dice sí o no.

Cómodo en código que no es mío

En las prácticas en Indra no partía de cero: eran endpoints REST sobre microservicios ya en producción, con su propio flujo de revisión. Entender una convención ajena antes de tocarla es un hábito, no una excepción.

$ git log --author=pablo

Por dónde he pasado

Cuatro puestos antes de dedicarme al desarrollo. Cada uno se despliega con lo que de verdad aporta.

24Técnico de redes y soporteEDNONmar. 2024 → actualidad

Compaginado con la búsqueda de mi primera posición como desarrollador. Gestión, soporte y monitorización de una red corporativa 24×7 — datos, voz, WiFi y seguridad — con resolución de incidencias de primer nivel, tickets, informes periódicos y copias de seguridad.

23Desarrollador de aplicaciones webIndra · prácticasoct. → dic. 2023

Backend sobre arquitectura de microservicios: endpoints REST, mantenimiento de la interfaz en React y refactorización de servicios existentes dentro del flujo de revisión del equipo.

22Técnico de redes y soporteEDNONago. 2022 → sept. 2023

Mismas funciones que el puesto actual.

19Técnico y administrador de sistemasDoezos Consultoría IT2019 → 2020

Desarrollo y mantenimiento de webs de clientes en PrestaShop y WordPress, con el hosting, el dominio y el servidor detrás gestionados también por mí.

$ ls stack/

Stack

No es una lista de logos: cada tecnología está aquí por un motivo concreto, el mismo que aparece en los casos de estudio. Filtra por capa si buscas una en concreto.

Filtrar el stack por capa

React

Frontend

Rendimiento y estabilidad en interfaces con pantallas que se montan y desmontan mucho, no solo formularios estáticos.

Next.js (App Router)

Frontend

Server components para no exponer claves de API al navegador y cachear datos con fetch + revalidate, sin montar una capa de caché propia.

Tailwind CSS

Frontend

Utilidades para iterar rápido en la maquetación sin mantener una hoja de estilos propia a mano.

Zustand

Frontend

Un único store organizado por dominios, sin la ceremonia de Redux para el estado que de verdad necesita ser global.

Node.js + Express

Backend

API REST clásica cuando el cliente ya es un proyecto frontend separado, sin necesidad de un framework full-stack.

NestJS

Backend

Estructura por módulos y servicios que encaja con patrones de estrategia (un tipo de comprobación, una clase) y con schedulers propios.

PostgreSQL

Backend

Relaciones reales (FKs, UNIQUE constraints) y agregados con índices compuestos que encajan mejor en un modelo relacional que en un documento.

Prisma

Backend

Migraciones versionadas y modelo tipado, en vez de escribir SQL a mano en cada cambio de esquema.

Docker

Infra

Build multi-stage con runtime final solo con el compilado y las dependencias de producción — imagen más pequeña, sin el toolchain de compilación.

Fly.io / Render

Infra

PaaS con capa gratuita, barata para un proyecto de portfolio, a cambio de cold starts que hay que mitigar explícitamente (keepalive, reintentos).

Vercel

Infra

Despliegue automático desde main, sin infraestructura propia que mantener para el frontend.

TypeScript

Tooling

Tipado en cliente y servidor; strict cuando el proyecto lo permite desde el principio, progresivo cuando se parte de JS existente.

Vitest + Playwright

Tooling

Vitest para la lógica de negocio sin levantar navegador; Playwright para un e2e real del flujo completo cuando hace falta.

pnpm

Tooling

Workspaces para compartir tipos entre backend y frontend en un monorepo sin duplicar interfaces que se desincronizan.

GitHub Actions

Tooling

CI (lint, typecheck, test) en cada push y pull request, gratuito para proyectos personales.