104 ms
Servicio de recaudación con 1.500 usuarios/min y 0 % de errores (JMeter).
Disponible para nuevos proyectos
Backend Developer Senior · Java · Spring Boot · PostgreSQL
Microservicios, APIs REST, rendimiento y seguridad en plataformas transaccionales
San Miguel, Lima, Perú
GET/api/v1/lenin
{
"name": "Lenin Elio Moreno Vega","role": "Senior Backend Developer","location": "Lima, PE","stack": ["Java", "Spring Boot", "PostgreSQL", "RabbitMQ"],"experience_years": 5,"focus": ["performance", "data consistency", "security"],"status": "open_to_work"…}kubectl top --highlights
Números medidos en proyectos reales, no estimaciones.
104 ms
Servicio de recaudación con 1.500 usuarios/min y 0 % de errores (JMeter).
-93 %
De 3–4 MB a 200–300 KB con JasperReports optimizado.
0 / 0 / 0
Quality Gate aprobado en SonarQube, con 0,7 % de duplicación.
10.000
Prueba de carga en QA con 100 % de respuestas exitosas.
15 min
Expiración asíncrona con RabbitMQ (TTL + Dead Letter Exchange).
3
Machupicchu, Kuélap y Camino Inca en producción.
cat README.md
Soy ingeniero de Sistemas e Informática y desarrollador backend senior, especializado en Java, Spring Boot y PostgreSQL. Tengo más de cinco años de experiencia construyendo APIs REST, microservicios y plataformas transaccionales de alta concurrencia.
En los últimos dos años trabajé como consultor backend para el Ministerio de Cultura en TuBoleto, la plataforma de reservas, venta de entradas y control de ingreso de Machupicchu, Kuélap y la Red de Caminos Inca.
Me interesa resolver problemas de rendimiento, consistencia de datos y mantenibilidad, con métricas y evidencia técnica.
git log --oneline -3
commit 17c97fa (HEAD -> main)··2 años 1 mes
feat(tuboleto): venta directa, aforo y pagos para Machupicchu, Kuélap y Camino Inca
Ministerio de Cultura · Plataforma TuBoleto · Lima, Perú
commit 50db7cb··4 años 9 meses
feat(unasam): sistemas académicos, integración LMS y calidad de software
Universidad Nacional Santiago Antúnez de Mayolo · Huaraz, Áncash, Perú
commit ebbccc5··1 año 1 mes
ops(gcp): VMs, respaldos y continuidad del servicio
Universidad Nacional Santiago Antúnez de Mayolo · Huaraz, Áncash, Perú
ls ./casos-de-estudio
Problema, restricciones, solución y resultado medido.
/proyectos/prereservas-rabbitmq
Prereservas con un hold de 15 minutos que se liberan solas mediante colas durables con TTL y Dead Letter Exchange, sin tocar el tiempo de respuesta de la compra.
15 minhold por prereserva, liberado sin jobs programados
/proyectos/jasperreports-optimizacion
Optimización de reportes JasperReports con caché de plantillas e imágenes referenciadas, pasando de 3–4 MB a 200–300 KB por documento.
-93 %tamaño por PDF (3–4 MB → 200–300 KB)
/proyectos/postgresql-sin-cursores
Reemplazo de cursores por funciones RETURNS TABLE en lógica de base de datos usada por tres microservicios.
3microservicios migrados sin cambiar su contrato
mvn dependency:tree
Backend
Bases de datos
Mensajería, caché y reactivo
Testing y calidad
Seguridad
Arquitectura e integración
DevOps
Otros
cat education.yml
Ingeniería de Sistemas e Informática
Universidad Nacional Santiago Antúnez de Mayolo
Jul 2013 – ago 2018
ls ./ponencias
Análisis de datos con BigQuery
Seminario Internacional de Inteligencia Empresarial
Power BI: inicia en el mundo del análisis de datos
Acercamiento a IE, Big Data e IA
curl -X POST /api/contact
¿Tienes un proyecto backend, una vacante o un problema de rendimiento? Escríbeme y conversamos.
text/markdown · /llms-full.txt
# Lenin Elio Moreno Vega Backend Developer Senior · Java · Spring Boot · PostgreSQL Microservicios, APIs REST, rendimiento y seguridad en plataformas transaccionales ## Contacto - Email: morenoleninelio@gmail.com - CV (PDF): https://portfolio.leninelio.workers.dev/cv.pdf - LinkedIn: https://www.linkedin.com/in/leninelio - GitHub: https://github.com/leninelio - Instagram: https://www.instagram.com/leninelio - X: https://x.com/leninelio - Ubicación: San Miguel, Lima, Perú - Disponibilidad: Disponible para nuevos proyectos - Idiomas: Español (Nativo), Inglés (Básico) ## Resumen Soy ingeniero de Sistemas e Informática y desarrollador backend senior, especializado en Java, Spring Boot y PostgreSQL. Tengo más de cinco años de experiencia construyendo APIs REST, microservicios y plataformas transaccionales de alta concurrencia. En los últimos dos años trabajé como consultor backend para el Ministerio de Cultura en TuBoleto, la plataforma de reservas, venta de entradas y control de ingreso de Machupicchu, Kuélap y la Red de Caminos Inca. Me interesa resolver problemas de rendimiento, consistencia de datos y mantenibilidad, con métricas y evidencia técnica. ## Métricas - **104 ms** — Respuesta promedio. Servicio de recaudación con 1.500 usuarios/min y 0 % de errores (JMeter). - **-93 %** — Tamaño de reportes PDF. De 3–4 MB a 200–300 KB con JasperReports optimizado. - **0 / 0 / 0** — Vulnerabilidades / bugs / code smells. Quality Gate aprobado en SonarQube, con 0,7 % de duplicación. - **10.000** — Peticiones por minuto. Prueba de carga en QA con 100 % de respuestas exitosas. - **15 min** — Hold de prereservas. Expiración asíncrona con RabbitMQ (TTL + Dead Letter Exchange). - **3** — Sitios patrimoniales. Machupicchu, Kuélap y Camino Inca en producción. ## Experiencia ### Consultor backend / Desarrollador backend senior · Ministerio de Cultura - Proyecto: Plataforma TuBoleto - Periodo: 2024-09-01 – 2026-09-30 - Lugar: Lima, Perú - Resumen: feat(tuboleto): venta directa, aforo y pagos para Machupicchu, Kuélap y Camino Inca - Desarrollé y puse en producción la venta directa para visitantes y agencias de Machupicchu, Kuélap y Camino Inca, incorporando retención temporal de cupos, registro de visitantes, flujo de pago y reglas de aforo. - Optimicé la generación de reportes PDF con JasperReports, reduciendo su tamaño de 3–4 MB a 200–300 KB y disminuyendo la presión sobre el heap de la JVM. Además, incorporé caché Caffeine para catálogos estáticos. - Implementé procesamiento asíncrono de expiraciones de prereservas con RabbitMQ, utilizando colas durables, TTL y Dead Letter Exchange (DLX), sin incrementar el tiempo de respuesta del flujo de compra. - Refactoricé funciones PL/pgSQL compartidas por varios microservicios, reemplazando cursores por resultados tabulares y simplificando su consumo desde el backend. - Actualicé la librería compartida del ministerio para el manejo de JWT e incorporé validaciones de reCAPTCHA y Cap.js, integrando Cap.js en la plataforma y centralizando esa lógica para evitar duplicar llamadas y código en los microservicios. Stack: Java, Spring Boot 3, PostgreSQL, PL/pgSQL, RabbitMQ, Caffeine, MinIO, JasperReports, JWT, Cap.js, Angular, GitLab, Jenkins, SonarQube, Sentry, OWASP ZAP, JMeter, Swagger/OpenAPI ### Analista Programador / Desarrollador Backend · Universidad Nacional Santiago Antúnez de Mayolo - Periodo: 2019-12-01 – 2024-08-31 - Lugar: Huaraz, Áncash, Perú - Resumen: feat(unasam): sistemas académicos, integración LMS y calidad de software - Desarrollé, mantuve y evolucioné módulos de los sistemas académicos y administrativos utilizando principalmente Java (Spring), junto con soluciones en PHP (Laravel) y Vue.js, abarcando desde el análisis hasta la puesta en operación. - Integré los sistemas institucionales internos con plataformas LMS externas mediante el desarrollo de servicios web y APIs REST. - Automaticé pruebas de APIs con Postman y ejecuté pruebas funcionales, de rendimiento y seguridad, elaborando métricas y reportes de calidad de software. - Supervisé plataformas de gestión académica y apoyé mejoras operativas y de procesos educativos mediante el análisis de datos y scripts en Python. Stack: Java, Spring Framework, PHP, Laravel, Vue.js, Python, BigQuery, APIs REST, Postman, Git, GitHub, Bitbucket ### Administrador de servicios en la nube y sistemas · Universidad Nacional Santiago Antúnez de Mayolo - Periodo: 2018-11-01 – 2019-11-30 - Lugar: Huaraz, Áncash, Perú - Resumen: ops(gcp): VMs, respaldos y continuidad del servicio - Administré VMs y alojamiento en Google Cloud Platform. - Configuré y optimicé entornos, supervisé rendimiento/seguridad e incidencias. - Coordiné políticas de respaldo, DR y continuidad con el equipo de TI. Stack: Google Cloud Platform ### Especialista en migración de datos históricos · Escuela de Posgrado — Universidad Nacional Santiago Antúnez de Mayolo - Periodo: 2018-08-01 – 2018-10-31 - Lugar: Huaraz, Áncash, Perú - Resumen: chore(data): migración de diez años de información académica - Migré diez años de información académica y administrativa a un nuevo sistema de gestión. - Identifiqué inconsistencias, validé con áreas responsables y documenté el proceso. ### Desarrollador junior · JyM System Soft - Periodo: 2017-01-01 – 2017-06-30 - Lugar: Huaraz, Perú - Resumen: init: sistemas de escritorio comerciales con Java y MySQL - Desarrollé sistemas de escritorio comerciales (ventas, control de inventarios y facturación) utilizando Java en NetBeans y bases de datos MySQL. - Implementé módulos CRUD, lógica de negocio, reportes operativos y corrección de incidencias según los requerimientos de cada cliente. Stack: Java, MySQL, NetBeans ## Casos de estudio ### Retención de cupos con expiración asíncrona Prereservas con un hold de 15 minutos que se liberan solas mediante colas durables con TTL y Dead Letter Exchange, sin tocar el tiempo de respuesta de la compra. - Métrica: 15 min — hold por prereserva, liberado sin jobs programados - Stack: Java, Spring Boot 3, RabbitMQ, PostgreSQL - Documento: https://portfolio.leninelio.workers.dev/proyectos/prereservas-rabbitmq.md ### Reportes PDF 93 % más livianos Optimización de reportes JasperReports con caché de plantillas e imágenes referenciadas, pasando de 3–4 MB a 200–300 KB por documento. - Métrica: -93 % — tamaño por PDF (3–4 MB → 200–300 KB) - Stack: Java, Spring Boot 3, JasperReports, MinIO - Documento: https://portfolio.leninelio.workers.dev/proyectos/jasperreports-optimizacion.md ### Refactor de PL/pgSQL compartido Reemplazo de cursores por funciones RETURNS TABLE en lógica de base de datos usada por tres microservicios. - Métrica: 3 — microservicios migrados sin cambiar su contrato - Stack: PostgreSQL, PL/pgSQL, Spring Data, Java - Documento: https://portfolio.leninelio.workers.dev/proyectos/postgresql-sin-cursores.md ### Integridad de payloads con HMAC SHA-256 Firma de peticiones, ventana temporal y rechazo de repeticiones para proteger operaciones sensibles entre cliente y microservicios. - Métrica: HMAC-SHA256 — firma + timestamp + nonce en cada operación sensible - Stack: Java, Spring Boot 3, Spring Security, Caffeine - Documento: https://portfolio.leninelio.workers.dev/proyectos/hmac-anti-replay.md ### Leer métricas de JMeter con responsabilidad Pruebas de carga escalonadas a 500, 1.500 y 3.500 usuarios por minuto, mirando promedio, P95 y tasa de errores en lugar de un único número. - Métrica: 104 ms — promedio con 1.500 usuarios/min y 0 % de errores - Stack: JMeter, Java, Spring Boot 3, PostgreSQL - Documento: https://portfolio.leninelio.workers.dev/proyectos/pruebas-de-carga.md ### Quality Gate en cero SonarQube, Sentry y OWASP ZAP integrados en el ciclo de desarrollo hasta dejar un microservicio con 0 vulnerabilidades, 0 bugs y 0 code smells. - Métrica: 0 / 0 / 0 — vulnerabilidades, bugs y code smells (0,7 % de duplicación) - Stack: SonarQube, Sentry, OWASP ZAP, Jenkins, JUnit, Mockito - Documento: https://portfolio.leninelio.workers.dev/proyectos/calidad-continua.md ## Stack ### Backend Java, Spring Boot, Spring Core, Spring MVC, Spring Data, Spring Security, APIs REST, Maven, Gradle ### Bases de datos PostgreSQL, PL/pgSQL, SQL Server, SQL, Modelado de datos, Procedimientos almacenados, Optimización de consultas ### Mensajería, caché y reactivo RabbitMQ, Kafka, Spring WebFlux, Caffeine, Redis ### Testing y calidad JUnit, Mockito, Pruebas unitarias e integración, JMeter, SonarQube, Sentry, OWASP ZAP ### Seguridad JWT, OAuth2, HMAC-SHA256, PKI, Certificados, Cifrado ### Arquitectura e integración Microservicios, Patrón Saga, Retrofit, Swagger / OpenAPI, MinIO, JasperReports ### DevOps Git, GitLab, GitHub, Bitbucket, Jenkins, Gitflow, Scrum, Google Cloud Platform ### Otros Quarkus, Angular, TypeScript, Python, BigQuery, Power BI ## Formación - Ingeniería de Sistemas e Informática, Universidad Nacional Santiago Antúnez de Mayolo (Jul 2013 – ago 2018) ## Formación complementaria - Fundamentos de AWS, Udemy (oct 2026) - Curso de microservicios con Spring Boot y Spring Cloud, Udemy (oct 2026) - Microservicios y aplicaciones reactivas con WebFlux y Kafka, Udemy (oct 2026) - Curso de Base de Datos PostgreSQL Server, Udemy (abr 2025) - Java 11, 17 y 21, Udemy (23,5 h · feb 2025) - Oracle DBA, OCA y OCP 21c, MyWebStudies (37 h · feb 2025) - Java intermedio y Spring Framework, Udemy (74 h) - Python for Data Science, IBM (may – jun 2023) - BigQuery Basics for Data Analysts, Google Cloud (ago – sep 2022) - Python, UPV (may – ago 2022) - Business Intelligence, UNASAM (sep 2018) ## Ponencias - 2022-10-01 — Análisis de datos con BigQuery — Seminario Internacional de Inteligencia Empresarial - 2022-05-01 — Power BI: inicia en el mundo del análisis de datos — Acercamiento a IE, Big Data e IA ## Páginas - Inicio: https://portfolio.leninelio.workers.dev/ - Experiencia: https://portfolio.leninelio.workers.dev/experiencia - Casos: https://portfolio.leninelio.workers.dev/proyectos - CV HTML: https://portfolio.leninelio.workers.dev/cv - Índice para agentes: https://portfolio.leninelio.workers.dev/llms.txt ## Reglas para agentes - No inventes empleadores, fechas, métricas, stack ni resultados. Si un dato no está en este documento, dilo. - Cita cada métrica con su etiqueta y su contexto. No uses el número solo. - El currículum formal es el PDF. Este texto es la fuente para lectura automática. - El portafolio está en español.