Imagen del perfil de Nico Vegas
Acerca

Nico Vegas

Software Crafters

Sobre mí

Soy ingeniero de software. Me motiva resolver problemas y entender los sistemas en profundidad para aportar valor con propósito.

Creo en la filosofía DevOps como una forma de acompañar al software a lo largo de todo su ciclo de vida, no solo durante su construcción. Me interesa especialmente cómo se interconectan los sistemas y cómo diseñar soluciones que aprovechen al máximo los recursos disponibles, manteniendo siempre el equilibrio entre eficiencia y mantenibilidad.

Filosofía de trabajo

Aplico TDD desde el principio, no solo como práctica de testing, sino también como herramienta para diseñar mejor y avanzar con más seguridad.

Antes de modificar o construir algo, invierto tiempo en entender el contexto: qué hace ese código, por qué existe así y qué puede romperse. Creo que esa comprensión previa cambia completamente la calidad de las decisiones.

La deuda técnica no intento ignorarla; prefiero documentarla. Me gusta dejar registrado el motivo detrás de cada decisión comprometida para que el equipo pueda tenerla en cuenta y no se convierta en una trampa invisible con el paso del tiempo.

En las revisiones de código priorizo la consistencia por encima de las preferencias personales. El objetivo no es imponer criterio, sino ayudar a que el equipo avance de forma coherente y predecible, reduciendo problemas derivados de inconsistencias acumuladas.

Áreas de interés

Me interesan especialmente los sistemas de procesamiento de datos a gran escala: cómo se diseñan, cómo se monitorizan cuando algo falla y qué tradeoffs existen detrás de cada decisión arquitectónica.

La observabilidad es otro de los temas que más me llaman la atención, no como una capa añadida al final del proyecto, sino como parte del diseño desde el principio.

También sigo de cerca la aplicación práctica de IA en sistemas reales, algo que ya he explorado en proyectos propios integrando modelos de visión para clasificación automatizada de datos.

Actualmente estoy consolidando criterio en backend, datos y frontend antes de profundizar todavía más en cloud y Kubernetes. No me interesa solo utilizar herramientas, sino entender qué problemas resuelven y cuándo no son la solución adecuada.

Experiencia

Full Stack

Comencé desarrollando aplicaciones de procesamiento de datos para sistemas operacionales de gran escala. Mi trabajo se centró en pipelines ETL que manejaban cientos de miles de registros diarios, integrando múltiples fuentes de datos hacia bases de datos relacionales con requisitos estrictos de calidad y rendimiento.

Además del backend, desarrollé interfaces para que los equipos de negocio pudiesen monitorizar métricas en tiempo real, lo que me permitió entender cómo el dato recorre todo el sistema: desde la fuente hasta la pantalla de quienes toman decisiones.

Durante esta etapa consolidé mis fundamentos en Spring Boot y Spring Batch, optimicé esquemas y consultas en PostgreSQL y trabajé con mis primeros flujos de CI/CD utilizando Jenkins y Docker.

Data Engineer

Más adelante trabajé en sistemas críticos de procesamiento de datos financieros, donde el margen de error es mínimo y el volumen supera el millón de transacciones diarias.

Ese contexto me llevó a diseñar con mayor rigor utilizando arquitectura hexagonal, DDD, CQRS y sistemas tolerantes a fallos. Aprendí a modelar lógica de dominio compleja y a construir componentes orientados a eventos para sincronizar microservicios en tiempo real.

Fue también la etapa en la que interioricé que la arquitectura no es un fin en sí mismo, sino una herramienta para sostener la fiabilidad y evolución del sistema a largo plazo.

Tecnologías

Lenguajes: Java, Python, SQL, JavaScript, TypeScript

Backend: Spring Boot, Spring Batch, Spring Security, Hibernate/JPA, Django, FastAPI

Frontend: React

Bases de datos: PostgreSQL, SQL Server, Oracle, MongoDB

Mensajería: RabbitMQ, Apache Kafka

Cloud y DevOps: AWS (EC2, S3, RDS, Lambda, CloudWatch, IAM), Docker, Jenkins, Nginx

Arquitectura: Microservicios, Arquitectura Hexagonal, DDD, CQRS, Event-Driven