SHUSH

Ingeniero Backend / de Plataforma Senior (Contratista)

Enero 2025 - Presente

Contrato por prestación de servicios: medio tiempo (unas pocas horas al mes) desde enero de 2025 hasta diciembre de 2025, tiempo completo desde enero de 2026.

  • Desarrollé y mantuve el backend de la plataforma usando FastAPI, agregando nuevas funcionalidades y mejorando la estabilidad del mismo.

  • Desarrollé y mantuve los microservicios de la plataforma utilizando gRPC, incorporando nuevas funcionalidades y mejorando su estabilidad.

    • Diseñé e implementé una arquitectura basada en pipelines para la ejecución de solicitudes (requests), aumentando la eficiencia y estabilidad de la arquitectura basada en configuración del sistema.
  • Empaqueté las entregas por carrier con construcciones de Docker en varias etapas, de modo que cada imagen envía únicamente el código generado para ese carrier, sin las herramientas de construcción ni las fuentes detrás de él.

  • Mantuve la calidad del código con ruff y mypy, mediante ganchos de pre-commit y validaciones obligatorias en la integración continua, en todos los servicios de Python.

  • Desarrollé y mantuve el sistema de facturación dinámica por uso de los diferentes clientes que usan la plataforma.

  • Diseñé, desarrollé y mantuve herramientas de observabilidad de red y búsqueda de sesiones para infraestructura de CGNATs de diferentes carriers, que cubren hasta 10 millones de suscriptores, construidas como dos herramientas en dos puntos de escala distintos, para que cada carrier opere, y pague, solamente la infraestructura que su tráfico realmente necesita.

    • Diseñé e implementé una herramienta simple basada en pipelines con capacidades de procesamiento de hasta 150 mil mensajes por segundo.
    • Diseñé e implementé una herramienta más compleja basada en microservicios y eventos, soportada en Kafka, con capacidad de procesamiento de hasta 1 millón de mensajes por segundo.

EarthFuneral

Ingeniero Backend Senior

Marzo 2025 - Diciembre 2025

Plataforma de monitoreo en tiempo real para una flota de alrededor de 1.000 máquinas.

  • Desarrollé y mantuve el backend de la plataforma usando Django, agregando nuevas funcionalidades y mejorando la estabilidad general.

  • Construí un sistema de procesamiento de datos en tiempo real con MQTT (pub/sub), transmisión WebSocket, caché Redis y ejecución de tareas asíncronas con Celery, sosteniendo entre 150 y 160 mensajes de sensores por segundo.

  • Modelé cada máquina de compostaje como un gemelo digital que los operarios manejan desde la plataforma web, con un vigilante de estado por debajo que reconcilia el equipo físico contra el virtual, y lo corrige cuando los dos se separan.

  • Implementé una arquitectura multi-base de datos usando PostgreSQL para datos transaccionales y TimescaleDB para almacenamiento de series temporales, conectadas mediante un enrutador de base de datos personalizado.

  • Desarrollé un sistema de alertas y respuesta que detecta fallas de equipos mediante MQTT, activa acciones automatizadas a través de Celery y envía notificaciones inmediatas a tableros de monitoreo vía WebSocket.

  • Mejoré el rendimiento general optimizando consultas, agregando índices y usando Redis para acelerar el acceso frecuente a datos, bajando el uso de la base de datos del 60% al 45%.


ENDAVA

Desarrollador Senior

Agosto 2022 - Diciembre 2024

Motor Matemático (Junio 2024 - Diciembre 2024)

Se desarrolló un motor matemático para el dimensionamiento de cotizaciones y análisis de inversiones en préstamos inmobiliarios. Mis principales contribuciones fueron:

  • Crear generation de casos de pruebas automáticas a través del uso del archivos JSON que contienen los diferentes escenarios de pruebas.

  • Búsqueda binaria multi objetivo o de espacio de optimización para encontrar la máxima cantidad de dinero que se puede prestar y para encontrar los mínimos ingresos operativos netos para obtener la cantidad de dinero deseada.

Versión Open Source del paquete cálculador de préstamos en Go

Nubes de Puntos (Agosto 2022 - Mayo 2024)

Se desarrolló y se hizo mantenimiento de un programa de escritorio en PyQt, con VTK para el renderizado 3D, para anotar nubes de puntos a través de una interfaz gráfica. Mis principales contribuciones al proyecto fueron:

  • Liderar la parte de Python en la migración de la aplicación de Python 3.2 a Python 3.10, mientras otra persona del equipo lideró las migraciones de PyQt6 y de VTK, lo que además implicó rehacer el sistema de eventos sobre mensajes y señales. Una refactorización mayor, resolviendo los cambios de comportamiento y las restricciones de dependencias de una base compilada y con mucha interfaz gráfica.

  • Crear y liderar la implementación de una arquitectura orientada a eventos para funcionalidades pesadas de cálculo, donde desvié la carga de las funciones a otros núcleos de la computadora mediante el uso de procesamiento múltiple y otras optimizaciones en la creación de objetos para disminuir el impacto en el consumo de RAM, lo que duplicó la velocidad del software y redujo su uso de RAM en un 40%.

  • Automatizar la creación de planos y otros dibujos técnicos a partir de la nube de puntos, mediante el uso de un servidor local que manejaba las actualizaciones o cambios de las formas anotadas dentro de la nube de puntos.

  • Crear una fachada para el SDK de BOX Cloud, para manejar de forma segura el multihilo y simplificar la funcionalidad de nuestras actualizaciones y cargas de archivos.


Sophos Solutions

Desarrollador de Software

Abril 2022 - Julio 2022

Plataforma de Monitoreo para Minas

Continué el desarrollo y la escalabilidad de una plataforma de monitoreo minero para mitigar el riesgo geológico.

Mi trabajo en la plataforma fue:

  • El backend en Django REST Framework, que consumía los eventos de los sensores de la mina que llegaban por Kafka.

  • Los servicios locales en Flask, instalados en cada mina, que transmitían los datos de los sensores hacia la plataforma.

Debido a que existía una brecha de comunicación entre el equipo de habla hispana que inició la plataforma y el equipo de habla inglesa que continuaría desarrollándola, mi rol al principio fue servir como un puente de comunicación a nivel técnico entre ambos equipos. Gracias a ello, pudimos comprender y documentar el código base, solucionar los problemas de infraestructura que teníamos con Kubernetes y entregar los resultados necesarios al cliente.

Mi breve paso por el equipo se debió a una cirugía que tendría mi padre y que requería mi atención al 100%. La empresa me ofreció vacaciones pagadas o trabajo de medio día para que pudiera quedarme con mi padre y no renunciar, pero no pude aceptarlo porque no estaba seguro del tiempo que estaría ausente.


ActiveOne

Analista de Desarrollo

Mayo 2021 - Abril 2022

Plataforma para Digitalización, Clasificación, Almacenimiento de Expedientes

Se desarrolló una plataforma web que permitía subir documentos escaneados para clasificarlos utilizando diferentes servicios de inteligencia artificial de AWS.

Dos de mis desarrollos más notables fueron:

  • Creación de la herramienta detrás de una migración de almacenamiento entre nubes, que transfería los archivos de AWS S3 a Azure Blob Storage a través de un flujo de datos de un servicio a otro, sin escribirlos en disco.

  • Creación de una Metaclase base y un decorador de funciones para registrar toda la funcionalidad de la aplicación sin tener que añadir nada más que la Metaclase a la clase y un decorador a las diferentes funciones que eran críticas para la plataforma.


LUJACOL SAS

Dueño y Desarrollador Web

Marzo 2020 - Junio 2022

Herramientas Internas de la Compañía

Empresa propia, fundada y manejada en paralelo con mis trabajos como empleado, y vendida después. Yo construí el software con el que operaba.

  • El sistema de gestión de inventarios, y un calendario de entregas que se sincronizaba dinámicamente con la naviera Hapag-Lloyd, siguiendo el buque que llevaba cada pedido.

  • Un portal web para que mis clientes pudieran crear órdenes, tener registro del estado del envío de los productos y descargar los documentos requeridos para la nacionalización de estos.

  • Envío automático de correos para recordatorios, alertas de vencimiento de la documentación ISO y notas importantes acerca de la mercancía, lo que me ayudó a mantener el número de empleados bajo en la compañía, preparar el contenedor en menos de una semana y trabajar con los menores costos posibles, minimizando gastos.


Institución Universitaria ITM

Analista de Datos

Octubre 2016 - Enero 2021

Indicadores de la Universidad y Plataforma de Monitoreo Académica

Se realizaron diversas tareas relacionadas con la retención de estudiantes en la institución, entre las que destacan dos desarrollos particularmente notables:

  • Crear un portal web que monitorea todos los estudiantes beneficiarios de las becas entregadas por la alcaldía de Medellín, con el fin de generar alarmas tempranas indicando bajo rendimiento académico y posible deserción, para la intervención del departamento de bienestar universitario.

  • Crear un indicador que mide el impacto de la universidad en un estudiante, midiéndose si la universidad volvió un mal estudiante en uno bueno, un buen estudiante en uno excelente y evaluar con pasa con los estudiantes que ya son excelentes.