Javier Alejandro Parra Cervantes

Arquitecto de Software y Desarrollador

36 añosjavier javierNOSPAMparra.com.mx SF Bay Area, CA

versión web: javierparra.com.mx/cv

Resumen

Más de quince años de experiencia desarrollando aplicaciones web. Experiencia lidereando equipos de ingeniería, capacitando desarrolladores y desarrollando herramientas para hacer más productivo el proceso de desarrollo.

Habilidades Técnicas

Arquitectura de Software
98
PHP
90
Javascript
98

Typescript
90
ReactJS
80
NodeJS
90
CSS
97

SASS
90
Postgresql
90

PL/pgSQL
65
MySql
85
Python
65
Docker
60
Idioma inglés
95

Escrito
95
Hablado
90

Actualmente

Ingeniero de Software Staff Pangaea desde March 2022

  • Arquitectura e implementación de un sistema para integrar nuestras soluciones con los sitios existentes de nuestros clientes.

Tecnologías Usadas

Typescript
La mayoría del stack está desarrollado en Typescript.
PHP
Un servicio está desarrollado en PHP con Laravel.
ReactJS + Next
La aplicación de checkout está desarrollada con NextJS.
PostgreSQL
La mayoría de los servicios usan PostgreSQL.
MySql
Uno de los servicios usa MySql.

Experiencia

Ingeniero de Software Senior Pangaea Mayo 2020 - Marzo 2022

  • Lidereo de la migración de nuestras tiendas desde Shopify a NextJS.
  • Lidereo del esfuerzo para dividir el backend monolítico a una arquitectura de microservicios.
  • Implementación de un sistema de entrenamiento para que los ingenieros actuales realicen entrevistas; agilizando nuestro proceso de contratación.
  • Arquitectura e implementación de un sistema de manejo de contenido con control de versiones para aplicaciones NextJS.

Tecnologías Usadas

Typescript
La mayoría del stack está desarrollado en Typescript.
PHP
Un servicio está desarrollado en PHP con Laravel.
ReactJS + Next
La aplicación de checkout está desarrollada con NextJS.
PostgreSQL
La mayoría de los servicios usan PostgreSQL.
MySql
Uno de los servicios usa MySql.

Ingeniero de Software Senior Intersog desde abril 2019

  • Lidereo de equipo de frontend.
  • Implementación de un programa piloto de chat y audio-llamadas usando las APIs de Twilio.
  • Implementación de un newsfeed incluyendo reacciones, comentarios y grupos.

Tecnologías Usadas

Typescript
Todo el stack del producto es desarrollado usando Typescript.
ReactJS
El frontend es desrrollado con ReactJS funcional usando typescript, React Hooks y MaterialUI.
Firebase
Todo el backend está hecho usando cloud functions y firestore.

Head of Engineering Decidata julio 2017 - abril 2019

  • Optimización de los recursos de ingeniería necesarios para evaluar nuevo talento. Esto tuvo un impacto significativo durante el periodo de crecimiento agresivo en el cual duplicamos nuestro equipo de ingeniería.
  • Arquitectura e implementación de un sistema para generación automática de APIs REST. Esto liberó recursos previamente dedicados a generar endpoints y homogeneizó las APIs de nuestros distintos productos disminuyendo la curva de aprendizaje.
  • Implementación de procesos SCRUM adecuados a las necesidades específicas de nuestra organización. Esto nos permitió tener un delivery roadmap claro, transparente y realista.

Tecnologías Usadas

Python
La mayoría de los proyectos fueron desarrollados usando Python 3 en el backend.
NodeJS
Un proyecto en específico fue arquitecturado para usar NodeJS y AWS Lambdas.
PostgreSQL
Todos los datos disponibles para el frontend fueron guardados en Postgres; asegurando la integridad de datos con reglas, triggers y funciones.
AWS
Lambda, DynamoDB, Cloudwatch, Elastic Beanstalk, Redshift, SQS, Kinesis, entre otros.
ReactJS
El frontend de todos los proyectos fue desarrollado con React y Flow.
Django
Migración de las aplicaciones legacy que estaban desarrolladas con Django.
Falcon Framework
Usamos Falcon Framework para desarrollar el generador de APIs.
Memcached
Para optimizar los tiempos de respuesta del generador de APIs.
Docker
Todos nuestros proyectos corrían en contenedores usando Docker y Docker Compose.

Ingeniero de software Wizeline noviembre 2016 - julio 2017

  • Desarrollo de un chat-bot de Facebook para una importante publicación estadounidense. La característica clave de este desarrollo fue la habilidad de que el mismo software pudiera utilizar distintas fuentes de contenido dependiendo de la página de Facebook con la que se estuviera entablando la conversación. Esta característica volvió trivial la tarea de crear un nuevo chat-bot para una publicación distinta.
  • Arquitectura y desarrollo de un framework extensible para desarrollar skills de Alexa utilizando infraestructura serverless.

Tecnologías Usadas

NodeJS
Express
Express fue usado como webserver para los chatbots y para emular llamadas lambda en el framework serverless de Alexa.

Ingeniero de soporte y desarrollo de software Netgem febrero 2016 - noviembre 2016

  • Soporte al equipo de desarrollo en TotalPlay.
  • Desarrollo de una aplicación para diagnosticar, monitorear y controlar la STB en tiempo real y de manera remota. La arquitectura de esta aplicación fue diseñada para ser segura y extensible mediante un sistema de plugins.

Tecnologías Usadas

Javascript
El software de la STB fue desarrollado usando Javascript vainilla.
NodeJS
El servidor usado para diagnosticar, monitorear y controlar STBs.

Socio Fundador Arsophía SA de CV marzo 2014 - enero 2016

  • Capacitación de programadores recién egresados.
  • Lidereo de equipo de desarrollo trabajando sobre múltiples proyectos simultáneamente.
  • Automatización de deployment de servidores utilizando Puppet y la API de Openstack.
  • Desarrollo de la versión 2.0 del framework RA3 tomando en cuenta las necesidades específicas del equipo de desarrollo.

Tecnologías Usadas

PHP
El backend de todos los proyectos fue creado usando un framework PHP interno.
Javascript
Prototype JS
El frontend fue desarrollado usando el (ahora defunto) framework Prototype para interactuar con el DOM y agregar sintaxis de clases en ES5.

Socio Fundador e-Algorab junio 2011 - marzo 2014

  • Planeación, deployment y administración de servidor SVN.
  • Administración de servidores.
  • Desarrollo en PHP de un servidor para el protocolo WebSocket.
  • Desarrollo inicial de framework MVC llamado RA3.

Tecnologías Usadas

PHP
El backend de todos los proyectos fue creado usando un framework PHP interno.
Javascript
Prototype JS
El frontend fue desarrollado usando el (ahora defunto) framework Prototype para interactuar con el DOM y agregar sintaxis de clases en ES5.

Desarrollador web Televés Internacional febrero 2011 - noviembre 2011

  • Aplicación web para llevar control de los estados de reparación de sus productos. Integración con tracking pages de los envíos parseando HTML.
  • Capacitación en desarrollo OOP a otro miembro del equipo.
  • Desarrollo de la intranet de la empresa.

Tecnologías Usadas

PHP
Javascript

Proyectos

Academia Mexicana de la Lengua • 2013 - 2016

  • Sistema para búsqueda y administración de información lexicográfica. Al día de hoy se han publicado 28,814 lemas de ocho obras diferentes. Con 27,106 lemas a publicar de una novena obra.
  • Sistema de usuarios con permisos modulares y granulares.
  • Integración con memcache administrable por usuario administrador.
  • Integración con la API de Cloudfiles.
  • Sistema de autocomplete global agregando información de distintas fuentes.

Brisku • 2010 - 2016

  • Buscador por facetas de ~90,000 registros.
  • Sistema de desplegado y venta de espacio publicitario por subasta de acuerdo a términos de búsqueda.
  • Sistema para verificar la identidad de médicos integrado con el registro de cédulas profesionales de la SEP.
  • Arquitectura de sistema para permitir a médicos modificar un borrador de todos sus datos. A publicar automáticamente cuando su identidad haya sido aprobada.

Clean Energy @ Harvard • 2007 - 2008

  • Arquitectura y desarrollo de CMS diseñado para funcionar alrededor de la plataforma de boinc.
  • Arquitectura y desarrollo del backend de los "scipplets".

Proyectos hobby

Python

  • Modificación del plugin mail2trac para parsear mensajes en español y ajustarse mejor con el workflow de nuestra empresa.
  • SublimePublisher Plugin para SublimeText que mantiene un registro de los archivos que se han modificado y sube todos a servidor con un hotkey.

Applescript

  • Programa para sincronizar una playlist de iTunes a una SD bajo una estructura de archivos semántica.

Varios

  • Plugins, temas y definiciones de lenguaje de Sublime Text 3 para una mejor integración con el framework RA3.

Educación

  • Autodidacta.
  • Licenciatura en Ingenieria de Software. Cédula: 12614862