Diseño, construcción y ampliación de productos digitales
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
