Evolucionar la infraestructura web

2020-2025Staff Software EngineerReact, TypeScript, CMS, i18n

01 — Resumen

¿Cómo evolucionar una web mientras crece su audiencia?

Me sumé a mmhmm en sus primeros días, cuando el equipo de ingeniería apenas empezaba y la necesidad inmediata era sencilla: lanzar rápido el sitio web de la empresa. En unas pocas semanas, el primer sitio ya estaba en línea.

Ese trabajo me llevó a un puesto de tiempo completo en All Turtles, la empresa matriz. Durante los cinco años siguientes, trabajé en distintos proyectos y volví a mmhmm cuando hizo falta. Contribuí a la evolución del sitio y su infraestructura a medida que cambiaban el producto, la audiencia y la organización. Más adelante, mmhmm pasó a llamarse Airtime.

Los diagramas que siguen son abstracciones de los sistemas descritos, no capturas del producto.

02 — El problema

A medida que mmhmm evolucionó, también cambiaron sus necesidades técnicas.

Un sitio creado rápidamente para un producto en etapa inicial tenía que convertirse en algo mucho más sólido. La audiencia se expandió a nivel internacional y se publicaron contenidos y campañas con más frecuencia. Los equipos editoriales necesitaban actualizar el sitio a diario sin esperar al equipo de ingeniería. Al sumar idiomas, la traducción tenía que formar parte del flujo de publicación, no ser una tarea aparte.

La organización también cambió. Los equipos crecieron y se especializaron, así que la infraestructura tuvo que dar soporte a más personas, más flujos de trabajo y más dependencias, sin dejar de ser rápida, accesible, fácil de mantener y eficiente en costos.

03 — Mi contribución

Mi trabajo evolucionó junto con esas necesidades. Ayudé a desarrollar el primer sitio de marketing y, más adelante, a migrarlo a una plataforma de publicación gestionada desde un CMS. Después seguí desarrollando la infraestructura que lo rodeaba.

Creamos módulos reutilizables que se podían combinar en distintas páginas, en lugar de construir cada una desde cero. Trabajé en flujos editoriales, internacionalización, contenido localizado, blogs y páginas de campañas y eventos. También integramos la traducción asistida por IA directamente en el proceso de publicación para localizar con más eficiencia el contenido que cambiaba con frecuencia.

A medida que la organización se volvió más compleja, mi trabajo también requirió más colaboración. Trabajé con los equipos de ingeniería, diseño, marketing, edición, producto y otras áreas, y ayudé a incorporar y acompañar a personas del equipo de ingeniería mediante mentoría y colaboración cotidiana.

Empezar con poco y sostener más

De un sitio web a una plataforma de publicación

El primer sitio se lanzó en pocas semanas. Después, lo que tenía que sostener fue cambiando: una plataforma de publicación en lugar de un conjunto de páginas, más idiomas, una audiencia más grande y más personas editándolo todos los días. Cada etapa tenía que incorporarse sin frenar la anterior.

20202022
1 persona editoraun sitio
2020
endejaesko+varias personas editorasuna plataforma de publicación
varios idiomas, todos los días
Se incorporaron con el tiempoCMSrutas internacionalizadasmódulos reutilizablespublicación diaria

Crear la página

Una biblioteca de componentes, no un conjunto de páginas

Cada página se construye con la misma biblioteca de módulos, cada uno con sus propias reglas adaptables y traducciones. Los equipos editoriales y de marketing los combinan y reordenan en el CMS, y un módulo creado una sola vez aparece en todos los idiomas en los que existe esa página.

Biblioteca de módulosUna página compuesta
herofeature_gridtestimonialpricingcta_bandlogo_wall
herotestimonialcta_bandagregar módulo
La misma página enendejaesko

Traducir lo necesario

La traducción pasó a formar parte de la publicación

El inglés es la fuente de referencia. Quien edita elige el idioma que necesita y la traducción asistida por IA genera un borrador dentro del flujo de publicación; el avance se ve por idioma. Los idiomas que no se solicitan mantienen el contenido en el idioma de respaldo, evitando el costo de una traducción que nadie pidió.

en — original100%
Traducción con IA
IdiomaTraducidoListoEstado
de100%publicado
ja82%en revisión
es64%en traducción
ko18%en espera
fr0%idioma de respaldo
Solicitar másptitzh

Medir y después quitar

La analítica también nos indicó qué quitar

En un sitio modular es fácil agregar cosas y, por eso mismo, acumularlas. La analítica y los comentarios nos mostraron cómo interactuaba la gente con los módulos, así que rediseñamos o eliminamos los que no aportaban valor, en lugar de mantenerlos solo porque ya existían.

Interacción con los módulosÚltimo trimestre
herose mantuvo
pricingse mantuvo
testimonialse rediseñó
logo_wallse eliminó
video_bandse eliminó
Módulos en la biblioteca24Retirados6Idiomas medidos5

Llegar a todas las personas

La accesibilidad forma parte del sistema

El sitio tenía que llegar a más personas, en más dispositivos y en más situaciones. Como todas las páginas se construyen con la misma biblioteca, la accesibilidad se podía resolver en cada módulo una sola vez, en lugar de auditar cada página por separado: el contraste, el orden del foco, los textos alternativos y la navegación con teclado formaban parte del propio componente.

Controles de los módulosSe corrige una vez y se aplica en todas partes
contrasteAA
orden del focoteclado
texto alternativocampo del CMS
movimiento reducidorespetado
escala tipográficazoom al 200%
Probado conlectores de pantallasolo tecladoredes lentas5 idiomas

04 — En retrospectiva

Este proyecto me enseñó mucho sobre lo que implica evolucionar técnicamente junto con una organización.

No se trataba solo de manejar más tráfico. También implicaba más clientes, más contenido, más idiomas, más personas colaborando, más restricciones y más necesidades en tensión. El sistema tenía que evolucionar para responder a todo eso. El proyecto también reforzó algo que aparece en buena parte de mi trabajo: me siento cómodo hablando distintos lenguajes profesionales. Puedo trabajar con ingeniería, diseño, producto, marketing, edición y otras partes interesadas sin fingir que todas esas disciplinas son intercambiables.

Lo importante era entender lo suficiente del sistema completo para ver de dónde venían las presiones, tomar buenas decisiones y ayudar a que el trabajo avanzara a medida que cambiaban las condiciones.

Me gusta trabajar en entornos donde hace falta anticiparse, aprender haciendo, colaborar y desarrollar los sistemas que mantienen todo en marcha.

Proyecto siguienteDel cumplimiento al aprendizaje