apiVersion: careers.christianecg.com/v1
kind: SoftwareEngineer
metadata:
  name: christian-elias-cruz-gonzalez
  labels:
    role: senior-fullstack-engineer-saas-integrations
    location: mexico-cdmx-hidalgo
  annotations:
    contact/site: "christianecg.com"
    contact/github: "github.com/ChristianECG"
    contact/linkedin: "linkedin.com/in/christianeliascg"
    contact/email: "contacto@christianecg.com"
    contact/phone: "+52 772 120 2886"
spec:
  summary: "Senior Fullstack Engineer con más de 5 años entregando sistemas en producción. Ownership técnico end-to-end: construyo, opero y escalo — desde plataformas con más de 150K usuarios hasta productos propios con facturación real. Especializado en agentic workflows, LLM integrations y sistemas diseñados para operar con mínima intervención."
  containers:
    - name: capital-one-senior-software-engineer-principal-associate
      image: "capital-one:senior-software-engineer-principal-associate"
      env:
        - { name: TITLE, value: "Senior Software Engineer (Principal Associate)" }
        - { name: COMPANY, value: "Capital One · Ciudad de México (Híbrido)" }
        - { name: START_DATE, value: "2026-01-01" }
        - { name: END_DATE, value: "2026-08-19" }
        - { name: STACK, value: "Java, React, Node.js, AWS (en ramp-up)." }
      command: ["Incorporación al equipo fundacional de Full Stack Engineers de Capital One en México, con enfoque en Java y ramp-up activo sobre el stack de la plataforma."]
    - name: ubidots-senior-software-engineer
      image: "ubidots:senior-software-engineer"
      env:
        - { name: TITLE, value: "Senior Software Engineer" }
        - { name: COMPANY, value: "Ubidots · Medellín, Colombia (Remoto)" }
        - { name: START_DATE, value: "2024-02-01" }
        - { name: END_DATE, value: "2026-05-01" }
        - { name: STACK, value: "React, TypeScript, ECharts, TanStack Query, WebSockets, Node.js, ESLint (plugin interno), Jest, GitHub Actions." }
      command: ["Lideré arquitectura y performance de una plataforma IoT SaaS con más de 150K usuarios activos y datos en tiempo real vía WebSockets.", "Reduje tiempos de carga de dashboards de 8s a 5s (-37%) y optimicé rendering de widgets ECharts de 30s a menos de 15s (-50%) mediante virtualización, memoization y canvas rendering.", "Acorté el ciclo de release de 50 a 20 min (-60%), reduciendo friction de entrega para un equipo de más de 20 desarrolladores.", "Establecí estándares de calidad, ESLint plugin interno y guías de code review adoptadas por todo el equipo; mentoreé a 2 ingenieros junior mediante pair programming y revisiones estructuradas."]
    - name: ubidots-mid-level-software-engineer
      image: "ubidots:mid-level-software-engineer"
      env:
        - { name: TITLE, value: "Mid-Level Software Engineer" }
        - { name: COMPANY, value: "Ubidots · Medellín, Colombia (Remoto)" }
        - { name: START_DATE, value: "2022-06-01" }
        - { name: END_DATE, value: "2024-02-01" }
        - { name: STACK, value: "React, TypeScript, React Native, TanStack Query, Stripe, WebSockets, Node.js, Jest." }
      command: ["Implementé módulo de pagos con Stripe y migré el sistema de fetching a TanStack Query, eliminando estados duplicados y habilitando la conversión directa de freemium a pago.", "Construí y mantuve la app móvil (iOS + Android) en React Native, entregando nuevas funcionalidades de plataforma directamente a los usuarios finales.", "Participé en el diseño e implementación de componentes clave del sistema de dashboards IoT en tiempo real."]
    - name: clever-cloud-software-developer
      image: "clever-cloud:software-developer"
      env:
        - { name: TITLE, value: "Software Developer" }
        - { name: COMPANY, value: "Clever Cloud · México (Remoto)" }
        - { name: START_DATE, value: "2021-07-01" }
        - { name: END_DATE, value: "2022-06-01" }
        - { name: STACK, value: "React, Vue, PHP, MySQL, GitHub Actions, CI/CD." }
      command: ["Desarrollé e integré sitios (e-commerce, landing pages, blogs) sobre el CMS propietario de la empresa, siendo responsable del ciclo completo: toma de requerimientos con el cliente, traducción a specs técnicas para un equipo de 5 devs, implementación y entrega.", "Diseñé e implementé pixel-perfect una landing page a partir de mockups de diseñadora gráfica, coordinando entregas directamente con el cliente hasta aprobación final.", "Definí los flujos de CI/CD y el pipeline dev – staging – producción, adoptados como estándar del equipo."]
  volumes:
    - name: tuagenda-digital
      mountPath: "tuagenda.digital"
      description: "SaaS de automatización de citas actualmente en operación, con 5 clientes activos en los primeros 3 meses y facturación recurrente vía Stripe: booking white-label, portal de cliente sin login, recordatorios por email/SMS y agente de IA en WhatsApp con OpenAI en producción — atendiendo reservas 24/7 y reduciendo la carga operativa manual en ~80%."
      tags: ["Next.js 15", "Supabase", "Stripe", "Twilio", "OpenAI", "Vercel Edge"]
    - name: squawk
      mountPath: "squawk.creu.cat"
      description: "Dashboard de aviación global en tiempo real: datos ADS-B vía OpenSky Network, worker Node.js con SQLite (WAL mode), mapa de densidad con deck.gl + MapLibre, 6 gráficas en vivo con ECharts y alertas de squawks de emergencia (7700/7600/7500) sobre streaming SSE cada 5s."
      tags: ["Next.js 15", "TypeScript", "deck.gl", "MapLibre", "ECharts", "SQLite", "SSE"]
    - name: avelor
      mountPath: "pkg.avelor.es"
      description: "Ecosistema de 17 herramientas CLI publicadas en npm bajo @avelor. Destacan: mesh (proxy local con HTTPS y fault injection), floo (deployment agent SSH con GitHub Action y Homebrew tap), bifrost (WebSocket tunnel autoalojado) y mira (uptime monitor con página de estado estática). Cada herramienta elimina una dependencia de tercero en producción."
      tags: ["Node.js", "CLI", "npm", "WebSocket", "SSH", "self-hosted"]
    - name: stratum
      mountPath: "stratum.creu.cat"
      description: "Herramienta de arte generativo que convierte 75 años de datos meteorológicos históricos en visualizaciones de franjas de color por ciudad. Temperatura diaria, precipitación y horas de sol se codifican como grosor, tono y superposición; exportable en SVG, PNG y PDF sin servidor."
      tags: ["React", "TypeScript", "Vite", "ECharts", "Open-Meteo"]
    - name: loft
      mountPath: "loft.creu.cat"
      description: "Implementación de referencia de RFC 1149 (IP sobre portadores aviares): rastreo en tiempo real de paquetes IP transportados por palomas. Física de vuelo modelada con datos meteorológicos reales, mapa global con rutas de gran círculo, streaming SSE y soporte en tres idiomas incluyendo latín."
      tags: ["Next.js", "SQLite", "MapLibre", "SSE", "i18n"]
  nodeSelector:
    language-native: "Español (Nativo / C2)"
    language-secondary: "Inglés (Upper-Intermediate / B2 · EF SET)"
  education:
    - institution: "ITSOEH · Tecnológico Nacional de México"
      area: "Ing. en Tecnologías de la Información y Comunicaciones"
      period: "2018 - 2022"
    - institution: "Platzi · Admisión por proceso de selección"
      area: "Platzi Master Program · Cohorte 8"
      period: "Oct 2021 - Mar 2022"
  activity:
    - "Publica en octa.page investigaciones de runtime, decisiones de arquitectura y notas de sistemas — un registro público del razonamiento técnico detrás de los proyectos."
    - "Autor publicado en IEEE Xplore — \"Security Issues of a Decentralized Blockchain-Based Messaging System\" (VII CONIITI, Universidad Católica de Colombia, 2021)."
    - "Keynote speaker en el 5° Congreso Internacional de Software, UAEH (2025) y en el Congreso Internacional de Ingeniería, ITSOEH (2025)."
    - "Google Developer Student Club Lead — lideré comunidad de más de 60 estudiantes y organicé más de 20 eventos técnicos (2020-2021)."
    - "Apariciones en Radio y Televisión de Hidalgo — programas Con Ciencia y Ya es Hora."
