~/jcheetos

Johan Sneider Méndez Vega

Desarrollador Full-Stack

Bogotá, Colombia

/* RESUMEN PROFESIONAL */

Ingeniero de Sistemas con más de 3 años en El Espectador, uno de los principales medios de comunicación de Colombia, donde ha aportado más de 900 commits y 370 pull requests propios en 29 repositorios corporativos. Desarrollo frontend y backend con React, Next.js, Node.js y FastAPI sobre los CMS Arc XP y WordPress; contenerización con Docker y despliegues en AWS EC2. Orientado a construir productos digitales escalables con código limpio, colaboración ágil y foco en resultados.

/* HABILIDADES TÉCNICAS */

  • Lenguajes [5]

    • JavaScript
    • PHP
    • Java
    • Python
    • C#
  • Frontend [4]

    • React
    • Next.js
    • HTML5
    • CSS3
  • Backend [3]

    • Node.js
    • FastAPI
    • APIs REST
  • Bases de datos [4]

    • MongoDB
    • MariaDB / MySQL
    • SQL Server
    • OracleDB
  • CMS [2]

    • Arc XP PageBuilder/Fusion
    • WordPress
  • DevOps y Cloud [3]

    • Docker
    • AWS (EC2)
    • Git
  • Seguridad web [2]

    • Google reCAPTCHA
    • Cloudflare Turnstile
  • Métodos y otros [2]

    • Scrum
    • Microsoft Power Apps

/* EXPERIENCIA LABORAL */

  1. Analista de Desarrollo

    El Espectador

    Bogotá, Colombia

    • Desarrollé más de 130 pull requests de autoría propia sobre Arc XP PageBuilder/Fusion para bloques, plantillas y features en sitios de alta audiencia del diario.
    • Evolucioné la librería de componentes React compartida del diario, con más de 70 pull requests propios de componentes reutilizables.
    • Desarrollé en PHP y WordPress (blogs, pasatiempos, suscripciones) y migré el CMS Arc XP hacia WordPress: fuentes de contenido nativas, autores vía REST e imágenes self-hosted.
    • Construí sistemas interactivos de cobertura electoral (regionales 2023 y Congreso 2026), incluido un chatbot de consulta con búsqueda sobre contenidos nativos de WordPress.
    • Implementé controles anti-bot con Cloudflare Turnstile, enduré la autenticación y actualicé dependencias mayores de React/Next.js.
    • Automaticé contenidos especiales estáticos y flujos editoriales (fotografías, archivo histórico, feeds de sindicación).
    • Automaticé el flujo de producción impresa mediante scripting sobre InDesign y procesamiento de imágenes.
    • Contenerizé servicios con Docker y los desplegué en instancias AWS EC2.
    • Desarrollé aplicaciones internas con Microsoft Power Apps conectadas a SQL Server y MongoDB.
    • Impulsé internamente la adopción de IA en procesos y apoyé iniciativas de seguridad para IA junto al equipo de CrowdStrike.
  2. Monitor de Unidad de Investigación

    Universidad Distrital Francisco José de Caldas

    Bogotá, Colombia

    • Administré la base de datos y mantuve actualizado el sitio web de la unidad de investigación.
    • Coordiné a los monitores de grupos de investigación y elaboré boletines informativos institucionales.

/* PROYECTOS DESTACADOS */

  • Módulo web de certificados en línea (cliente externo)

    Diseño e implementación de un módulo web con integración de APIs para generar certificados en PDF, enviarlos por correo electrónico y hacer seguimiento a la asistencia de grupos de teatro; persistencia en OracleDB.

  • JAMYT – Aplicación Android

    Aplicación en Kotlin para administrar una cola de reproducción compartida de YouTube TV entre varios usuarios desde sus teléfonos.

  • Ajedrez en línea (Node.js + Java)

    Cliente web en Node.js que se comunica con un servidor en Java encargado de la gestión y lógica interna del juego.

  • Bot de Discord

    Bot desarrollado en JavaScript y Node.js con integración de la API de Google Translate mediante peticiones HTTP.

/* EDUCACIÓN / CERTIFICACIONES */

EDUCACIÓN

  • Ingeniero de Sistemas

    Universidad Distrital Francisco José de Caldas

CERTIFICACIONES

  • Trellix ePolicy Orchestrator (ePO) – Certified Architect, Sales & Service Provider

  • Trellix Endpoint Security (ENS) – Certified Architect, Sales & Service Provider

/* IDIOMAS */

  • Español (nativo)
  • Inglés (avanzado, C1–B2)
  • Francés (básico, A2)

/* CONTACTO */