
Trafalgar (SOFIPO), 2024 – hoy
Onboarding digital
Apertura de cuentas personales y de banca empresarial en Angular 17, integrada a APIs REST protegidas con JWT y Keycloak.
Desarrollador full stack senior
Hola, soy Efren: desarrollador full stack con más de 11 años en TI. Construyo aplicaciones en Angular, servicios en Java y Spring Boot y bases de datos en SQL Server para banca, seguros y gobierno, donde un error cuesta caro.
Remoto desde el Estado de México
2014 – hoy · Seis puestos en cinco organizaciones
UNITEC, Campus en Línea, 2014 – 2017
Administré Blackboard para todos los campus y programé Building Blocks en Java EE para automatizar procesos.
UNITEC, Campus en Línea, 2018 – 2020
Medalla Laureate Legends por el mejor resultado histórico en retención de alumnos, con un motor de riesgo de deserción y reportes de BI.
Ultrasist para INFONAVIT, 2020 – 2022
Full stack en Angular, Java y GWT sobre Mi Cuenta Infonavit, un portal de alto tráfico. Administré sus bases de datos y desplegué en WebSphere 9.
IDS Comercial para Banamex, 2022 – 2024
Widgets para el portal de servicio y el Contact Center, microservicios en Java, despliegues en Jenkins y SonarQube.
IDS Comercial para GNP Seguros, 2024
Sitio de cotización y perfil de clientes con una biblioteca de componentes atómicos para todo el equipo.
Babel para Trafalgar (SOFIPO), 2024 – hoy
Onboarding digital, sesión segura y formularios dinámicos para banca personal y empresarial.
Maestría, licenciatura, certificación y cursos

| Tipo | Nombre | Institución | Año |
|---|---|---|---|
| Maestría | Seguridad de Tecnologías de la Información | UNITEC | 2018 |
| Licenciatura | Administración de Tecnologías de la Información | UNITEC | 2016 |
| Certificación | Microsoft SQL Server: consultas | ||
| Curso | Accelerated JavaScript Training | Udemy | |
| Curso | SSIS y SSAS | Udemy | |
| Curso | Data Science con Python | Udemy | |
| Curso | Desarrollo de Building Blocks en Java | Blackboard | |
| Curso | Gestión de proyectos | UNITEC | |
| Curso | Ingeniería social y seguridad web | Laureate Education |
Español nativo. Inglés intermedio (B1) con lectura técnica fluida.
Banca, seguros, vivienda y educación

Trafalgar (SOFIPO), 2024 – hoy
Apertura de cuentas personales y de banca empresarial en Angular 17, integrada a APIs REST protegidas con JWT y Keycloak.

INFONAVIT, 2020 – 2022
Full stack en Angular, Java y GWT sobre un portal de alto tráfico, y DBA de sus bases de datos SQL Server.
[ Otros proyectos ]
Empresas para las que he trabajado, directamente o a través de consultoras, y las herramientas que uso.
Especialidades
[ ¿Qué hago exactamente? ]
Trabajo en sistemas con reglas estrictas, auditorías y muchos usuarios. Me hago cargo de la aplicación, de los servicios que la alimentan y de los datos que hay detrás.
01 Frontend Angular
Componentes standalone, signals, RxJS, formularios reactivos y bibliotecas de componentes con diseño atómico. También migraciones entre versiones sin detener al equipo.
Dónde lo hice
Trafalgar (SOFIPO) y GNP Seguros
Con qué lo hago
Menos código duplicado entre módulos y un bundle más ligero.

02 Backend y APIs
APIs REST y microservicios en Java y Spring Boot, y también en Node y Express. Escribo el servicio y la pantalla que lo consume, así que hay menos idas y vueltas entre equipos.
Dónde lo hice
Banamex e INFONAVIT
Con qué lo hago

03 Bases de datos
SQL Server con T-SQL, modelado, administración y optimización. SSIS, SSAS y tableros de inteligencia de negocios para dirección.
Dónde lo hice
INFONAVIT y UNITEC
Con qué lo hago
Medalla Laureate Legends por el mejor resultado histórico en retención de alumnos.

04 Sesión segura
JWT y Keycloak, renovación de token sin ráfagas, cierre por inactividad sincronizado y cierre de sesión que no deja puertas abiertas.
Dónde lo hice
Banca
Con qué lo hago
Una sola renovación por vencimiento, sesiones estables y menos puntos de falla en la autenticación.
private refresh$?: Observable<string>;
intercept(req, next) {
return next.handle(this.conToken(req)).pipe(
catchError(err => err.status === 401
? this.renovarUnaVez().pipe(
switchMap(t => next.handle(this.conToken(req, t))))
: throwError(() => err)),
);
}
// Todas las peticiones que llegan con 401 esperan la misma renovación
private renovarUnaVez() {
this.refresh$ ??= this.auth.refresh().pipe(
finalize(() => (this.refresh$ = undefined)),
shareReplay(1),
);
return this.refresh$;
}Ejemplo ilustrativo del patrón, no es código de un cliente.
05 Calidad y despliegue
Despliegues de frontend y backend con Jenkins, aplicaciones Java en IBM WebSphere Application Server 9, remediación de vulnerabilidades en SonarQube, ramas controladas en Git y trabajo en Scrum.
Dónde lo hice
Banamex, INFONAVIT y Trafalgar (SOFIPO)
Con qué lo hago

Consola
[ ¿Lo pruebas? ]
Una consola libre: escribe tu código, ejecútalo y mira la salida y el JavaScript que genera. Corre en tu navegador: no sale de tu equipo.
// Escribe TypeScript aquí y pulsa Ejecutar (Ctrl + Enter).Cargando el editor…
Cifras y logros
[ Lo que se puede contar ]
Cifras y logros tomados de mi trayectoria. Ninguno es una estimación.
Experiencia
Desde 2014: de los datos y las plataformas educativas a la banca.
Frontend
De la versión 6 a la 22, con la que está hecho este sitio.
Full stack
Frontend, backend y datos.
Sectores
Banca, seguros, vivienda y educación.
[ Logros ]

UNITEC, 2018 – 2020
Mejor resultado histórico en retención de alumnos de nuevo ingreso, al frente de la estrategia de seguimiento y acompañamiento.

Trafalgar (SOFIPO), 2024 – hoy
El flujo completo de apertura de cuentas y banca empresarial en Angular 17: más fácil de mantener y con un bundle más ligero.

Banamex, 2022 – 2024
Componentes y widgets que los agentes del Contact Center usan todos los días, con sus microservicios en Java.

GNP Seguros, 2024
Componentes con diseño atómico que reutiliza todo el equipo del sitio de cotización.
Del sprint al despliegue, en cuatro pasos.

Sprints en Scrum, con dailys y seguimiento en Jira.

La aplicación en Angular, los servicios en Java y Spring Boot y los datos en SQL Server.

Ramas controladas (feature → dev → QA) y vulnerabilidades corregidas en SonarQube.

Piezas de despliegue en Jenkins y aplicaciones Java en WebSphere 9 para pasar entre ambientes.
[ Preguntas ]
Las dos cosas: Angular en el frente, Java y Spring Boot o Node en los servicios, y SQL Server en los datos.
Sí, desde el Estado de México.
De la 6 a la 22, incluidas las migraciones entre versiones.
Intermedio (B1), con lectura técnica fluida.
Escríbeme a egarivay2@gmail.com.