Skip to contentSaltar al contenido
Gerard Fierro smiling outdoors in front of a mountain lake
Open to full-time roles & contract workDisponible para trabajo de tiempo completo y proyectos por contrato

Hi, I'mHola, soy

Gerard Fierro

Gerardo Fierro

Senior Software EngineerIngeniero de Software Senior — Front End

MexicoMéxico

8+ years building component-driven web applications with Vue.js, from IT monitoring dashboards at Zenoss to micro-frontend architecture at Virtana. I care about reusable systems, clean data flow, and interfaces that hold up on any screen.Más de 8 años construyendo aplicaciones web basadas en componentes con Vue.js, desde dashboards de monitoreo de IT en Zenoss hasta arquitectura de micro-frontends en Virtana. Me importan los sistemas reutilizables, el flujo de datos limpio y las interfaces que funcionan bien en cualquier pantalla.

01 · About01 · Acerca de

Detail-oriented, and allergic to duplicated code.

Meticuloso, y alérgico al código duplicado.

I'm a Senior Software Engineer based in Mexico. After more than a year as a full-time engineer at Virtana (following its acquisition of Zenoss), I took a short break to relocate and settle in, and now support them as an independent contractor, continuing to work on decoupling monolithic UI into standalone, reusable micro-frontends.

Over the last 8 years I've focused primarily on Vue.js — building the component systems, data layers, and dashboards behind an IT monitoring platform used to visualize infrastructure at scale — and I'm equally comfortable shipping production React when a project calls for it. I like solving problems that live at the intersection of performance, maintainability, and the details a user actually notices.

I'm also a firm believer that engineering teams should embrace AI tooling and automate wherever it makes sense. I started layering GitHub Copilot and Gemini into my day-to-day, and have since moved most of my workflow onto Claude — using it for planning, code review, and catching edge cases earlier, not just autocomplete.

B.S. in Computer Science, Texas Tech University.

When I'm not building software, I'm usually brewing a good cup of coffee, working through another book, getting outdoors, or spending time connecting with people and building community.

Soy Ingeniero de Software Senior radicado en México. Después de más de un año como ingeniero de tiempo completo en Virtana (tras su adquisición de Zenoss), tomé un breve descanso para mudarme y establecerme, y ahora los apoyo como contratista independiente, continuando el trabajo de desacoplar UI monolítica en micro-frontends independientes y reutilizables.

En los últimos 8 años me he enfocado principalmente en Vue.js — construyendo los sistemas de componentes, capas de datos y dashboards detrás de una plataforma de monitoreo de IT usada para visualizar infraestructura a gran escala — y me siento igual de cómodo llevando React a producción cuando un proyecto lo requiere. Me gusta resolver problemas en la intersección de rendimiento, mantenibilidad y los detalles que un usuario realmente nota.

También creo firmemente en que los equipos de ingeniería deben adoptar herramientas de IA y automatizar donde tenga sentido. Empecé integrando GitHub Copilot y Gemini en mi día a día, y desde entonces he migrado la mayor parte de mi flujo de trabajo a Claude — usándolo para planear, revisar código y detectar casos límite antes, no solo como autocompletado.

Licenciatura en Ciencias de la Computación, Texas Tech University.

Cuando no estoy construyendo software, normalmente estoy preparando una buena taza de café, leyendo otro libro, saliendo al aire libre, o pasando tiempo conectando con otras personas y construyendo comunidad.

8+

years in front-end engineeringaños en ingeniería front-end

2

major Vue 2 → 3 migrations ledmigraciones grandes de Vue 2 → 3 lideradas

60%+

test coverage standard per componentcobertura de pruebas mínima por componente

02 · Experience02 · Experiencia

Where I've built things.

Donde he construido cosas.

Independent Contractor — Software EngineerContratista Independiente — Ingeniero de Software · Virtana

Sep 7, 2026 — Present7 Sep 2026 — Presente

Remote — MexicoRemoto — México

  • Continuing to provide software engineering services to Virtana as an independent contractor, based in Mexico — building on the same micro-frontend and AI-tooling initiatives from my time as a full-time engineer.Continúo brindando servicios de ingeniería de software a Virtana como contratista independiente, radicado en México — dando seguimiento a las mismas iniciativas de micro-frontends y herramientas de IA de mi etapa como ingeniero de tiempo completo.
Independent ContractorContratista IndependienteVue.jsVue.jsGraphQLGraphQL

Senior Software Engineer (Full-Time Employee)Ingeniero de Software Senior (Empleado de Tiempo Completo) · Virtana

Apr 2025 — Aug 27, 2026Abr 2025 — 27 Ago 2026

RemoteRemoto

  • Decoupled Zenoss UI components to support a strategic partnership with Virtana, refactoring core product features into standalone, reusable micro-frontends.Desacoplé componentes de UI de Zenoss para apoyar una alianza estratégica con Virtana, refactorizando funciones clave del producto en micro-frontends independientes y reutilizables.
  • Led migration to a common query criteria structure across pages, streamlining data flow between multiple APIs and eliminating redundant conversion logic and edge-case errors.Lideré la migración a una estructura común de criterios de consulta entre páginas, optimizando el flujo de datos entre múltiples APIs y eliminando lógica de conversión redundante y errores en casos límite.
  • Drove adoption of AI-assisted development across the team's UI repos — moving from GitHub Copilot and Gemini to Claude for planning, code review, and catching edge cases earlier — and pushed for automating repetitive engineering work wherever it made sense.Impulsé la adopción de desarrollo asistido por IA en los repositorios de UI del equipo — migrando de GitHub Copilot y Gemini a Claude para planeación, revisión de código y detección temprana de casos límite — y promoví automatizar trabajo de ingeniería repetitivo donde tuviera sentido.
Micro-frontendsMicro-frontendsVue.jsVue.jsGraphQLGraphQLAI toolingHerramientas de IA

Software EngineerIngeniero de Software · Zenoss

Apr 2020 — Apr 2025Abr 2020 — Abr 2025

Austin, TXAustin, TX

  • Built reusable components for an IT monitoring cloud application using Vue.js (2 & 3), Vuetify, and GraphQL.Construí componentes reutilizables para una aplicación cloud de monitoreo de IT usando Vue.js (2 y 3), Vuetify y GraphQL.
  • Designed key features: an events page with graph/pie-chart visualizations, a query-builder inventory page with query-saving, a maintenance-window scheduler, and gauge-chart dashboard tiles.Diseñé funciones clave: una página de eventos con visualizaciones de gráficas y pie charts, una página de inventario con constructor de consultas y guardado de consultas, un programador de ventanas de mantenimiento, y tiles de dashboard con gauge charts.
  • Co-led the Vue 2 → 3 migration, moving Webpack → Vite and Vuex → Pinia to improve build speed and cut bundle size.Co-lideré la migración de Vue 2 a 3, pasando de Webpack a Vite y de Vuex a Pinia para mejorar la velocidad de build y reducir el tamaño del bundle.
  • Drove test-driven development with a 60% minimum coverage bar per component, using Vue Test Utils, Chai, and Mocha.Impulsé el desarrollo guiado por pruebas con un mínimo de 60% de cobertura por componente, usando Vue Test Utils, Chai y Mocha.
  • Mentored junior developers on the codebase, best practices, and pair programming.Mentoricé a desarrolladores junior en el código base, buenas prácticas y programación en pareja.
Vue 2 → 3Vue 2 → 3VuetifyVuetifyPiniaPiniaViteViteGraphQLGraphQL

Junior Software Developer → Software EngineerDesarrollador de Software Junior → Ingeniero de Software · Clutch Analytics

Jul 2018 — Mar 2020Jul 2018 — Mar 2020

Austin, TXAustin, TX

  • Built reusable components for a multi-state insurance web application using React.js.Construí componentes reutilizables para una aplicación web de seguros multi-estado usando React.js.
  • Worked across the stack with ES6, HTML5, CSS3, jQuery, Node.js, Express, Mongoose, and MongoDB; authored RESTful APIs documented with OpenAPI (Swagger).Trabajé en todo el stack con ES6, HTML5, CSS3, jQuery, Node.js, Express, Mongoose y MongoDB; desarrollé APIs RESTful documentadas con OpenAPI (Swagger).
  • Contributed as part of a 5–7 person Agile team, improving legacy JavaScript performance and readability.Contribuí como parte de un equipo Ágil de 5 a 7 personas, mejorando el rendimiento y la legibilidad de JavaScript heredado.
React.jsReact.jsNode.jsNode.jsMongoDBMongoDBExpressExpress

03 · Skills03 · Habilidades

Tools I reach for.

Herramientas que uso.

Vue.js (2 & 3)

Primary framework — 8+ years across component systems, state, and build tooling.Framework principal — más de 8 años en sistemas de componentes, manejo de estado y herramientas de build.

React

Comfortable shipping production components and features when a project calls for it.Cómodo llevando componentes y funciones a producción cuando un proyecto lo requiere.

Vue.js (2 & 3)ReactJavaScript (ES6+)VuetifyVuexPiniaGraphQLHTML5CSS3ViteGitAgile / ScrumClaude CodeGitHub CopilotGeminiReduxNode.jsExpressMongoDBGoOpenAPI / SwaggerVue Test UtilsVitestMochaChaiTDDVue.js (2 & 3)ReactJavaScript (ES6+)VuetifyVuexPiniaGraphQLHTML5CSS3ViteGitAgile / ScrumClaude CodeGitHub CopilotGeminiReduxNode.jsExpressMongoDBGoOpenAPI / SwaggerVue Test UtilsVitestMochaChaiTDD

ProficientDominio

JavaScript (ES6+)VuetifyVuexPiniaGraphQLHTML5CSS3ViteGitAgile / Scrum

AI-assisted developmentDesarrollo asistido por IA

Claude CodeGitHub CopilotGemini

FamiliarConocimiento

ReduxNode.jsExpressMongoDBGoOpenAPI / Swagger

TestingPruebas

Vue Test UtilsVitestMochaChaiTDD

04 · Projects04 · Proyectos

Selected work.

Trabajo seleccionado.

VirtanaVirtana

Micro-frontend decouplingDesacoplamiento de micro-frontends

Refactored core Zenoss product features into standalone, reusable micro-frontends to support a strategic platform partnership, and migrated several pages to a shared query-criteria structure to unify data flow across APIs.Refactoricé funciones clave del producto de Zenoss en micro-frontends independientes y reutilizables para apoyar una alianza estratégica de plataforma, y migré varias páginas a una estructura común de criterios de consulta para unificar el flujo de datos entre APIs.

Vue.jsVue.jsMicro-frontendsMicro-frontendsGraphQLGraphQL

ZenossZenoss

Inventory query builderConstructor de consultas de inventario

Designed and built a dynamic query builder for entity retrieval with query-saving, used as the primary inventory exploration tool across an IT monitoring cloud platform.Diseñé y construí un constructor de consultas dinámico para la búsqueda de entidades con guardado de consultas, usado como la herramienta principal de exploración de inventario en una plataforma cloud de monitoreo de IT.

Vue.jsVue.jsVuetifyVuetifyGraphQLGraphQL

ZenossZenoss

Events & dashboard visualizationsVisualizaciones de eventos y dashboards

Built an events page with graph and pie-chart visualizations for notifications, plus filterable dashboard tiles with gauge charts for event and metrics analysis.Construí una página de eventos con visualizaciones de gráficas y pie charts para notificaciones, además de tiles de dashboard filtrables con gauge charts para análisis de eventos y métricas.

Vue.jsVue.jsData vizVisualización de datosVuetifyVuetify

ZenossZenoss

Vue 2 → 3 platform migrationMigración de plataforma de Vue 2 a 3

Co-led the migration from Vue 2 to Vue 3 across the product, moving the build from Webpack to Vite and state management from Vuex to Pinia — improving build speed and shrinking bundle size.Co-lideré la migración de Vue 2 a Vue 3 en todo el producto, pasando el build de Webpack a Vite y el manejo de estado de Vuex a Pinia — mejorando la velocidad de build y reduciendo el tamaño del bundle.

Vue.jsVue.jsViteVitePiniaPinia

Personal projectProyecto personal

Camp counselor operations appApp de operaciones para consejeros de campamento

Built a full-stack scheduling, points, messaging, and live map app for a youth summer camp's counselor and director staff, end to end. Realtime updates via Socket.io, an installable offline-friendly PWA, and push notifications for schedule changes — deployed as a single Docker/Fly.io service with a persistent volume.Construí de principio a fin una app full-stack de horarios, puntos, mensajería y mapa en vivo para el staff de consejeros y directores de un campamento de verano juvenil. Actualizaciones en tiempo real vía Socket.io, una PWA instalable que funciona offline, y notificaciones push para cambios de horario — desplegada como un solo servicio Docker/Fly.io con volumen persistente.

ReactReactNode.jsNode.jsSocket.ioSocket.ioPWAPWA

Personal projectProyecto personal

Cross-border money & tax companionCompañero financiero y fiscal transfronterizo

A React app for tracking finances as a contractor living between the US and Mexico — dual-currency budgeting, net worth, US/Mexico tax context, and residency day-counting. Vercel serverless functions keep the Anthropic API key server-side for statement imports and live market/FX snapshots; all data stays in the browser.Una app en React para llevar tus finanzas como contratista que vive entre EE.UU. y México — presupuesto en dos monedas, patrimonio neto, contexto fiscal de EE.UU./México, y conteo de días de residencia. Funciones serverless de Vercel mantienen la llave de la API de Anthropic en el servidor para importar estados de cuenta y obtener mercado/tipo de cambio en vivo; todos los datos se quedan en el navegador.

ReactReactViteViteVercelVercel
View on GitHubVer en GitHub

The Virtana/Zenoss work summarizes professional roles under NDA, so no code links there. The camp app is a personal project — its source stays private out of respect for the organization's branding and facility details, but I'm happy to walk through the code in an interview. El trabajo de Virtana/Zenoss resume roles profesionales bajo NDA, por lo que no hay enlaces de código ahí. La app del campamento es un proyecto personal — su código se mantiene privado por respeto a la marca y los detalles de las instalaciones de la organización, pero con gusto puedo revisar el código en una entrevista.

05 · Contact05 · Contacto

Let's build something reusable.Construyamos algo reutilizable.

Open to full-time roles and select contract work — interesting front-end problems most of all. Based in Mexico, happy to talk remote.Abierto a roles de tiempo completo y proyectos por contrato selectos — sobre todo problemas de front-end interesantes. Radicado en México, encantado de hablar sobre trabajo remoto.