Javier Galarza

Comencé como un Full Stack Web Developer escribiendo código en Python y PHP con algunos frameworks para desarrollo web(Django y Yii) y PostgreSQL sobre entornos Linux. En el frontend, principalmente escribo código con Javascript(JQuery), pero me siento más cómodo en el backend. Luego me encontraría con NodeJS, donde pasaría la mayor parte de mi carrera escribiendo código, desde REST APIs, servicios internos, aplicaciones de escritorio y hasta CLIs. Trato de no enfocarme en un solo lenguaje de programación y seguir las mejores prácticas y patrones. Me gusta aprender y probar nuevas tecnologías y lenguajes como Rust donde estoy dando mis primeros pasos. Gran entusiasta de código libre y la administración/automatización de servidores Linux, IAC, SRE, Devops, infraestructura en la nube donde cada vez me siento más entusiasmado en adentrarme más en este mundo. Tengo conocimientos en Ansible, desarrollo de bashscripts y administración/desarrollo de PostgreSQL. Realmente me divierto con los retos de un backend developer y un sysadmin.

Experiencia

Nodejs Developer / SysAdmin / DBA (Contractor)

DealerBuilt

Mayo 2017 - Presente

Como SysAdmin/DBA:

- Administración de mas de 150 servidores Linux( AWS VMWare y también on-prem ) específicamente Ubuntu Server (Trusty, Xenial y Bionic) y PostgreSQL(8.4, 9.6, 11, 12, y 13). Usando las mejores practicas para acceso seguro, control de recurso, manejo de logs(syslog-ng, logrotate), seguridad(Crowdstrike, Wazuh, iptables, Fail2ban...etc), manejo de volúmenes LVM, patching(UnattendedUpgrades), aprovisionamiento y muchas tareas mas.

- Tareas básica relaciones a la administración de base datos como aprovisionamiento de instancias RDS, respaldo y backups(off-site), vacuum & analyze en las diversas tablas, migración de base de datos, despliegue, logical replication, index creation, DML, DDL, TCL, DCL, manejo de extensiones (pgBadger,pg_cron, pg_stat_statements y PL/sh), creación y mantenimiento de roles entre otras tareas relacionadas.

- Crear y mantener inventario de servidores para Ansible.

- Instalar, configurar y mantener paquetes relacionados a PostgreSQL como PGAgent y PGBouncer.

- Despliegue, configuración y mantenimiento de Nginx, Apache y PM2 en varios servidores Ubuntu.

- Despliegue de una plataforma de métricas usando TICK Stack (Influxdb, Telegraf, Kapacitor, Chronograf & Grafana) y creación de dashboards para métricas como CPU, RAM, Disk Usage, Long Running Queries, Services Running, entre otras.

- Desarrollo de alertas usando TICK scripts.

- Desarrollar y mantener Ansible Playbooks( usando Molecule y Vagrant para testeo ) y bashscripts para la mayoría de la configuración e instalaciones en los servidores como: Generación de backups, Restauración de backups, Instalaciones de paquetes comunes, Configuraciones de seguridad , Migración de base de datos, Patching, Actualización de dependencias, Scripts para ventana de mantenimiento y entre otras tareas.

- Aprovisionamiento de Infraestructura en la nube usando Terraform y Ansible ( rotación de claves AWS, S3 provision, Lambda deployment, IAM, EC2, load balancer, Fargate y RDS).

- Configurar y desplegar una instancia de AWX para despliegue de Ansible playbooks.

- Crear Docker images y entornos Vagrant para desarrollo local.

Como NodeJS/PostgreSQL Developer:

- Desarrollo de un sistema de colas en NodeJS para eventos provenientes de la Base datos.

- Desarrollo de una aplicación en Electron para el Status Service de Vsphere.

- Desarrollo de una NodeJS CLI para la generación de backups en PostgreSQL(pg_dump), permitiendo reportar métricas y alertas relacionado a la creación y subida de backups a S3.

- Desarrollo de una NodeJS CLI para anonimización de backups de base de datos(pg_dump).

- Desarrollo de AWS Lambda usando NodeJS y otros servicio como SQS, EventBridge.

- Desarrollo de una NodeJS REST API con Express, JWT, systemd, PM2 y NGINX.

- Desarrollo de funciones de base datos usando SQL, PL/Python y PL/pgSQL.

NodeJS Developer/SysAdmin

Rebelstack.io

Enero 2017 - Presente

Formó parte de esta comunidad open source, siendo una las principales encargadas del. Node JS MeetUp de Lima donde frecuentemente participamos. Desarrollamos proyectos open source e investigamos sobre diversas tecnologías. Las principales tecnologías que utilizamos son:

- NodeJS, PostgreSQL, Firebase Real Time Database, Firebase Cloud Functions.

- JavaScript, React, Firebase.

- CI/CD pipelines con Travis, GitHub actions.

- Vagrant y Docker para entornos de desarrollo local.

- Ansible y Terraform para aprovisionar servicios en AWS, Digital Ocean y Linode.

Software engineer II

Excel SoftSources

Mayo 2016 - Febrero 2017

Formé parte del equipo de Ingeniería, donde trabajé como desarrollador outsourcing para TotalApps. Participé en el desarrollo de VideoCheckout ,una aplicación web de gestión de vídeos que aumenta la conversión de las campañas de marketing en Facebook.Además de mis deberes de desarrollador, también me adentré en el mundo de DevOps, IAS, PAS y CI/CD.Las principales tecnologías que utilizamos son:

- Desarrollo de una NodeJS REST API con Express, JWT, MongoDB y Redis(LUA scripts).

- Desarrollo de funciones de base datos usando SQL y PL/pgSQL en PostgreSQL(10).

- Frontend desarrollado usando ReactJS.

- Crear CI/CD pipeline con Travis, GitHub, AWS(S3) y Heroku.

- Crear y mantener un entorno Vagrant para desarrollo local.

Analista de Sistemas

Business & Logistics

Octubre 2015 - Mayo 2016

Fui el desarrollador principal durante la primera fase del software de operaciones del Terminal Portuario de Paracas( SIO ), un software encargado de manejar las principales operaciones del puerto como el ingreso, control de peso y salida de camiones, arribo de naves, así como otras operaciones. También desarrolle el software de las balanzas, encargado de capturar el peso del camión y generar alertas en base al peso. Aparte de mis obligaciones como desarrollador, también administraba los servidores de producción/QA ( Debian) y me encargaba de los despliegues con Supervisor y Python VirtualEnvs. Las principales tecnologías que utilicé fueron:

- Desarrollo de una aplicación web usando Python/Django, supervisor y NGINX.

- Desarrollo de funciones de base datos usando SQL, PL/pgSQL y PostGIS en PostgreSQL(9.6).

- Frontend desarrollado usando JavaScript/JQuery.

- Desarrollo de una aplicación Desktop usando Python/Tkinter.

- Crear y mantener un entorno Vagrant para desarrollo local

- Crear y mantener scripts de despliegue para servidores Debian.

Ingeniero de Desarrollo

CGTS Corp

Septiembre 2014 - Agosto 2015

Formé parte del equipo de Desarrollo, donde desarrollamos una aplicación web para el control y administración de los diferentes puntos turísticos del Ministerio de Turismo de Venezuela(MINTUR). Tambien comencé adentrandome en el mundo de los servidores Linux y el depliegue de aplicaciones. Las principales tecnologías que utilicé fueron:

- Desarrollo de una aplicación web usando Python/Django, virtualenv, supervisor y Apache.

- Desarrollo de funciones de base datos usando SQL y PL/pgSQL en PostgreSQL(9.6).

- Frontend desarrollado usando JavaScript/JQuery.

- Crear y mantener scripts de despliegue servidores CentOS.

Analista Medio de Desarrollo

SIGIS

Octube 2013 - Septiembre 2014

Fui parte del equipo de desarrollo, donde ayudé a construir nuevos módulos para GTRMAX, una aplicación web de seguimiento de vehículos siendo PDVSA (el mayor extractor y distribuidor de petróleo de Venezuela) el principal cliente. También reparé errores y realicé mejoras en Geomarketingtools, una aplicación web de marketing que permite analizar el potencial del mercado y la situación de un negocio a través de la ubicación geográfica exacta de los clientes. Finalmente, desarrollé una aplicación web interna para controlar los pagos de los diferentes servicios ofrecidos por SIGIS. Las principales tecnologías que utilicé fueron:

- Desarrollo de una aplicación web y una REST API usando PHP/Yii y Apache.

- Desarrollo de funciones de base datos usando SQL, PL/pgSQL y PostGIS en PostgreSQL(8.4).

- Frontend desarrollado usando JavaScript/JQuery y OpenLayer.