Servicios
Trabajo con empresas, equipos técnicos y proyectos de I+D que necesitan diseñar, construir o validar sistemas de software y hardware complejos.
Mi enfoque combina arquitectura de sistemas, cloud, ingeniería de lenguajes, generación de código, sistemas embebidos y Cyber-Physical Systems.
Consultoría de arquitectura
Diseñar el sistema correcto antes de construirlo
Ayudo a evaluar problemas técnicos complejos y convertirlos en arquitecturas claras, verificables y preparadas para evolucionar.
- Diseño y revisión de arquitecturas de software.
- Arquitecturas distribuidas y cloud-agnósticas.
- Sistemas serverless y multi-tenant.
- Definición de límites entre componentes y responsabilidades.
- Evaluación de tecnologías y decisiones de arquitectura.
- Revisión de sistemas existentes y propuestas de mejora.
- Estrategias de integración entre software, infraestructura y hardware.
- Análisis de confiabilidad, aislamiento y comportamiento ante fallos.
Ideal para: equipos que necesitan tomar decisiones arquitectónicas importantes antes de invertir en una implementación.
Desarrollo de sistemas
Construir soluciones desde el modelo hasta la implementación
Desarrollo soluciones técnicas orientadas a problemas específicos, priorizando claridad arquitectónica, mantenibilidad y verificabilidad.
- Sistemas distribuidos y cloud: runtimes serverless, APIs, automatización e integración de servicios.
- Backend y tooling: Python, Rust, APIs, CLI y herramientas para desarrolladores.
- Sistemas embebidos: firmware y tooling para ESP32, STM32, RP2040 y otras plataformas.
- Generación de código: herramientas que transforman modelos y representaciones de alto nivel en implementaciones específicas.
- Ingeniería de lenguajes: AST, análisis estático, transpiladores e inferencia de tipos.
- Cyber-Physical Systems: integración de sensores, actuadores, procesamiento edge y comunicación distribuida.
- Integración de sistemas: comunicación entre componentes de software, infraestructura y dispositivos físicos.
Ideal para: startups, equipos de ingeniería y proyectos de I+D que necesitan desarrollar sistemas especializados que no pueden resolverse únicamente ensamblando componentes existentes.
Revisión y validación técnica
Encontrar problemas antes de que lleguen a producción
Además de construir sistemas, puedo ayudar a verificar que un sistema existente realmente cumple las propiedades que debería cumplir.
- Revisión arquitectónica y técnica.
- Identificación de límites de confianza y superficies de fallo.
- Análisis de aislamiento y multi-tenancy.
- Revisión de pipelines de generación de código.
- Estrategias de testing e integración.
- Validación contra toolchains y entornos reales.
- Análisis de cuellos de botella y capacidad.
- Revisión de decisiones técnicas y deuda arquitectónica.
Ideal para: equipos que ya tienen un sistema funcionando pero necesitan aumentar su confiabilidad, encontrar riesgos o validar decisiones antes de escalar.
Formación técnica
Workshops, cursos y mentoría para equipos
Diseño formación práctica orientada a comprender cómo funcionan los sistemas por debajo de la abstracción, no únicamente cómo utilizar una herramienta.
- Rust: ownership, borrowing, concurrencia, programación de sistemas y Rust embedded.
- Python avanzado: arquitectura, metaprogramación, AST, tooling y automatización.
- Programación de sistemas: memoria, concurrencia, paralelismo y diseño de software de bajo nivel.
- Arquitectura de software: diseño de sistemas, separación de responsabilidades, límites y patrones arquitectónicos.
- Ingeniería de lenguajes: AST, transformación de código y fundamentos de transpilación.
- Sistemas embebidos: firmware, comunicación, abstracción de hardware y arquitectura multi-target.
- Testing y confiabilidad: estrategias de validación, CI/CD e integración contra entornos reales.
Ideal para: equipos de ingeniería que necesitan desarrollar capacidades internas y profundizar en fundamentos técnicos.
Investigación y prototipado
Convertir ideas técnicas en sistemas experimentales verificables
También trabajo en proyectos de investigación aplicada y prototipado donde todavía no existe una solución estándar.
Áreas de interés:
- Arquitectura agnóstica: Agnosticismo por Transformación y diseño independiente de infraestructura.
- Ingeniería de lenguajes: transpiladores, AST, análisis estático, inferencia de tipos y generación de código.
- Sistemas embebidos: firmware multi-target, abstracción de hardware y sistemas de bajo nivel.
- Cyber-Physical Systems: sensores, actuadores, estimación de estado y sistemas distribuidos.
- Sistemas distribuidos: arquitecturas tolerantes a fallos, coordinación entre nodos y edge computing.
- Infraestructura para agentes de IA: MCP, tool-use e integración entre agentes y sistemas externos.
- Modelado de sistemas: simulación, teoría de colas, análisis de capacidad y optimización.
Ideal para: proyectos de I+D, tesis, publicaciones, prototipos tecnológicos y colaboraciones de investigación.
¿Cómo trabajamos?
-
Contacto inicial: describes el problema, objetivo o idea que quieres explorar.
-
Diagnóstico: analizamos el contexto técnico, las restricciones y los resultados esperados.
-
Propuesta: definimos alcance, entregables, metodología, plazos y presupuesto.
-
Ejecución: desarrollamos el sistema, realizamos la consultoría o llevamos a cabo el trabajo de investigación acordado.
-
Validación y entrega: verificamos los resultados frente a los objetivos definidos y documentamos las decisiones y entregables.
¿Trabajamos juntos?
Si estás construyendo un sistema que involucra arquitectura, cloud, software de sistemas, generación de código, hardware o sistemas ciberfísicos, puedes escribirme directamente.
También puedes consultar mis proyectos para conocer ejemplos de sistemas que he construido.