Rene Alejandro Calderón

Java/Spring Backend developer (microservices)

Perfil profesional

Implementar soluciones a problemas triviales o complejos mediante el uso de las tecnologías de información implementando algoritmos de calidad, patrones de diseño, principios SOLID, uso de librerías y frameworks así como el testeo de las mismas para garantizar su correcto funcionamiento.


Contacto


Skills

  • Java
  • Spring
  • Kotlin
  • SQL
  • Microservises
  • Kafka
  • AWS
  • Docker
  • Unittest
  • POO
  • Git
  • Linux
  • Jenkins
  • MongoDB
  • Kubernates
  • Monitoring ms
  • Javascript
  • Angular
  • CSS


Escolaridad

Cedula: 12081770


Instituto Nacional de Mexico
Ingenieria en Tecnológias de la Información

2013 - 2017


Consultora TecGurus
Diplomado java experto

2018 - 2019



Hobbies


  • Tocar Guitarra
  • Gym
  • Programar
  • Dar clases en Udemy y Youtube


Cursos que imparto en Udemy


Selecciona un lenguaje


Acerca de mi


Me llamo Alejandro soy desarrollador de aplicaciones web y apasionado por las nuevas tecnologías. Te invito a revisar algunos proyectos que tengo en mi github el cual podras encontrar en la seccion de contacto.

Mi experiencia con Java

A lo largo de mi carrera he trabajado con diferentes proyectos y tecnologías enfocadas a Java. Principalmente a aplicaciones web con Spring framework, también podría destacar el desarrollo de sistemas de web scrapping, generación de reportes con JasperReports y reportes en Excel con apache poi. Las versiones de Java con las que he trabajado son 7, 8, 11 y 17 siempre haciendo uso de buenas prácticas aplicando patrones de diseño y principios solid.

Mi experiencia con Spring

En la mayoría de mis proyectos he utilizado Spring en diferentes aplicaciones y diferentes proyectos incluso con diferentes lenguajes como es Kotlin y Java, trabajé con spring context(sin autoconfiguracion) como con Spring Boot. He integrado diferente bases de datos relacionales, documentales y de cache con spring data, también he utilizado clientes http reactivos(web client) y no reactivos (rest template), he integrado con spring otras tecnologías como apache Kafka usando spring Kafka o spring cloud streams, por último he implementado spring security y creación de test unitarios con Junit, mockito y Spring Boot test.

Mi experiencia con Microservicios

Mi experiencia en el desarrollo de microservicios va desdé la descomposición de un monolito, diseño, mantenimiento y monitoreo. Siempre modelado con DDD Las tecnologías y herramientas herramientas qué he utilizado son: Spring cloud config server, Spring cloud eureka server, Spring cloud registry server, Spring cloud gateway, Spring cloud circuit baker, Spring cloud openfeign, Spring cloud streams, Aws api gateway, Aws SQS, Aws lambdas, Zipkin, Prometheus, Apache Kafka, Axon , Docker, Algunos de los patrones que he usado son: CQRS, SAGA, Event sourcing, Circuit baker, API gateway, Externalized Configuration, Database per microservice,

Mi experiencia con Devops y Cloud

Quizás mi mayor experiencia en devops es con docker y git, en el área de orquestación de contenedores tengo ligera experiencia en kubernetes. Me ha tocado consumir y muy ocasionalmente crear pipelines principalmente en jenkins y GitHub actions En el apartado de cloud computing he trabajado con el sdk de AWS, S3, EC2 y RDS y también he trabajado con GCP principalmente con spanner db e identity platform.

Mi experiencia en desarrollo y consumo de API's

En la mayoría de mis trabajos he consumido y c reado api RESTful. Cuando me toca diseñar un api REST contemplo las buenas prácticas del modelo de madurez de Richardson. He manejado eventos con MSQ principalmente Kafka. También en mis primeros trabajos llegué a consumir algunas servicios SOAP

Mi experiencia con Angular

Durante un par de años estuve trabajando como full stack y trabajaba con la versión de angular 9 me tocó hacer varias cosas entre ellas la creación de servicios, componentes, módulos, rutas, plantillas html y guards.

Expericencia laboral


Despegar.com

07/2022-01/2024

Desarrollo de sistema middleware para mappeeo Objetos de negocio de todos los proveedores, servicios internos y externos ,se recolectaba información mediante restful (Mejora propuesta message brokers para servicios internos) para dicho mappeeo, tencnologias Java 11 y Spring 5 el reto en este trabajo no fueron las tecnologias si no la lógica de negocio ya que entre terminología, impuestos de cada país, el mundial Qatar, divisas de países, convenios con hoteles, vuelos, tours, agencias de viajes y parques de entretenimiento la logica un tanto complicada. Cada desarrollo se hacía con altos estándares de código aplicando clean code, principios SOLID y patrones de diseño con sus respectivos unit test

Rappi

06/2021-07/2022

¿Alguna ves has usado la app de Rappi? Bien durante mi estadía aquí estuve trabajando en la vertical de restaurantes de la app de usuario (toda la parte que tiene que ver con tiendas, pedidos y productos)100% enfocado en backend utilizando java y kotlin, desarrollando, manteniendo y monitoreando microservivios principalmente spring webflux. Importante mencionar La implementación de spring webflux con kotlin es particularmente especial ya que con java utilizamos project reactor y con cotlin se utliza una tecnolgía propia de Kotlin llamda coroutines similar a threads pero con mas eficientes, de todos los microservicios un 80% fueron desarrollados con kotlin y el otro 20% con java, las tecnologías a destacar son POSTGRESQL, REDIS, KAFKA, DOCKER, JENKINS, SONARCUBE, DOCUMENTDB, J2DBC SIGNALFX SPRING WEBFLUX un poco de GO entre otras, también me gustaría mencionar la implementación de patrones de microservicios como circuit breaker, saga, CQRS, etc... tambiém entre mis actividades estaba dar soporte, revisar pull request y proponer mejoras a la implementación. También es importante mencionar que era un equipo de trabajo mulicultural.

Equifax

01/2019-01/2021

Durante mi estancia aquí me encontré desarrollando en diversas tecnologías: Refactorización de código y dependencias siguiendo los estándares de OWASP y atendiendo vulnerabilidades de un escaner de codigo FORTIFY y SONARCUBE. Implementación de procesos batch utilizando: JAVA 8, JDBC, JPA, SPRING BOOT, APACHE SPARK, SPRING AOP, AWS(S3, EMR, SQS) SPOCK, GROOVY. Creacion y mantenimiento a microservicios usando: JAVA 8, SPRING BOOT, SPRING CLOUD, SPRING JPA, SPRING OAUTH SECURITY, SPRING TEST, JUNIT, MOCKITO, LOMBOK, AWS, POSTGRESQL, DYNAMODB. Creación de pantallas del lado del front con . ANGULAR 7, SASS, HTML5, JWT, CHARTJS, JASMIN .Migración de consultas ORACLE a POSTGRESQL para los sistemas implementados con JDBC. Todo lo anterior utilizando la metodología SCRUM, Integración continua con JENKINS y Testeo continuó. Como skills adquiridos aquí principalmente fue el conocimiento de un panorama general de todo el ciclo de desarrollo del software al realizar tareas end to end tuve la oportunidad de entender como es toda la integración entre diferentes sistemas, como ayuda DEVOPS a la calidad y mejora en tiempos de implementación, también a conocer que es la arquitectura de microservicios y su ventaja sobre aplicaciones monolíticas.

Oeste SA de CV

12/2017-01/2019

Aquí obtuve mi primer empleo como desarrollador JR estuve asignado a 3 clientes diferentes, Mi primer proyecto fue implementación de un sistema BPM usando JAVA 7, SPRING BOOT, SPRING DATA JDBC como tecnologías principales este desarrollo fue para la empresa Naturgy Al finalizar este proyecto fui asignado para dar continuidad al desarrollo un sistema de gestión empresarial para una micro empresa llamada IBH Las tecnologías principales que maneje aquí fueron: JAVA 8, SPRING BOOT, SPRING DATA JPA, SPRING SECURITY, JASPER REPORTS, APACHE POI, POSTGRESQL, ABGULAR 2 Y TYPESCIPT, por ultimo participe en un proyecto para la secretaría de turismo que consistía en extraer datos de la web (WEBSCRAPING) para su posteriror analizis. Las tecnologías usadas aquí fueron JAVA 7 SPRING BOOT, SPRING DATA MONGO,SELENIUM, MONGO DB. Durante mi estancia aquí aprendí que es la arquitectura REST, Como funciona una aplicación MVC, Que es un ORM y sus ventajas sonre JDBC, Como aplicar las estructuras de java api collections de manera eficiente, que es IoC e inyección de dependencias y el lenguaje Typescript junto con Angular.

Instituto Tecnológico de Tlanepantla

05/2017-12/2017

Aquí hice mis residencias profesionales, mis actividades consistían en sacar información de una base de datos implementada en ORACLE 12G para generar reportes y dar datos concretos a la administración de la escuela, La competencia más importante que desarrolle aquí fue el entendimiento de teoría de conjuntos aplicada a bases de datos relaciones.

Proyecto personal

Tiempo libre

En mi tiempo libre imparto cursos de programación en Udemy y Youtube