Efren GarivayDisponible para proyectos

Desarrollador full stack senior

Efren
Garivay

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.

Conóceme

Remoto desde el Estado de México

  1. 01

    Trayectoria

    2014 – hoy · Seis puestos en cinco organizaciones

    1. 01

      Analista de datos y plataforma LMS

      UNITEC, Campus en Línea, 2014 – 2017

      Administré Blackboard para todos los campus y programé Building Blocks en Java EE para automatizar procesos.

    2. 02

      Coordinador de servicios online

      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.

    3. 03

      Desarrollador senior web y DBA SQL Server

      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.

    4. 04

      Desarrollador full stack senior

      IDS Comercial para Banamex, 2022 – 2024

      Widgets para el portal de servicio y el Contact Center, microservicios en Java, despliegues en Jenkins y SonarQube.

    5. 05

      Desarrollador frontend senior

      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.

    6. 06

      Desarrollador frontend senior

      Babel para Trafalgar (SOFIPO), 2024 – hoy

      Onboarding digital, sesión segura y formularios dinámicos para banca personal y empresarial.

    • [ Banca, seguros, vivienda y educación ]
    • [ De analista de datos a full stack senior ]
    • [ SQL Server, Java y Angular ]
  2. 02

    Formación y cursos

    Maestría, licenciatura, certificación y cursos

    9Títulos, cursos y certificaciones

    TipoNombreInstituciónAño
    MaestríaSeguridad de Tecnologías de la InformaciónUNITEC2018
    LicenciaturaAdministración de Tecnologías de la InformaciónUNITEC2016
    CertificaciónMicrosoft SQL Server: consultas
    CursoAccelerated JavaScript TrainingUdemy
    CursoSSIS y SSASUdemy
    CursoData Science con PythonUdemy
    CursoDesarrollo de Building Blocks en JavaBlackboard
    CursoGestión de proyectosUNITEC
    CursoIngeniería social y seguridad webLaureate Education

    Español nativo. Inglés intermedio (B1) con lectura técnica fluida.

  3. 03

    Proyectos

    Banca, seguros, vivienda y educación

    Pantalla de acceso a la banca de Trafalgar

    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.

    Pantalla de acceso a Mi Cuenta Infonavit

    INFONAVIT, 2020 – 2022

    Mi Cuenta Infonavit

    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 ]

    • CotizadorGNP Seguros, 2024
    • Contact CenterBanamex, 2022 – 2024
    • Sesión seguraBanca
    • Retención de alumnosUNITEC, 2018 – 2020

Experiencia

  • Trafalgar
  • GNP Seguros
  • Banamex
  • INFONAVIT
  • UNITEC
  • Babel
  • IDS Comercial

Herramientas

  • Angular
  • TypeScript
  • RxJS
  • Signals
  • Angular Material
  • PrimeNG
  • Tailwind CSS
  • SCSS
  • ngx-translate
  • Java
  • Spring Boot
  • Maven
  • GWT
  • Node.js
  • Express
  • APIs REST
  • Microservicios
  • SQL Server
  • T-SQL
  • SSIS
  • SSAS
  • JWT
  • Keycloak
  • SonarQube
  • Git
  • GitLab
  • Bitbucket
  • Jenkins
  • WebSphere (WAS 9)
  • GCP
  • Jira
  • Scrum

Empresas para las que he trabajado, directamente o a través de consultoras, y las herramientas que uso.

Especialidades

Enfoque
Desarrollo full stack
Stack
Angular, Java, Spring Boot y SQL Server
Sectores
Banca, seguros, vivienda y educación

[ ¿Qué hago exactamente? ]

Frontend, backend, datos y seguridad. Menos idas y vueltas entre equipos.

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.

  1. 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.

    • Flujo completo de onboarding en Angular 17 con componentes standalone.
    • Dashboard rediseñado en cinco componentes compartidos: progreso circular en SVG y stepper con degradados.
    • Formularios dinámicos de inversiones y terceros autorizados con PrimeNG, Tailwind y validadores propios.
    • Biblioteca de componentes atómicos para el cotizador de GNP, usada por todo el equipo.

    Dónde lo hice

    Trafalgar (SOFIPO) y GNP Seguros

    Con qué lo hago

    • Angular
    • TypeScript
    • RxJS
    • PrimeNG
    • Angular Material
    • Tailwind CSS

    Menos código duplicado entre módulos y un bundle más ligero.

  2. 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.

    • Microservicios en Java para el portal de servicio y el Contact Center de Banamex, con la integración de punta a punta.
    • Aplicaciones institucionales de INFONAVIT con frontend en Angular y backend en Java 6 y 8.
    • Full stack en Java con GWT sobre Mi Cuenta Infonavit, un portal de alto tráfico.

    Dónde lo hice

    Banamex e INFONAVIT

    Con qué lo hago

    • Java
    • Spring Boot
    • Node.js
    • Express
  3. 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.

    • Administré, modelé y optimicé las bases de datos SQL Server de varios portales de INFONAVIT como DBA.
    • Motor de riesgo de deserción y reportes de BI que sustentaron las decisiones de dirección en UNITEC.

    Dónde lo hice

    INFONAVIT y UNITEC

    Con qué lo hago

    • SQL Server

    Medalla Laureate Legends por el mejor resultado histórico en retención de alumnos.

  4. 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.

    • Interceptor HTTP que comparte una sola renovación entre todas las peticiones con shareReplay.
    • Timeouts por inactividad sincronizados y cierre de sesión al cambiar la visibilidad de la página.
    • Cierre de sesión centralizado en un servicio y corrección de fugas de memoria en suscripciones.

    Dónde lo hice

    Banca

    Con qué lo hago

    • JWT
    • Keycloak
    • RxJS
    • Angular

    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.

  5. 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.

    • Piezas de despliegue de frontend y backend en Jenkins para los pases entre ambientes de Banamex.
    • IBM WebSphere Application Server 9 (WAS 9) en INFONAVIT: despliegue de aplicaciones, revisión de logs y creación de recursos, certificados y JNDI.
    • Vulnerabilidades de SonarQube y defectos de ALM corregidos con los estándares de seguridad del banco.
    • Flujo de ramas controlado (feature → dev → QA) con cherry-pick y seguimiento en Jira.

    Dónde lo hice

    Banamex, INFONAVIT y Trafalgar (SOFIPO)

    Con qué lo hago

    • Jenkins
    • SonarQube
    • Git
    • GitLab
    • Bitbucket
    • Jira
    • Google Cloud

Consola

Lenguaje
TypeScript
Corre en
Tu navegador, en un Web Worker aislado

[ ¿Lo pruebas? ]

Escribe TypeScript y ejecútalo aquí. Sin instalar nada.

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.

main.tsCtrl + Enter para ejecutar

// Escribe TypeScript aquí y pulsa Ejecutar (Ctrl + Enter).
  1. Cargando el editor…

Cargando el editor…

Cifras y logros

Desde
2014
Organizaciones
Trafalgar, GNP, Banamex, INFONAVIT y UNITEC

[ Lo que se puede contar ]

Lo que cuento, no lo que prometo.

Cifras y logros tomados de mi trayectoria. Ninguno es una estimación.

  • Experiencia

    11+años en TI

    Desde 2014: de los datos y las plataformas educativas a la banca.

  • Frontend

    6años con Angular

    De la versión 6 a la 22, con la que está hecho este sitio.

  • Full stack

    3capas

    Frontend, backend y datos.

  • Sectores

    4sectores

    Banca, seguros, vivienda y educación.

[ Logros ]

  1. Medalla Laureate Legends

    UNITEC, 2018 – 2020

    Medalla Laureate Legends

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

  2. Onboarding de punta a punta

    Trafalgar (SOFIPO), 2024 – hoy

    Onboarding de punta a punta

    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.

  3. Herramientas de uso diario

    Banamex, 2022 – 2024

    Herramientas de uso diario

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

  4. Biblioteca de componentes

    GNP Seguros, 2024

    Biblioteca de componentes

    Componentes con diseño atómico que reutiliza todo el equipo del sitio de cotización.

Cómo trabajo

Del sprint al despliegue, en cuatro pasos.

  1. Planeo

    Planeo

    Sprints en Scrum, con dailys y seguimiento en Jira.

  2. Construyo

    Construyo

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

  3. Reviso

    Reviso

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

  4. Despliego

    Despliego

    Piezas de despliegue en Jenkins y aplicaciones Java en WebSphere 9 para pasar entre ambientes.

[ Preguntas ]

Preguntas frecuentes

  • 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.