Abierto a roles de analítica, datos, IA e ingeniería — Bogotá y remoto

Gobierno de datos · Ciencia de datos · Ingeniería de IA

Gobierno datos a escala corporativa y construyo lo que corre encima.

Soy Oscar Ordoñez, Científico de la Computación de la Universidad Nacional de Colombia. Hoy hago gobierno del ciclo de vida del dato sobre el ecosistema de Claro Colombia; antes construí el modelo de rentabilidad de la unidad adquirente de BBVA sobre AWS y un agente de IA de punta a punta en Softgic. Por fuera del horario escribo motores voxel y protocolos de red que corren dentro del navegador.

Claro · BBVA Gobierno de datos en telco, rentabilidad y BI en banca
Databricks · AWS Unity Catalog, Delta Lake, SageMaker, Athena, PySpark
UNAL · 2025 Ciencias de la Computación (B.S.), Universidad Nacional
Inglés C1 Bogotá, UTC−5: misma jornada que la costa este de EE. UU.

Empieza por la experiencia

Experiencia profesional

Datos, IA y decisiones en operaciones grandes

Telco, banca y consultoría de IA. En los tres casos el trabajo fue el mismo en el fondo: que un dato grande, sucio y disperso sirva para decidir.

Abr 2026 — hoy

Ingeniero de Gobierno de Datos

Grupo CINTE — en misión en Claro Colombia · Bogotá

Gobierno del ciclo de vida del dato sobre un data warehouse multiplataforma: trazabilidad, calidad y estandarización de los activos de información. Desarrollo en Python la auditoría de uso del inventario de datos que detecta objetos redundantes, y aplico LLMs con muestreo estadístico para catalogar, clasificar y enriquecer metadatos a gran escala. Definí las políticas de uso, acceso e incidentes para los entornos analíticos en Databricks.

DatabricksUnity Catalog PythonLLMs DAMA-DMBOK2DCAM v2.2 ISO 25012Scrum

Ene — Feb 2026

Desarrollador de Inteligencia Artificial (contratista)

Softgic · Colombia

Construí un agente de IA de punta a punta, integrando LLMs con flujos de automatización para resolver casos de uso de negocio. Diseñé y orquesté los workflows en n8n que conectan APIs, fuentes de datos y servicios de IA, con SQL intensivo detrás del comportamiento del agente.

LLMsAgentes de IA n8nSQLAPIs

Mar 2025 — Ene 2026

Data Analyst Specialist · Business Intelligence

BBVA Colombia · Client Solutions · Bogotá

Diseñé e implementé el modelo de rentabilidad (P&L) de la unidad adquirente sobre AWS —SageMaker, Athena, S3— procesando grandes volúmenes de datos transaccionales. Desarrollé los pipelines ETL/ELT en PySpark y SQL avanzado, los tableros de KPIs en MicroStrategy y Apps Script, y modelos predictivos en Python para decisiones financieras y comerciales.

AWSPySparkSQL MicroStrategyScikit-learn GenAI

Sep 2024 — Feb 2025

Practicante · Rentabilidad

BBVA Colombia · Client Solutions · Bogotá

Práctica profesional en el área de Rentabilidad. Automaticé tareas operativas recurrentes del equipo, reemplazando por rutinas automáticas procedimientos que hasta entonces se ejecutaban a mano, y di soporte a la operación de banca minorista dentro de la unidad.

Automatización de procesos Banca minorista Soporte operativo

Ene 2023 — hoy

Desarrollador de software, IA y videojuegos

OdobGames · estudio propio

Desarrollo móvil en Unity (C#) y prototipado en Unreal Engine (UEFN), llevando el ciclo completo hasta la publicación en tiendas. Automatización interna con n8n e integración de APIs, y desarrollo orientado a datos para mejorar los productos del estudio.

UnityC#UEFN Androidn8n

2019 — 2025

Ciencias de la Computación (B.S.)

Universidad Nacional de Colombia · Bogotá

Algoritmos, inteligencia artificial, aprendizaje automático, criptografía y bases de datos. Es la base que sostiene tanto el trabajo con datos como los proyectos de más abajo.

¿Prefieres el documento completo? Descargar el CV en PDF

Trabajo destacado

Cuatro cosas difíciles, en línea y jugables

Fuera del trabajo con datos construyo sistemas en tiempo real. Los cuatro corren en el navegador, sin instalar nada, y se pueden abrir ahora mismo: no son ejercicios de curso, son sistemas completos que tuve que diseñar de punta a punta.

En vivoProyecto propio, de punta a punta

WebCraft

Un cliente de Minecraft que corre en el navegador y se conecta a servidores de Java Edition.

Implementación propia, no un port ni un envoltorio de un cliente existente. Abres una pestaña, te conectas a un servidor real de Minecraft Java y el mundo aparece: sin instalador, sin launcher y sin máquina virtual de Java.

  1. Hablar el protocolo, byte a byte

    Un servidor de Java Edition espera su propio formato binario: handshake, estados de conexión, compresión y cientos de paquetes que hay que serializar exactamente como los pide.

  2. Un mundo voxel, cuadro a cuadro

    Los chunks llegan comprimidos y hay que decodificarlos, convertirlos en geometría y dibujarlos sin bloquear el hilo que mantiene viva la interfaz.

  3. Red desde una caja cerrada

    El navegador no abre sockets TCP crudos. Llegar hasta un servidor pensado para clientes de escritorio obliga a resolver el transporte sin romper la semántica del protocolo.

  4. Estado que no puede desviarse

    Entidades, bloques e inventario cambian en cada tick del servidor. El cliente debe reflejar esa verdad y recuperarse cuando se desincroniza.

JavaScript Protocolo Minecraft Java Renderizado voxel Programación de red Cloudflare Pages
Animación de una isla voxel que se carga por columnas, evocando la llegada de chunks desde un servidor.

Ilustración renderizada en esta página con un motor isométrico propio: un mundo que se carga chunk a chunk. No es una captura de WebCraft — para verlo de verdad, abre el enlace.

En vivoProyecto propio, de punta a punta

Carritos

Un juego de karts voxel con multijugador en línea, al estilo de Mario Kart.

Carreras contra otras personas en tiempo real, dentro de una pestaña del navegador. Todo el mundo ve la misma carrera aunque cada quien la esté jugando desde una conexión distinta.

  1. Todos en la misma carrera

    Varios jugadores comparten un mundo que debe coincidir para todos, cuadro a cuadro, aunque los paquetes lleguen tarde o desordenados.

  2. La latencia se nota al volante

    Un control que responda exige predecir en el cliente y corregir cuando llega la versión autoritativa, sin que la corrección se sienta como un tirón.

  3. Física que se siente bien

    Derrape, aceleración y colisiones tienen que sentirse bien y verse igual para todos a la vez: la diversión y la exactitud tiran en direcciones opuestas.

  4. Salas y ciclo de partida

    Unirse, empezar, terminar y volver a empezar. Hay que manejar quién entra, quién se cae y qué pasa con la carrera cuando alguien se desconecta.

Multijugador en tiempo real Gráficos voxel Física de juego Sincronización de estado Cloudflare Pages
Animación de karts voxel dando una vuelta a un circuito isométrico.

Escena animada en esta misma página con el motor isométrico del sitio. No es una captura de Carritos — el juego real está a un clic.

En vivoProyecto propio, de punta a punta

Frente de Papel

Un shooter multijugador en primera persona donde el mundo entero está recortado en papel.

Partidas en línea dentro de una pestaña del navegador. El escenario, las coberturas y los jugadores tienen acabado de cartón recortado, y esa decisión no es solo estética: un mundo hecho de formas planas es un mundo que carga en segundos y corre en cualquier portátil.

  1. Primera persona, a la altura de los ojos

    Una cámara en primera persona no perdona: el puntero se captura, la vista tiene que responder en el mismo cuadro en que se mueve el ratón y cualquier tirón se siente al instante.

  2. Un disparo siempre ocurre en el pasado

    Cada jugador ve el mundo con el retraso de su propia conexión. Para que un impacto sea justo hay que reconstruir dónde estaba todo en el instante en que se apretó el gatillo, no dónde está cuando llega el paquete.

  3. Mover a todos, varias veces por segundo

    La posición, la orientación y el estado de cada jugador viajan sin parar. Hay que recortar lo que se envía y rellenar por interpolación lo que no llega, para que el movimiento ajeno se vea continuo y no a saltos.

  4. Que el papel se sostenga solo

    El acabado de cartón se resuelve con geometría, siluetas y luz plana en vez de texturas pesadas: aquí la estética es también el presupuesto de rendimiento.

JavaScript 3D en el navegador Multijugador en tiempo real Compensación de latencia Cloudflare Pages
Animación de una arena de papel recortado con jugadores de dos equipos moviéndose entre coberturas de cartón.

Escena dibujada en esta página con el motor isométrico del sitio, en papel y cartón. No es una captura de Frente de Papel — el juego real está a un clic.

En vivoProyecto propio, de punta a punta

Backrooms Wanderer

Un roguelike de supervivencia en primera persona por pasillos amarillos que no terminan.

Los niveles se generan solos y nunca son los mismos dos veces. Se entra por una pestaña del navegador, se avanza mientras alcancen los recursos y, cuando la partida se acaba, el siguiente intento empieza en un sitio que nadie ha visto antes.

  1. Un espacio que no se acaba

    La generación procedural tiene que producir sitios que de verdad se puedan recorrer: sin salas selladas ni rutas que no llevan a ninguna parte. El azar decide la forma, pero alguien tiene que garantizar que siempre exista un camino.

  2. Un nivel infinito no cabe en memoria

    Si el mundo no termina, no puede existir entero a la vez. Hay que construirlo y desmontarlo alrededor del jugador mientras camina, y que la costura no se note nunca.

  3. El miedo se construye con poco

    La tensión sale de la luz, del sonido y del ritmo, no del detalle. En un lugar donde todo se parece a todo, lo difícil es que el jugador nunca sepa si ya estuvo ahí.

  4. Una partida que se puede perder

    Un roguelike necesita consecuencias: recursos que se agotan, una muerte que cuesta y un mundo distinto al volver a empezar. Sin eso, recorrer pasillos es solo recorrer pasillos.

3D en el navegador Generación procedural Diseño roguelike Primera persona Cloudflare Pages
Animación de un laberinto de habitaciones amarillas con una figura que camina por los pasillos bajo luces que parpadean.

Laberinto generado y dibujado en esta misma página por el motor isométrico del sitio. No es una captura de Backrooms Wanderer — para verlo en primera persona, abre el enlace.

Otros proyectos

Producción, juegos publicados y fundamentos

Escribir un motor es una cosa. Que algo siga funcionando meses después, en una máquina que nadie mira, es otra distinta.

Python · Automatización

Monitor DIAN

Vigila con Chromium headless la página de citas de la DIAN y envía un correo en cuanto se abre un cupo. Corre en tres sitios distintos —un PC, GitHub Actions o una VM con systemd—, saca las credenciales del código a variables de entorno, se instala con un usuario propio y se limpia sola para poder quedarse encendida durante meses.

Ver el repositorio

Unity · C# · Google Play

OdobGames en Google Play

El estudio con el que publiqué tres juegos: Heart Tale, un combate infinito al estilo Undertale; Mordecai Infinite Runner, con marcadores en línea; y 3D Cube Parkour, un parkour voxel con clasificación global. Cada título tiene su ficha pública en la tienda.

Ver el estudio

Web · Front-end

Retro Arcade Games

Una web para jugar clásicos retro gratis, publicada en GitHub Pages. Un ejercicio de hacer que algo cargue rápido, se entienda solo y funcione en cualquier pantalla.

Abrir el arcade

Juego · Gameplay

Survival Tank Game

Un juego de tanques de supervivencia. De la época en la que estaba aprendiendo a separar el bucle de juego de todo lo demás, y se nota en lo que vino después.

Ver el repositorio

UNAL · Ciencias de la Computación

Fundamentos: IA, cripto y datos

Los repositorios del pregrado: proyectos de inteligencia artificial, reconocimiento de dígitos con aprendizaje automático, criptografía y bases de datos. Es la base teórica debajo de todo lo demás en esta página.

Ver los repositorios

Habilidades

La caja de herramientas, por área

Cada grupo apunta a algo que ya viste arriba: un puesto donde lo usé o un proyecto que lo demuestra. Si no lo he usado en algo real, no está en esta lista.

Gobierno de datos

El ciclo de vida del dato en un ecosistema grande: catálogo, calidad, metadatos, linaje y las políticas que hacen que todo eso se sostenga.

Data GovernanceData CatalogData QualityMetadata ManagementData LineageMDMDAMA-DMBOK2DCAM v2.2ISO 25012

Nube y big data

Procesamiento distribuido y almacenamiento analítico sobre volúmenes que no caben en una máquina.

DatabricksUnity CatalogDelta LakeApache SparkPySparkAWS SageMakerAthenaS3TeradataData Warehouse

Ciencia de datos e IA

Modelos que soportan decisiones de negocio, y LLMs puestos a trabajar en tareas concretas en vez de en demos.

PythonPandasNumPyScikit-learnModelado predictivoMachine learningLLMsGenAIPrompt engineeringAgentes de IAn8n

SQL, ETL y modelado

La parte que casi nadie ve y de la que depende todo lo demás: mover el dato, limpiarlo y dejarlo consultable.

SQL avanzadoETL / ELTModelado de datosOptimización de queriesData ProfilingProcesamiento distribuido

Business intelligence

Tableros que alguien realmente usa para decidir, con los KPIs que importan y no los que son fáciles de graficar.

MicroStrategyGoogle Apps ScriptVisualización de datosKPIsDashboards ejecutivos

Ingeniería de software y tiempo real

El otro lado: motores voxel, protocolos binarios y juegos publicados. El renderizador de esta página lo escribí sin librerías.

PythonC#UnityUEFNJavaScriptRenderizado voxelProtocolos binariosGitAzure DevOps

Contacto

¿Buscas a alguien que entienda el dato y sepa construir?

Estoy abierto a roles de analista de datos, ingeniería de datos, gobierno de datos, ciencia de datos e ingeniería de IA, y también de ingeniería de software. En Bogotá, híbrido o remoto. Inglés C1 y jornada en UTC−5.

También puedes escribirme por LinkedIn o GitHub. Respondo a todo lo que llega.