Saltar al contenido principal
Licenciado en Sistemas · Backend & Full Stack
Disponible para roles de Full Stack / Backend Engineer

Hola, soy Julián Zabala
Lic. en Sistemas & Backend Engineer.

Diseño sistemas de software escalables y resilientes para entornos de producción. Especializado en Node.js, SQL Server, PostgreSQL, ORMs (Sequelize, Prisma), AWS (EC2, S3, Route 53), Swagger, Angular 17 y React.

Explorar Proyectos
Tecnologías Principales
Node.js & TypeScriptAWS (EC2, S3, Route 53)SQL Server & PostgreSQLSequelize & PrismaDocker & RedisAngular 17 & React
Julián Zabala - Licenciado en Sistemas & Backend Engineer
Disponible Remoto
Lic. en Sistemas
</> engineer.ts
Producción OK
const engineer = {
name: "Julián Zabala",
degree: "Lic. en Sistemas",
focus: "Backend & Resiliencia",
experience: "4+ Años"
};
01
+100
Endpoints en Producción
Arquitectura por capas con inyección IoC (tsyringe, ~90 servicios)
02
+100
Tests Automatizados
Suites con Jest y SuperTest asegurando calidad continua
03
ACID & Event Bus
Consistencia de Datos
CQRS-lite sincronizando SQL Server con Firebase y Outbox Pattern
04
4+ Años
Experiencia en Producción
Desarrollo en KipBip y Net Servicios Informáticos
Perfil & Filosofía de Ingeniería

Más que escribir código: diseñar soluciones robustas que soporten el crecimiento del negocio.

Soy Licenciado en Sistemas y desarrollador Full Stack con fuerte especialización en Backend, arquitectura por capas y sistemas distribuidos. Mi formación universitaria en Ciencias de la Computación y Sistemas me otorga una comprensión rigurosa de algoritmos, estructuras de datos, transaccionalidad ACID y modelos de concurrencia, que aplico a diario en sistemas que manejan alta disponibilidad y criticidad operativa.

Trabajo con foco en mantenibilidad a largo plazo: código desacoplado mediante inversión de dependencias, tipado exhaustivo, documentación de APIs bajo contratos formales (OpenAPI/Swagger) y despliegues reproducibles con servicios en la nube (AWS EC2, S3, Route 53).

Licenciado en Sistemas

Formación universitaria completa: teoría de sistemas, diseño de bases de datos, algoritmos de grafos y ruteo, y metodologías de ingeniería de software.

Rigor académico · Soluciones formales

Deploy en AWS

Herramientas de AWS en producción: instancias EC2 para servicios backend, buckets S3 para almacenamiento seguro de activos y Route 53 para DNS y enrutamiento con alta disponibilidad.

EC2 · S3 · Route 53

Documentación Swagger

Especificación OpenAPI 3.0 con Swagger: contratos formales de endpoints REST, esquemas interactivos de request/response y tipado estricto para sincronía perfecta con frontend.

Contratos sin ambigüedades · OpenAPI

ORMs: Sequelize & Prisma

Capa de datos robusta: mapeo objeto-relacional con Sequelize y Prisma, control de migraciones, transacciones atómicas y prevención rigurosa de cuellos de botella y consultas N+1.

Sequelize · Prisma · Type-safe queries

Cómo pienso

Pienso en sistemas y flujos de datos antes de tocar el teclado. Analizo las invariantes de negocio, los posibles puntos de fallo (red, base de datos, servicios externos) y cómo recuperarse con elegancia sin corromper el estado.

Trade-offs deliberados · Sin atajos frágiles

Cómo trabajo

Código limpio, estructurado y testeado. Automatizo los pipelines de CI/CD para que cada cambio pase por lint, typecheck y tests de integración con Docker. Creo en la comunicación transparente y la documentación clara en arquitectura.

CI/CD estricto · Pirámide de pruebas

Qué me motiva

Resolver problemas técnicos complejos donde la escala importe. Entender las entrañas de los motores (el WAL de PostgreSQL, el event loop de Node, los protocolos AMQP) y aplicar ingeniería deliberada que aporte valor directo al negocio.

Curiosidad continua · Mentalidad Senior

Principios de Ingeniería que Guían Mis Decisiones

Criterios innegociables aplicados en cada feature y refactorización.

01

Integridad de Datos sobre Conveniencia

En sistemas transaccionales, la consistencia eventual debe ser deliberada, no un accidente. Prefiero transacciones ACID y aislamiento estricto en SQL Server o PostgreSQL antes que delegar la coherencia a la capa de aplicación.

02

Diseño para el Fallo e Idempotencia

En redes distribuidas y colas de mensajería (RabbitMQ, BullMQ), los mensajes se retrasan, se duplican o se reintentan. Diseñar con Transactional Outbox, Dead Letter Queues y cache-aside en Redis previene inconsistencias y saturación.

03

Arquitectura en Capas y Monolito Modular

Separación rigurosa de responsabilidades (Routes → Controllers → Services → Repositories). Utilizo contenedores IoC (tsyringe) y Bounded Contexts (DDD-lite) para crear sistemas altamente cohesivos, testeables y fáciles de escalar.

04

Observabilidad y Calidad Automatizada

Un fallo no detectado en un test de integración es una deuda en producción. Más de 100 tests automatizados con Jest y SuperTest, CI/CD continuo y telemetría en tiempo real (SSE) garantizan estabilidad y deploys seguros.

Proyectos Destacados · Ingeniería en Producción

Proyectos Destacados: Arquitectura & Trade-Offs

No son simples clones ni interfaces con datos falsos. Cada proyecto está documentado con el problema real, decisiones técnicas justificadas, alternativas descartadas y resultados medidos.

4 Proyectos Destacados
01Distributed Systems
Integración multi-ERP tolerante a fallos, telemetría SSE en vivo y encriptación AES-256-GCM

pk-connector — Plataforma de Integración iPaaS / ELT On-Premise

Motor ELT asíncrono para integrar sistemas empresariales (SAP S/4HANA, Solera RNA, Roadnet) con RabbitMQ y Redis.

Node.jsTypeScriptRabbitMQRedisDockerServer-Sent EventsAES-256-GCMJestSuperTest
GitHubGitLab
02Backend Core
+100 endpoints REST en producción, cubiertos por +100 tests automatizados con Jest y SuperTest

Sistema de Ruteo Logístico & Event Bus Transaccional

Arquitectura por capas con contenedor IoC (tsyringe, ~90 servicios), Event Bus CQRS-lite y Angular 17 multi-tenant.

Node.jsTypeScriptExpresstsyringe (IoC)SQL ServerFirebaseAngular 17DockerJestSuperTest
GitHubGitLab
03Backend Core
Prevención total de colisiones en reservas y validación tipada estricta end-to-end

VínculoSalud — Gestión de Turnos para el Sector Salud

Arquitectura en capas con Chain of Responsibility, Unit of Work y Query Builder dinámico protegido.

Node.jsExpressTypeScriptPostgreSQL (Sequelize)React 19ViteTanStack QueryZustand
GitHubGitLab
04Full Stack Platform
Primera versión en producción con CI/CD (Railway + Vercel) y entrega at-least-once sin duplicados

GeCe Comercial — ERP/POS para Comercios

Monolito modular por dominio (DDD-lite), Transactional Outbox y frontend React con separación estricta de estado.

Node.jsExpress 5TypeScriptPostgreSQL (Sequelize)RedisBullMQReactTypeScriptViteReact QueryZustandRailwayVercelArgon2
GitHubGitLab
Diseño de Sistemas & Patrones

Arquitectura y Buenas Prácticas de Ingeniería

Patrones no por moda, sino por necesidad técnica. Cómo abordo la consistencia de datos, desacoplamiento de microservicios, contención de concurrencia y resiliencia en backend.

Consistencia y Eventos
PostgreSQLRabbitMQNode.js WorkersACID Transactions

Transactional Outbox Pattern

Garantiza la publicación atómica de eventos en brokers de mensajería (RabbitMQ) junto con cambios en la base de datos relacional sin usar transacciones distribuidas (2PC).

El Problema en Sistemas de Producción

Al actualizar la base de datos y luego publicar a RabbitMQ, si el proceso o la red fallan entre medio, se produce una inconsistencia irrecuperable: o la base de datos cambia y el evento no se envía, o el evento se envía y la base de datos hace ROLLBACK.

Solución de Ingeniería

Persistir los eventos de dominio en una tabla auxiliar `outbox_events` dentro de la misma transacción ACID de la base de datos. Un proceso relay (worker) separado lee los eventos no publicados, los envía al broker y los marca como entregados.

Trade-Offs & Costos de Implementación
  • Añade latencia mínima entre el guardado y la publicación (polling o change data capture).
  • Requiere que los consumidores sean idempotentes, ya que la entrega garantizada es "at-least-once".
patron-implementacion.ts
// Transacción Atómica
await db.transaction(async (trx) => {
  // 1. Mutar estado de negocio
  const order = await trx('orders').insert(orderData).returning('*');
  
  // 2. Insertar evento en Outbox (mismo commit)
  await trx('outbox_events').insert({
    aggregate_id: order.id,
    event_type: 'ORDER_CREATED',
    payload: JSON.stringify(order),
    status: 'PENDING'
  });
});
// 3. Worker independiente lee PENDING y envía a RabbitMQ con ACK
Clean Architecture · TypeScript Producción validada
Post-Mortems & Troubleshooting Real

Casos de Estudio: Mi Proceso para Resolver Incidentes Críticos

Un Tech Lead evalúa cómo razona un ingeniero bajo presión. Aquí detallo incidentes reales de producción: los síntomas detectados, las hipótesis descartadas, la causa raíz encontrada y las medidas definitivas aplicadas.

Trayectoria & Desafíos Reales

Experiencia Profesional: Decisiones e Impacto

No una lista pasiva de tareas diarias. En cada etapa destaco los desafíos técnicos que enfrenté, las decisiones de arquitectura que tomé y los resultados cuantitativos entregados a la empresa.

KipBip

Desarrollador Full Stack

2022 – ActualidadRemoto · ArgentinaEquipo de ingeniería multidisciplinario
Contexto de negocio: Plataforma empresarial de ruteo logístico de alta concurrencia y middleware iPaaS/ELT on-premise para integración con grandes sistemas ERP corporativos.
Sistemas e Iniciativas Clave Desarrolladas:

Sistema de Ruteo Logístico (Node.js, TypeScript, Express + Angular 17)

  • Diseñé y mantengo el backend en arquitectura por capas (Routes → Controllers → Services → Repositories) con inyección de dependencias vía contenedor IoC (tsyringe, ~90 servicios): más de 100 endpoints REST en producción, cubiertos por más de 100 tests automatizados con Jest y SuperTest.
  • Implementé un Event Bus de dominio (patrón Observer/Pub-Sub) que sincroniza SQL Server con Firebase en tiempo real bajo un esquema CQRS-lite, con reintentos con backoff exponencial ante fallos.
  • Lideré la migración del almacenamiento de Firebase a SQL Server, reduciendo costos de infraestructura y sumando integridad transaccional (ACID).
  • Desarrollé el frontend en Angular 17 con arquitectura modular y lazy loading, interceptores HTTP para autenticación JWT multi-tenant, route guards por rol y soporte white-label para múltiples marcas.

pk-connector — Plataforma de Integración iPaaS / ELT On-Premise

  • Diseñé un motor ELT asíncrono para integrar sistemas empresariales (SAP S/4HANA, Solera RNA, Roadnet), aplicando Strategy + Factory para incorporar nuevas integraciones sin modificar el núcleo (Open/Closed).
  • Construí el procesamiento distribuido con RabbitMQ (competing consumers, Dead Letter Queues) y manejo diferenciado de errores transitorios vs. terminales para tolerancia a fallos.
  • Optimicé el rendimiento con cache-aside en Redis, monitoreo en tiempo real vía Server-Sent Events y protección de credenciales con encriptación AES-256-GCM.
Desafíos Técnicos
  • Garantizar la estabilidad y desacoplamiento de más de 90 servicios inyectados en el backend mediante contenedor IoC (tsyringe) sin dependencias circulares.
  • Sincronización tolerante a fallos entre el almacenamiento transaccional (SQL Server) y el feed en tiempo real (Firebase) ante microcortes de red.
  • Integración con ERPs corporativos cerrados y legacy on-premise (SAP, Solera, Roadnet) con APIs heterogéneas y estrictas políticas de seguridad.
Decisiones de Arquitectura
  • Adopción de contenedor IoC (tsyringe) para inyección de dependencias estricta en ~90 servicios organizados por capas.
  • Diseño de Event Bus de dominio (Observer/Pub-Sub) con esquema CQRS-lite y reintentos con backoff exponencial.
  • Migración estratégica de base de datos desde Firebase Firestore a SQL Server con soporte ACID y reducción de costos.
  • Motor ELT con patrones Strategy + Factory para adherir a Open/Closed al integrar nuevos ERPs.
  • Procesamiento asíncrono distribuido con RabbitMQ (competing consumers + DLQ) y cache-aside en Redis con AES-256-GCM.
Impacto Cuantitativo
  • Más de 100 endpoints REST en producción respaldados por una suite de +100 tests automatizados con Jest y SuperTest.
  • Reducción drástica de costos de infraestructura y ganancia de integridad transaccional ACID con SQL Server.
  • Procesamiento continuo y resiliente de eventos de integración empresarial hacia SAP S/4HANA, Solera RNA y Roadnet.
  • Arquitectura frontend multi-tenant en Angular 17 con soporte white-label para múltiples marcas.
Node.jsTypeScriptExpresstsyringe (IoC)SQL ServerFirebaseRabbitMQRedisAngular 17DockerJestSuperTestAES-256-GCMServer-Sent Events
Net Servicios Informáticos

Desarrollador de Software

2020 – 2022ArgentinaEquipo de soporte y desarrollo
Contexto de negocio: Consultoría y desarrollo de software de gestión, infraestructura y soporte informático integral para fábricas, industrias y comercios.
Desafíos Técnicos
  • Relevamiento directo de requerimientos de clientes comerciales e industriales y traducción técnica a especificaciones funcionales.
  • Resolución ágil de incidencias en entornos productivos críticos donde las fallas paralizaban la operatoria comercial.
  • Optimización de tiempos de respuesta en consultas SQL sobre bases de datos relacionales en crecimiento.
Decisiones de Arquitectura
  • Análisis y optimización de consultas SQL críticas, eliminando cuellos de botella mediante planes de ejecución e indexación selectiva.
  • Desarrollo modular de nuevas funcionalidades asegurando compatibilidad hacia atrás y estabilidad del sistema.
  • Establecimiento de protocolos de diagnóstico rápido para reducir el tiempo medio de resolución de incidencias en campo.
Impacto Cuantitativo
  • Gestión exitosa de cartera de clientes comerciales e industriales asegurando continuidad operativa ininterrumpida.
  • Optimización de rendimiento en consultas y reportes SQL críticos del sistema.
  • Resolución de incidencias en plazos reducidos con alta fidelización y satisfacción del cliente.
SQLOptimización de Consultas SQLSoporte en CampoRelevamiento de RequerimientosMantenimiento de SistemasBases de Datos Relacionales
Competencias & Profundidad Técnica

Stack Tecnológico con Criterio de Selección

No colecciono logos en un grid pasivo. Cada herramienta en mi stack tiene una justificación técnica basada en sus garantías de consistencia, rendimiento y mantenibilidad.

Backend & Sistemas Distribuidos

Mi núcleo principal de especialización: diseño de servicios tolerantes a fallos, procesamiento asíncrono y concurrencia.

Node.jsCore

Event loop, streams, optimización de memoria, clustering y profiling

Express 5Core

Middlewares de seguridad, Chain of Responsibility, RESTful APIs

RabbitMQAvanzado

Competing consumers, DLX/DLQ, colas de prioridad, backpressure y ACKs

RedisAvanzado

Cache-aside, distributed locks, pub/sub, tokens atómicos y TTL

BullMQCore

Workers asíncronos con Redis, reintentos con backoff exponencial y dead-letter

Server-Sent Events (SSE)Avanzado

Telemetría unidireccional en tiempo real para monitoreo de pipelines

Criterio SeniorSin dependencias frágiles

Bases de Datos, Almacenamiento & ORMs

Enfoque en consistencia ACID, diseño de esquemas normalizados, mapeo objeto-relacional y optimización profunda de consultas.

SQL ServerCore

Integridad transaccional ACID, migraciones en producción y sincronización

PostgreSQLCore

Transacciones ACID, FOR UPDATE SKIP LOCKED, índices avanzados

SequelizeCore

ORMs relacionales, query builders tipados, transacciones gestionadas y asociaciones

PrismaCore

Modelado relacional declarativo, migraciones automáticas y cliente 100% type-safe

Optimización SQLAvanzado

EXPLAIN ANALYZE, planes de ejecución, índices parciales y compuestos

Firebase / FirestoreSólido

Sincronización de estado en tiempo real bajo esquemas CQRS-lite

Criterio SeniorSin dependencias frágiles

Arquitectura & Patrones

Estructuras de software probadas para mantener código desacoplado, testeable y mantenible en el tiempo.

Arquitectura en Capas (Routes → Controllers → Services → Repositories)Core

Separación estricta con inyección de dependencias IoC (tsyringe, ~90 servicios)

Monolito Modular (DDD-lite)Core

Organización por Bounded Contexts preparada para extracción a microservicios

Transactional Outbox PatternAvanzado

Consistencia at-least-once sin dual-write en auditoría y brokers de mensajería

Event Bus de Dominio (CQRS-lite)Core

Sincronización Observer/Pub-Sub entre almacenamiento relacional y tiempo real

Strategy + Factory (Open/Closed)Core

Incorporación de nuevas integraciones ERP (SAP, Solera, Roadnet) sin alterar el core

Unit of Work & Chain of ResponsibilityCore

Transaccionalidad en reservas críticas y pipelines de validación estricta

Criterio SeniorSin dependencias frágiles

Testing Automatizado & Calidad

Pirámide de testing completa como garantía de refactorización segura y estabilidad continua.

JestCore

Más de 100 tests unitarios y de integración en producción con mocks estrictos

SuperTestCore

Tests de integración de endpoints HTTP contra bases de datos reales

CI/CD TestingCore

Ejecución automática de suites de pruebas antes de cada merge y despliegue

Criterio SeniorSin dependencias frágiles

Cloud, Deploy & DevOps

Herramientas de despliegue en la nube, infraestructura como código y automatización del ciclo de vida.

AWS (EC2, S3, Route 53)Core

Deploy en producción: EC2 para backend, S3 para assets/storage duradero y Route 53 para DNS

Docker & Docker ComposeCore

Contenedores multi-etapa para entornos de desarrollo y testing reproducibles

Railway & VercelCore

Despliegues continuos automatizados para backend y frontend en producción

GitLab CI/CD & GitHub ActionsAvanzado

Pipelines automatizados de linting, testing, build y entrega continua

Seguridad en BackendAvanzado

Argon2, cifrado AES-256-GCM para credenciales, JWT multi-tenant, RBAC y OWASP

Criterio SeniorSin dependencias frágiles

Documentación & Contratos de API

Definición de especificaciones estrictas para interoperabilidad clara entre frontend, backend y terceros.

Swagger / OpenAPI 3.0Core

Documentación interactiva de APIs REST, contratos formales y validación de esquemas

Contratos TypeScriptCore

Interfaces compartidas y tipado estricto entre cliente y servidor sin discrepancias

Criterio SeniorSin dependencias frágiles

Frontend & UI Engineering

Capacidad para construir interfaces modernas, modulares y de alto rendimiento.

Angular 17Core

Arquitectura modular, lazy loading, interceptores HTTP, route guards y soporte white-label

React 19 & React 18Core

Arquitectura feature-based, hooks avanzados y componentes de alta interactividad

TanStack Query / React QueryCore

Separación estricta de server-state, caché reactiva y revalidación en segundo plano

ZustandCore

Client-state liviano y atómico sin boilerplate innecesario

TailwindCSS & ViteCore

Tooling ultrarrápido y sistemas de diseño adaptables

Criterio SeniorSin dependencias frágiles

IA Aplicada a la Ingeniería

Aceleración del ciclo de vida del desarrollo y diseño de flujos asistidos con modelos de lenguaje.

Claude Code & AI CLICore

Integración en terminal con Claude Code para refactorización, code review y debugging exhaustivo

Harness EngineeringAvanzado

Diseño e implementación de arneses de pruebas (test harnesses) para evaluación determinista y validación de agentes

Generación de Tests con LLMsAvanzado

Diseño de suites de edge cases, test mutation y prompts estructurados

Tooling & Automatizaciones CLICore

Scaffolding automatizado de capas de Clean Architecture y verificación estática

Criterio SeniorSin dependencias frágiles
Código Abierto & Versionado

Ecosistema en GitHub & GitLab

Consistencia y rigor de ingeniería. Código estructurado, Conventional Commits, pipelines automatizados de CI/CD con jobs en GitLab y GitHub Actions.

1,420+contribuciones en el último año
145 díasracha activa de commits
99.4%éxito en GitLab Pipelines & Jobs
MenosMás
Conventional Commits: feat, fix, refactor, test, perfPipelines con stages de lint, test, build y Docker image packaging
GitHub & GitLab
48 12

gece-comercial

ERP/POS para comercios. Monolito modular por dominio (DDD-lite), Transactional Outbox con BullMQ, PostgreSQL, Redis y React.

outbox-patternbullmqpostgresqlddd-litereactrailway
TypeScript
GitHub & GitLab
34 8

vinculosalud

Gestión de turnos para el sector salud. Chain of Responsibility, Unit of Work, Query Builder dinámico protegido y React 19.

expressunit-of-workquery-builderreact-19sequelize
TypeScript
GitHub & GitLab
27 5

pk-connector

Plataforma iPaaS/ELT on-premise con Strategy + Factory (Open/Closed), RabbitMQ, Redis cache-aside y SSE.

rabbitmqredisssestrategy-patternaes-256-gcm
TypeScript
Actualmente disponible para nuevas oportunidades

Iniciemos una conversación técnica

Si tu equipo busca un Software Engineer comprometido con la calidad, la integridad de los datos y el diseño de sistemas escalables, me encantará conversar.

Enviar Correo
ZONA & MODALIDADRemoto Global (UTC-3)
REDES & CÓDIGO
HERRAMIENTA RECRUITER