Experiencia laboral
Mi experiencia laboral abarca roles como desarrollador fullstack, desarrollador backend, líder de equipos, y programador analista.
He contribuido a la creación de soluciones integrales, gestionado y optimizado la lógica del lado del servidor, y liderado proyectos hacia el éxito, siempre con un enfoque analítico y estratégico.
Programador analista senior (backend) - INDRA
- Dockerizacion de aplicaciones para optimizar los tiempos del onboarding de las aplicaciones y evitar conflictos de versiones.
- Resolución de incidencias para garantizar el correcto funcionamiento del software.
- Creación de documentación técnica.
- Análisis y evaluación de requerimientos para asegurar un desarrollo de software óptimo y a medida de las necesidades del cliente.
- Trabajo en equipo.
Programador analista (fullstack) - ARANOVA
- Diseño y elección adecuada según las necesidades del cliente final de bases de bases de datos (relacionales y no relacionales).
- Aplicación de patrones de diseño para alargar la vida útil del software.
- Implementación de un flujo de trabajo organizado mediante issues, protección de la rama principal, revisión de pull requests y testing (coverage mínimo aceptable - 80%).
- Propuesta y puesta en marcha de un sistema CI/CD mediante github actions.
- Implementación del protocolo gRPC para optimizar la comunicación entre microservicios y propiciar el abaratamiento de costes.
- Migración de ciertas partes de código a TypeScript para beneficiarse del procesamiento asíncrono proporcionado por la librería de BullMQ. Promover la utilización de NestJS como framework ya que el equipo estaba familiarizado con Spring ayudándoles a reducir la curva de aprendizaje.
- Creación de varias librerías para frontend, empezar a utilizar NuxtJS por la familiaridad del equipo con el mismo y por la forma opinionada de desarrollo que tiene este metaframework para mantener una homogeneidad en el código.
Programador fullstack - ARANOVA
- Proponer, diseñar y empezar a implementar una arquitectura de microservicios por problemas de escalabilidad y repetición de código, minimizando así la duplicación de código y costes.
- Ayudar en la compilación de código legacy hecho en Spring Boot.