El desarrollo y la operación de software me sigue motivando cada día, desde que comencé en los años 90. Entender una idea de producto y convertirla en un sistema de software concreto es una habilidad que he adquirido a lo largo de varias décadas. Como arquitecto o desarrollador, mi fortaleza son los sistemas distribuidos y, como caso especial, los sistemas IoT (Internet de las Cosas).

Como ejemplo, algunos proyectos en los que he desarrollado software:

  • Adaptación del sistema de MeinAuto.de (Renault) para distribuidores de un nuevo producto en el leasing de vehículos.
  • Desarrollo y optimización de un moderno sistema de entretenimiento a bordo con Go, Postgres, SQLite y Kubernetes.
  • Adaptación del sistema central de MeinAuto.de para la migración a un entorno Kubernetes. Trabajé con Docker, Kubernetes, Gitlab CI e hice ajustes a componentes en PHP, JavaScript y Java/Spring.
  • Integración Smart Home para mobiliario de alta tecnología: En el proveedor de servicios de implementación, fui principalmente líder técnico de proyecto y arquitecto, y trabajé personalmente en la suite de pruebas end-to-end en Go, la infraestructura de clave pública, el aprovisionamiento de dispositivos, una interfaz de dispositivo basada en Python/Flask, una Skill de Alexa implementada en .NET y un servidor C++.
  • Desarrollo del sistema de encuestas online detrás de NEO Culture con Go, HTML/CSS y JavaScript.
  • Desarrollo de un proceso de alto rendimiento en C++ para procesar datos de ofertas de viajes basados en catálogos en Amadeus TravelTainment. Debido a este proyecto, también participé en el desarrollo de la primera versión del estándar de datos OTDS.
  • Desarrollo de un sistema de informes de cartera para derivados financieros y opciones en C# utilizando datos en tiempo real de Reuters.
  • Mi primer proyecto de desarrollo pagado fue la creación de una solución de analítica web para AOL Alemania en 2000 usando Perl y Excel VBA. En ese momento, Google Analytics aún no existía. En este proyecto aprendí mucho sobre Internet.

Soy bastante agnóstico con respecto a la pila tecnológica utilizada y por lo tanto he entrado en contacto con varias tecnologías a lo largo del tiempo. Aquí hay algunas, siempre ordenadas en orden descendente según mi confianza.

Lenguajes de programación y bibliotecas

  • Go
  • Dart y Flutter
  • HTML/CSS
  • JavaScript: Node.js, JS puro para frontends, Vue, Nuxt, jQuery, etc.
  • Python (Flask, Pandas)
  • PHP, Symfony
  • C y C++
  • Ruby on Rails
  • Java, Spring
  • .NET, C#, VBA
  • AngularJS
  • Android con Jetpack Compose

DevOps e Ingeniería de Sistemas

  • Docker
  • Kubernetes
  • Gitlab CI
  • Linux
  • systemd

Cloud

  • Google Cloud, incluido Firebase
  • AWS (principalmente EC2, Route 53, SQS)
  • Azure (Iot Hub, AD B2C, etc.)

Bases de datos relacionales

  • Experiencia sólida en SQL escribiendo y optimizando consultas y en migración de datos
  • MySQL/MariaDB
  • Postgres
  • SQLite
  • Amazon RDS
  • MS SQL Server y Reporting Services

Persistencia no relacional en la nube

  • Google Firestore
  • Google Datastore
  • Amazon S3 y similares

Embedded

  • C y C++ embedded
  • Desarrollo de microcontroladores
  • Buildroot Linux
  • Colaboración con desarrolladores de hardware
  • Prototipos de hardware

Conocimiento de procesos y métodos

  • Prototipado rápido
  • Desarrollo con IA
  • Automatización de pruebas
  • Arquitecturas basadas en componentes
  • UML
  • Prácticas de ingeniería ágil
  • Estadísticas y ciencia de datos básica
  • Ciclos de vida de desarrollo de software conformes con PCI DSS