Experiencia Laboral
Mid-Senior Full Stack Developer - Redradix
Febrero 2020 - Actual, Madrid- Desarrollo del proyecto de ConectamosVidas. Encargado de la parte validación, envíos de email y despligue en Digital Ocean.
- Colaboración con Secuoyas en dashboard de datos sobre el Covid. Desarrollo de la gráfica de datos diarios por comunidades.
- Auditoría de un proyecto de NodeJS que sincronizaba datos de un SQLServer con Salesforce con problemas de rendimiento. Preparación de una propuesta nueva de arquitectura al cliente.
- Desarrollo de un WebComponent con Preact para una arquitectura de microfrontends.
- Investigación sobre Next.js junto con Strapi para futuras propuestas de Landing Page.
Software Developer - Ride On
Junio 2017 - Mayo 2019, Madrid- Implementación de la primera versión del sistema de incidencias de la plataforma.
- Integración con Firebase para el envío de notificaciones.
- Integración con Traccar para el sistema de GPS de las bicicletas de la plataforma.
- Mejora del rendimiento del dashboard de mantenimiento, pasando de una media de 3 segundos por petición a menos de 1 segundo por petición.
- Mejora del rendimiento de la plataforma a nivel de base de datos, donde determinadas queries de inserción y búsqueda pasaron de tardar 1 - 2 segundos a menos de 1 segundo.
- Mejora del tiempo de comprobación de si un anclaje estaba libre de 2 segundos a 100 milisegundos.
- Creación de una lambda, en AWS Lambda, para guardar el estado de todos los anclajes y estaciones en Redis.
- Escribir una guía de cómo desarrollar en local una Lambda con Localstack.
- Desarrollo inicial de un Docker Compose para trabjar en local del nuevo dashboard de mantenimiento, el cual requería un PostgreSQL, Kong, Konga, Keycloak, Localstack y Redis.
- Desarrollo de un Back For Frontend en Kotlin con Spring Boot para el nuevo dashboard de mantenimiento y la aplicación de Android, incluyendo el diseño de la API REST para ambos clientes.
- Desarrollo de un microservicio en Kotlin con Spring Boot para el sistema de gestión de incidencias de mantenimiento.
- Añadir a la configuración de Docker Compose Elastich Search y Kibana. Ya que es usado para guardar los logs de acceso e incidencias.
- Integración con Pagerduty del microservicio del sistema de gestión de incidencias, como nuestra fuente de verdad.
- Integración con SQS y SNS por los siguientes motivos:
- Para no saturar la API Pagerduty.
- Crear un sistemas de reintentos, donde si un mensaje pasa un umbral se considera muerto y require intervención manual.
- Ser capaces de crecer horizontalmente.
- La forma de comunicación entre la plataforma de la aplicación y el sistema de mantenimiento.
- Desarrollo de un cron job para comprabar que incidencias no va a cumpliar su SLA, con los siguientes caracteristicas:
- Lock distribuido con DynamoDB para escalar horizontalmente.
- Crear nuevas incidencias en PagerDuty con prioridad alta de las incidencias cercanas a acabar su SLA.
- Notificar de las incidencias que no ha cumplido su SLA.
- Desarrollo de la primera versión del nuevo dashboard de mantenimiento en React.
- Reducción a la mitad los tiempo de build de la plataforma tras el borrado del código relacionado con el dashboard antiguo.
Programador Junior- Indizen Technology & Business Confluence
Enero 2016 - Noviembre 2016, MadridColaboración en el desarrollo de una aplicación web de sanidad para ayudar a los codificadores a detectar los diagnósticos, actual y previos de un informe médico y todos los procedimientos que se han realizado. Desarrollado con Java 7, MongoDB, Spring, Tomcat, Javascript, jQuery.
En los últimos seis meses estuve en un proyecto que consistía en lamodernización del sistema de facturación de una empresa energética. Desarrollado con Java 8, Javascript, OracleDB, WebLogic, Toplink, Thymleaf.