RolEstudiante / Profesor / Dev
UbicaciónMontevideo, UY
FormaciónORT · Lic. Ing. SW · Tesis
Hora local--:--:--

Bruno Odella.

Disponible para primer empleo formal

Licenciado en Ingeniería de Software por la Universidad ORT Uruguay, cursando la tesis para recibirme de Ingeniero. Construyo software para producción y doy clase de Teoría de la Computación en la misma facultad.

Desplazá Índice 00 — 05
00 / SOBRE MÍ

Una introducción breve.

Retrato de Bruno Odella

Soy Ayudante de Ingeniero y Licenciado en Ingeniería de Software por la Universidad ORT Uruguay, en el noveno semestre encarando la tesis para recibirme de Ingeniero en Sistemas. En paralelo, doy clase como profesor práctico de Teoría de la Computación en la misma facultad — la materia donde se desarman lenguajes y evaluadores desde adentro: χ, IMP, máquinas de Turing, cálculo lambda.

Me interesa el software bien hecho: arquitectura clara, código que otros pueden leer, decisiones técnicas que se justifican. Trabajo con .NET, Angular, AWS y el stack alrededor; me siento cómodo bajando a temas de redes, concurrencia o estructuras de datos cuando hace falta. Vivo en Uruguay y estoy listo para sumarme a un equipo que tome el oficio en serio.

01 / CONSOLA

$ whoami.

02 / STACK

Lo que uso y conozco a fondo.

C# /.NET
AVANZADO01
Angular
AVANZADO02
TypeScript
SÓLIDO03
SQL / DB
SÓLIDO04
Patrones de diseño
CONCEPTO05
Concurrencia
CONCEPTO06
Redes
CONCEPTO07
Algoritmos / IA
CONCEPTO08
0
Años de formación · ORT
0
Ayudante Ing. · Lic. Ing. SW
C1
Inglés · Cambridge
0
Excelencia técnica · Investigación
03 / PROYECTOS

Cosas que construí.

P / 04 ACADÉMICO

Microservicios en AWS

Migración de un monolito a microservicios y despliegue real en AWS. El trabajo no era solo dividir servicios: era sostener cada decisión arquitectónica con RNFs concretos y medibles. Seis microservicios independientes (User, Account, Opportunity, Notification, Audit en .NET, API Gateway), Clean Architecture en cada uno, comunicación asíncrona con SNS/SQS, workers sidecar, base de datos propia por servicio y frontend Angular en S3. Desplegado en ECS Fargate con ALB, observabilidad centralizada en New Relic y CloudWatch, pruebas de carga con K6 que validan p95 < 300ms bajo 2400 req/min, CI con GitHub Actions y cumplimiento explícito de los 12 factores. Infraestructura real, costos reales, decisiones reales.

Microservicios AWS ECS Fargate .NET SNS/SQS Docker Clean Architecture K6 New Relic Angular
P / 05 ACADÉMICO

Big Data

Proyecto académico de Big Data. Pipeline completo de ingesta, procesamiento y análisis: datos cargados con NiFi a HDFS, exploración y limpieza con PySpark en JupyterLabs, modelado normalizado con claves primarias únicas, almacenamiento en Hive y visualizaciones con GeoPandas, Bokeh y SuperSet. Cuatro datasets de salud (depresión, enfermedades cardíacas, salud mental, tabaco y drogas en jóvenes), cinco preguntas analíticas cruzadas y una propuesta alternativa sobre stack Azure cloud-native.

PySpark HDFS NiFi Hive Hadoop Bokeh SuperSet Python
P / 06 ACADÉMICO

Machine Learning

Proyecto académico de ML con dos problemas. Problema 1: clasificación binaria de opiniones sobre películas — feature engineering desde cero (20 variables derivadas), cinco clasificadores (Regresión Logística, Árbol de Decisión, Random Forest, Gradient Boosting, Redes Neuronales en tres arquitecturas), validación con Hold-Out, Repeated Hold-Out y Cross-Validation estratificada. Modelo final: Gradient Boosting con F1 de 0.75, validado en competencia Kaggle. Problema 2: NLP para predicción de género cinematográfico — pipeline de texto con NLTK, lematización, TF-IDF y GridSearchCV sobre ~8700 combinaciones.

Python Scikit-learn Keras NLP Gradient Boosting Random Forest TF-IDF Kaggle
P / 07 BLOCKCHAIN

DAO en Ethereum

Prueba de concepto de gobernanza descentralizada sobre EVM. Smart contracts en Solidity con tokens ERC-20, staking con recompensas, votación on-chain ponderada por stake, multisig y mecanismo de pánico. Frontend en React con Ethers.js, desplegado y verificado en Sepolia Testnet. 77 tests, 98.8% de cobertura de statements, 100% de funciones y líneas.

Solidity Ethereum ERC-20 Hardhat React Ethers.js OpenZeppelin Sepolia
P / 08 ACADÉMICO

Sistema YAGNI

Arquitectura completa de un sistema de gestión de comidas congeladas. El trabajo no era construir features: era tomar decisiones de diseño justificadas y sostenerlas. Arquitectura modular con API central (api-yagni), seis subsistemas desacoplados (Kitchen, Fridge, Logistic, Client, BackOffice, Payment Gateway), tres bases de datos con roles distintos (MongoDB, MySQL, Redis) y vistas formales en UML — descomposición, uso, C&C y despliegue. Cada decisión sostenida con ADRs y atributos de calidad como criterio, no como decoración.

TypeScript REST API MongoDB MySQL Redis UML2 ADRs
P / 09 ACADÉMICO

Ingeniería de Software Ágil

Cuatro iteraciones sobre una base de código con deuda técnica real. Kanban con WIP limits, Trunk-Based Development/gitflow, pipelines de CI con GitHub Actions para backend en C# y frontend en Angular, BDD con Cypress, TDD para corrección de bugs, métricas DevOps (MTTR) y retrospectivas DAKI. No era un proyecto verde: era entender qué pasa cuando el código ya existe, tiene problemas, y hay que organizarse para no empeorar lo que está roto mientras lo arreglás.

Kanban CI/CD GitHub Actions TDD BDD Cypress C# .NET Angular DevOps
P / 10 ACADÉMICO

Building Management API

Sistema de gestión de edificios. API REST en .NET con frontend Angular. Aplicación rigurosa de SOLID, patrones GoF y GRASP, modelado en UML2 y métricas de calidad de código como criterio de diseño, no como adorno.

.NET Angular SOLID GoF · GRASP UML2
P / 11 SISTEMAS

Shared Travel App

App de viajes compartidos. El foco no era el dominio: era resolver concurrencia real, paralelismo y comunicación con protocolos de red de bajo nivel. Sockets, sincronización, threads — el plomería del software distribuido.

Concurrencia Paralelismo Sockets Bajo nivel
P / 12 SISTEMAS

Veterinaria & OS

Obligatorio de Sistemas Operativos. Cuatro ejercicios que cubren el espectro: shell scripting con manejo de archivos y validaciones en Bash, sincronización de hilos con semáforos en C (pthreads), concurrencia con tareas y rendez-vous en Ada, y orquestación de servicios con Docker Compose + Nginx + Flask. No es un ejercicio de dominio — es entender cómo el sistema operativo maneja procesos, memoria y comunicación entre ellos.

Bash C pthreads Ada Docker Nginx Flask
P / 13 REDES

Modelo híbrido de redes

Implementación de un modelo híbrido para redes informáticas. Trabajo de capas, encapsulado y comportamiento de protocolos — entender qué pasa por debajo cuando un paquete viaja.

TCP/IP Capas Protocolos
P / 14 FUNDAMENTOS

Estructuras y algoritmos

Implementación desde cero de estructuras de datos y algoritmos avanzados. Sin librerías, sin atajos: árboles, grafos, hashing, complejidad. Los fundamentos que aparecen en cada decisión técnica más adelante.

EDA Complejidad Grafos
P / 15 IA

Inteligencia artificial

Trabajo académico de IA aplicado a problemas complejos. Búsqueda, heurísticas y representación de conocimiento — entender la materia desde adentro, no como cliente de una API.

Búsqueda Heurísticas Python
04 / CONTACTO

Hablemos.

¿Trabajamos juntos?