Sobre mí
Hola, soy
Diego Hernandez
Software Engineer · Java Backend · Angular
Desarrollador cloud con más de 5 años de experiencia como programador y profesor, especializado en **arquitectura de software**, desarrollo backend con **JavaEE** y **Spring Boot 2+**, y frontend con **Angular** 12+.
Fuerte capacidad de colaboración en entornos Agile, con experiencia en el diseño y desarrollo de aplicaciones web. Conocimientos adicionales en **Python** (Flask, FastAPI, Pandas) y PL/SQL.
Apasionado por el aprendizaje continuo, la **enseñanza** y la entrega de soluciones de alta calidad centradas en el cliente. Actualmente fortaleciendo competencias en tecnologías **Cloud (AWS)**.
Beneficiario de GARANTÍA JUVENIL (Ayudas a la contratación - Comunidad de Madrid).
Experiencia
Desarrollo de microservicios con Jakarta 10 y MicroProfile 6.1 sobre servidor Open Liberty bajo arquitectura Clean y Domain-Driven Design (DDD).
- Diseño e implementación de **APIs REST** con especificación **OpenAPI/Swagger** (API First Design).
- Implementación de comunicación asíncrona mediante **Apache Kafka**.
- Estructuración de proyectos **Maven multi-módulo** utilizando Java 21.
- Gestión y optimización de persistencia en bases de datos **Oracle 19c** con **JPA** (EclipseLink).
- Aseguramiento de calidad mediante pruebas unitarias (**JUnit, Mockito**) aplicadas al dominio.
Desarrollo y modernización de sistemas dentro del marco tecnológico JavaDIT para la Agencia Estatal de Administración Tributaria (AEAT).
- Implementación de módulos de procesamiento para integración con organismos de la comisión económica europea.
- Optimización de componentes Java para la gestión eficiente de datos.
En la actualidad **pertenezco** al grupo de embajadores de la plataforma de enseñanza *Superprof*, donde he colaborado con los estudiantes de la comunidad.
- He compartido mi **conocimiento** con la satisfacción de ayudar a sumergirse en el mundo de la programación, brindando acompañamiento continuo para la resolución de dudas incluso fuera de la clase.
**Análisis funcional** de requisitos con **Historias de Usuario** y modelado **UML**, coordinando con equipos de negocio para el Banco de la República de Colombia.
- Migración de aplicativo Java EE6 a **Spring Boot**, con **JPA (Hibernate)** sobre servidor JBoss.
- Diseño de **APIs REST** y gestión de tareas con **JIRA** en metodología **Scrum**.
- Migración tecnológica: **JPA** de EclipseLink a Hibernate, **JSF** a Angular y ajuste de inyección **CDI**.
- Cambio de sistema de log.
Como practicante ayudé en tareas como:
- Construcción de scripts para la consulta y evaluación de la calidad de datos en los repositorios.
- Automatización de ETL con Python y Pentaho.
- Construcción de tableros con PowerBI.
Durante tres meses, junto con mi equipo, realice la implementación de la estrategia de Gobierno Digital según lineamientos de MinTIC.
- Actualización del portal oficial cumpliendo criterios de transparencia de la Procuraduría.
- Formalización de redes sociales y correos institucionales.
- Diagnóstico inicial para la creación del Plan Estratégico de TI.
Monitor académico en la Universidad Distrital (2020-1) en la asignatura de Programación Orientada a Objetos. Brindé tutorías teórico-prácticas en Java a más de 20 estudiantes. Me enfrenté al reto de adaptar las metodologías de enseñanza en la modalidad virtual debido a la pandemia por COVID-19.
Apoyé el diseño e implementación del sistema de voto electrónico para la **Secretaría Distrital de Cultura, Recreación Y Deporte de Bogotá**. Participé en el desarrollo Front-end con React y Bootstrap (maquetación y pruebas del WebGUI), integración de web services y soporte técnico remoto durante el proceso electoral.
Agromendez es una compañía especializada en la distribución de insumos agrícolas.
- Me desempeñé en el proceso de actualización y mantenimiento de los **sistemas de información** que actualmente posee la empresa, además de asegurar el correcto y buen funcionamiento de los equipos de cómputo dispuestos por la compañía.
- Instalación de software contable.
- Mantenimiento de redes y equipos de cómputo.
- Sistematización de inventario.
Educación
Adicionales: Redes y administración de sistemas operativos **GNU/Linux**
Tecnologías
Cursos
- **Python:** Object-Oriented Programming
- **APIs y servicios web:** Fundamentos de programación
- **Java:** Esencial, Mejorando tu desarrollo, Avanzado 1, Avanzado 2
- **Spring:** Esencial, JPA y bases de datos, Security
- **Arquitectura de software:** De desarrollador a arquitecto o arquitecta
- **Liderazgo:** Inteligencia emocional
- **Excel:** Tablas dinámicas (365/2019)
- **Power BI:** Análisis de datos
Voluntariado
Intereses & Metas
Ser parte de proyectos que involucren el diseño, desarrollo, pruebas y despliegue de soluciones tecnológicas, trabajando junto a arquitectos, desarrolladores y clientes con el objetivo de seguir forjando conocimientos.
Construir aplicaciones orientadas a servicios y **microservicios desplegados en la nube**.
Perfeccionar conocimientos en pruebas unitarias y de integración con tecnologías como **JUnit, Mockito, Selenium y Cucumber**.
Certificarme en **AWS Arquitecto de Soluciones**, **AWS Developer** y **Java SE 17 Developer (1Z0-829)**.
Y, por último y no menos importante, **enseñar y compartir mi conocimiento**.