Volver al Blog

Lo que aprendí en el trabajo web federal

2026-04-245 min read

La semana que viene será mi última semana en el contrato. Decidí irme y, antes de seguir adelante, quería anotar lo que hice día a día.

No era empleado directo de la agencia. Trabajé para un contratista, asignado al programa de la agencia como líder técnico / arquitecto. Esa es la estructura detrás de mucho trabajo web federal. Estás en el equipo día a día, pero tu nómina viene de otro lugar.

Hubo un proceso de autorización antes de poder empezar. Verificación de antecedentes, formularios, referencias, una espera. Es estándar para el trabajo contractual federal y da forma a la incorporación más que la mayoría de los trabajos del sector privado.

Lo que realmente hice

La mayor parte de mi tiempo se dedicó a sitios de contenido de cara al público. Miles de páginas, millones de visitantes, contenido en varios idiomas. La mayoría de las traducciones fueron gestionadas por un servicio externo, MotionPoint. Algunos sitios utilizaron la traducción integrada de Drupal en su lugar, para las variantes en español, chino y coreano. Cada una tenía sus propias peculiaridades en cuanto a URLs localizadas y diferentes sistemas de escritura.

Gran parte del trabajo consistió en mantener saludable una cartera de sitios Drupal existentes. Actualizaciones de versiones, actualizaciones de módulos, correcciones y trabajo de nuevas funcionalidades. También participé en un proyecto más grande para consolidar más de 400 sitios Drupal en 8 centros. Ese todavía está en progreso.

Realicé auditorías. Inventariando miles de PDFs. Comprobando la accesibilidad. Encontrando enlaces rotos y contenido obsoleto. La mayor parte de ese trabajo manual se convirtió en scripts de Python. Auditorías de PDF, extracciones de análisis, scrapers, comprobaciones de redireccionamiento, generadores de informes. El equipo todavía utiliza algunos de ellos.

También apoyé al equipo de análisis de datos. GA4, Google Search Console y GTM. Extrayendo informes, solucionando problemas de etiquetado, investigando discrepancias y manteniendo el seguimiento sincronizado con los cambios del sitio. También automaté parte de la generación de informes en Python.

Lo primero que asumí fue el proceso de despliegue. La mayor parte ya se ejecutaba en Jenkins, pero un paso crítico todavía requería que alguien ejecutara un script de shell desde su portátil. Mover esa última pieza a Jenkins fue mi primera victoria.

Más tarde, añadí CodeDeploy para los entornos inferiores para acelerar los despliegues allí. Al final, un despliegue que antes llevaba más de una hora se realizaba en pocos minutos.

Estar de guardia era parte del trabajo. Los problemas de producción no esperan al horario comercial.

También dediqué tiempo a una plataforma de sindicación de contenido fuera de nuestra pila principal. Basada en Grails, antigua, algo con lo que no había trabajado antes. El Groovy que había estado escribiendo para las canalizaciones de Jenkins se transfirió, lo que hizo que la adquisición de la plataforma fuera más rápida de lo que habría sido de otra manera. La aprendí lo suficientemente bien como para solucionar problemas y ayudé con una actualización del servidor a Ubuntu 22.04.

Algunas otras cosas en las que intervine.

  • Dos aplicaciones React, piezas front-end más pequeñas superpuestas al CMS y conectadas al sistema de diseño federal.
  • AWS día a día. Balanceadores de carga, grupos de destino, CodeDeploy y una cantidad considerable de depuración de problemas de producción que solo aparecen con tráfico real.
  • Pruebas con Playwright y Cypress, pytest para Python. Hacia el final, experimenté con Playwright más un LLM para detectar regresiones visuales que los diffs normales no detectan.
  • Demos y pruebas de concepto de IA, mostrando a la dirección lo que las herramientas modernas podían hacer y cómo podrían encajar sin pasar una revisión de seguridad.

La pila incluía Drupal, PHP, Python, JavaScript, React, Groovy, Jenkins, Docker, AWS, Splunk y USWDS (el US Web Design System). Al final, también muchas herramientas de IA (Gemini, OpenAI, bases de datos vectoriales, servidores MCP).

Algunas cosas que noté

El proceso es real. Revisiones de seguridad, auditorías de accesibilidad, congelaciones de contenido, planificación de sprints entre pods. El primer mes pareció lento. Luego entiendes por qué está ahí.

Jira, Confluence y Bitbucket estaban todos autoalojados para cumplir con FedRAMP. Las versiones en la nube no eran una opción.

Hay muchas reuniones. Stand-ups, planificación de sprints, revisiones de arquitectura, revisiones de contenido, sincronizaciones de pods, reuniones individuales, demos, llamadas de estado. Algunas eran esenciales. Otras no.

La accesibilidad no es una casilla de verificación. Cambia la forma en que nombras las cosas, estructuras las páginas y pruebas.

Los editores y los líderes de programa eran una parte importante de con quién trabajaba día a día, no solo otros ingenieros.

Trabajas con muchos proveedores externos. Akamai para CDN y seguridad de borde, un socio de AWS para infraestructura, GSA para la integración de search.gov y varios proveedores de auditoría y revisión a lo largo del camino. Una parte real del trabajo es buscar respuestas a través de los límites de las empresas, no solo dentro de tu equipo.

La comunicación es una parte importante del trabajo. Probablemente más de lo que esperaba al principio.

Escribí mucho. Actualizaciones de estado, manuales de ejecución, documentos de traspaso, tickets. Literalmente estoy escribiendo un correo electrónico de traspaso mientras escribo esto.

Se dedicó mucho tiempo a explicar las compensaciones técnicas a personas que no son técnicas.

Hacia el final, hice algo de trabajo de IA. Flujos de trabajo de contenido asistidos por IA, clasificadores de LLM para PDFs y servidores MCP. También comenzamos conversaciones sobre la incorporación de agentes de codificación como Codex y Claude Code como parte de nuestro flujo de trabajo. Esas aprobaciones aún están pendientes por parte del gobierno.

La depuración en la nube es algo propio. La producción de AWS no se parece a tu portátil. Pasas mucho tiempo en Splunk, CloudWatch y en los historiales de despliegue.

Tuve la suerte de liderar personas inteligentes y trabajar para un gerente que confiaba en mí para hacer el trabajo. Eso facilitó la mayor parte del resto.

Eso es todo. A lo que sea que venga después.

Mantente Actualizado

Recibe las últimas publicaciones e ideas directamente en tu bandeja de entrada.

Unsubscribe anytime. No spam, ever.