Nicolás Vegas

Ver proyectosEstrellas del repositorio en GitHub

Ingeniero de software · Sistemas de alto volumen · Desarrollo con IA

Me gusta entender cómo funcionan las cosas por dentro y resolver los problemas con pragmatismo.

Foto de Nicolás Vegas

Lo que aporto

  1. Análisis de problemas.

    • Estudio el impacto y las alternativas para plantear una solución de manera pragmática.
  2. Sistemas resilientes.

    • Los fallos van a ocurrir. Los preveo y diseño para que el sistema los aguante.
  3. Mantenibilidad.

    • Me preocupa que el sistema se pueda seguir cambiando dentro de dos años, sin añadir complejidad que aún no hace falta.
  4. Trabajo en equipo.

    • El buen software se hace en equipo. Comparto lo que aprendo, también en píldoras y laboratorios.

Trayectoria

  1. Tenerife

    Estudié Ingeniería Informática.

    En mis prácticas en Lean Mind aprendí DDD, arquitectura y TDD, y lo apliqué en mi TFG: una herramienta web para ejecutar algoritmos de optimización de transporte.

    Leer mi TFG →

    Universidad de La Laguna · Grado en Ingeniería Informática –

  2. Tenerife

    Trabajé en una plataforma de KPIs y en su visualizador.

    Trabajos asíncronos programados, con ingesta de datos SQL, y dashboards interactivos para directivos.

    Bitbox · Ingeniero de Software · Retail internacional –

  3. Madrid, en remoto

    Me moví a la banca para especializarme en procesamiento intensivo de datos.

    Desarrollo de una plataforma de reclamaciones y cálculo de informes de riesgos.

    Inetum · Ingeniero de Software · Banca central –

  4. Tenerife

    Me incorporé a Lean Mind como ingeniero de software senior.

    Desarrollo de trabajos asíncronos de facturación electrónica y de librerías criptográficas multiplataforma.

    Lean Mind · Ingeniero de Software Senior – Actualidad

Lo que conozco

  1. Backend

    • Más allá del CRUD: alta concurrencia, sistemas asíncronos, procesamiento de datos con jobs programados, autenticación y autorización, con gestión de fallos desde el diseño.
    • Java
    • Spring
    • Spring Batch
    • Python
    • Node
    • .NET
    • C++
    • RabbitMQ

    1.000.000registros en 5 minutos

    Lectura de archivo y escritura selectiva, en lotes de 1.000 registros. La trama ilustra el procesamiento por lotes.
  2. Frontend

    • Construyo interfaces de principio a fin: manejo del estado, caché de peticiones, rutas protegidas y paginación.
    • TypeScript
    • React
    • React Native
    • Redux
    • TanStack Query
    • UX/UI… ya se me complica

    ≈10 s a ≈2 smenos espera al cargar

    Esquema ilustrativo: la primera visita a una pantalla espera a que se resuelvan sus peticiones; las siguientes reutilizan las respuestas guardadas y tardan menos.
  3. Bases de datos

    • Diseño para el volumen cuando el problema lo requiere: índices, particionado e integridad referencial dentro de cada base de datos.
    • PostgreSQL
    • Oracle
    • MongoDB
    • S3
    • Object storage

    +100K a 4páginas de PostgreSQL leídas para encontrar 1 fila entre 10 millones

    Sin índice, la consulta lee todas las páginas de la tabla. Con índice, recorre tres niveles del índice hasta la página donde está la fila, lee esa página y toma la fila dentro de ella.
  4. Infraestructura

    • Entiendo cómo llega mi código a producción: pipelines, imágenes, despliegues en Kubernetes y AWS, y diagnóstico de fallos.
    • Kubernetes
    • OpenShift
    • ArgoCD
    • Docker
    • GitHub Actions
    • Jenkins
    • AWS
    • Graylog

    0 downtimeal desplegar una nueva versión

    Un Deployment de dos réplicas pasa de la versión 1 a la 2: cada pod nuevo arranca y, solo cuando está sano, se elimina uno antiguo.
  5. IA

    • La IA forma parte de mi forma de desarrollar: asistentes de código, skills y agentes especializados.
    • Claude Code
    • Codex
    • Copilot
    • Agentes
    • Skills

    Guardarraílesen la memoria de cada agente, no solo en un repositorio

    Esquema ilustrativo: Claude Code y Codex parten de mis reglas, trabajan a la vez y su trabajo termina en mi revisión.