01 / INICIO
Backend Developer · Open to work

BACKEND
EVENT-DRIVEN.
0 TIMEOUTS.

Diseñado para no romper bajo carga real. APIs, workers y colas distribuidas que funcionan en producción — no prototipos. 7+ años, 8 sistemas activos.

02 / PERFIL
Oscar David Ortiz Paez

Oscar Ortiz

Backend & Fullstack Developer

Node.js NestJS MongoDB TypeScript
Disponible · Colombia
03 / SOBRE MÍ

Lo que
construyo.

Autodidacta desde los 17. Sin universidad. Sin bootcamp. Construí sistemas reales porque necesitaba resolver problemas reales: primero los míos, después los de otros.

NestJS en Producción

Módulos, guards, interceptors y pipes en sistemas con tráfico real.

Event-Driven

BullMQ + Redis: workers, colas y reintentos automáticos para operaciones asíncronas.

Data Layer Real

PostgreSQL con migraciones, índices optimizados y MongoDB para datos flexibles.

Deploy Completo

Docker Compose, variables de entorno, CI básico y deploys sin downtime.

04 / STATS
7+ Años Dev.
05 / STATS
20+ Proyectos
06 / RECORRIDO

Currículum.

Explora mi trayectoria técnica, stack y experiencia construyendo sistemas reales.

0X / ORIGEN

Autodidacta.
Sin universidad.
Sistemas reales.

Empecé a programar solo, leyendo documentación, resolviendo errores sin Stack Overflow en el idioma correcto, entendiendo capa por capa cómo funciona un sistema distribuido.

No hubo bootcamp ni carrera formal. Hubo proyectos reales que fallaban en producción y que aprendí a no romper dos veces. Cada sistema que construí me enseñó algo que ningún curso habría podido enseñar en el mismo tiempo.

"El mejor maestro es un sistema que falla a las 3am."

Autodidacta total

Documentación oficial, errores en producción y proyectos reales como único profesor.

8 sistemas activos hoy

No proyectos de práctica. Sistemas que procesan eventos y sirven usuarios reales ahora mismo.

Iniciativa propia

Cada proyecto nació de un problema real. Diseño, arquitecturo, construyo y despliego solo.

07 / ENFOQUE

Cómo pienso
como engineer.

Aplicado a proyectos reales

Diseño orientado a eventos

Webhook recibido → BullMQ → worker desacoplado. El API responde en <50ms y el procesamiento ocurre sin bloquear nada.

Idempotencia en sistemas distribuidos

Cada job tiene ID único. Redis + MongoDB garantizan que un evento procesado dos veces no genera efecto doble. Sin duplicados, sin rollbacks manuales.

Fallos como parte del diseño

DLQ configurado. Retries con backoff exponencial. Circuit breaker en servicios externos. Los fallos se registran, no se ignoran.

09 / ÁREAS

Áreas de Trabajo.

APIs REST &amp; Backend
Admin Panels &amp; CRMs
Bots &amp; Automatización
Sistemas de Pagos
08 / CRITERIO TÉCNICO

Cómo pienso como
backend engineer.

No teoría — producción real.

API / Worker separados

El API valida y encola. El worker procesa. Event loop libre.

Idempotencia por defecto

jobId = webhook ID. Mismo evento 2× = mismo resultado.

DLQ + Retries explícitos

Backoff exponencial. removeOnFail: false. Fallos auditables.

Separación de concerns

Cambiar el transporte no rompe la lógica de negocio.

Observabilidad desde el día 0

RequestId, Pino, métricas de cola. Debug en prod sin SSH.

webhook.controller.ts NestJS + BullMQ
// API Layer — valida + encola (ACK < 50ms)
@Post('webhook/:id')
async handle(@Param('id') id: string, @Body() dto) {
  await this.queue.add('process', { id, ...dto }, {
    jobId: id,         // idempotency key
    attempts: 3,
    backoff: { type: 'exponential', delay: 1000 },
    removeOnFail: false,  // → DLQ
  });
  return { ack: true }; // never blocks
}

// Worker — proceso desacoplado del API
@Processor('webhooks')
async process(job: Job) {
  // lógica real, aislada del event loop
  await this.service.handle(job.data);
}
10 / TECNOLOGÍAS

Stack Tecnológico Principal

NestJS
Node.js
TypeScript
React
Next.js
PostgreSQL
MongoDB
Redis
Docker
TailwindCSS
BullMQ
REST APIs
JWT / Auth
Webhooks
PHP
Git & GitHub
Linux

Disponible ahora · Colombia

Remote Backend Fullstack Freelance LATAM Worldwide

¿Tienes un proyecto complejo
o un backend que necesita escalar?

Hablemos. Puedo explicarte la arquitectura en una llamada. Disponible para roles backend / fullstack, contratos remotos y proyectos freelance. Sin intermediarios.