Ver con sonido
12 de agosto de 2026 · Dubái, EAU
25.2048° de latitud norte · 55.2708° de longitud este · zona horaria UTC+4
15.208.º día de vida · 1.474.º día en Dubái
Hace mucho, en otra vida, un desarrollador backend en la oficina de Yandex intentaba explicarme que a veces había que hacer cherry-pick de algo de una rama a otra.
Lo escuchaba con atención. Siempre intenté escuchar atentamente a los programadores, porque sus caras dejaban claro que hablaban de algo importantísimo. En algún sitio había un árbol con ramas, en las ramas ocurrían commits, a veces había que fusionarlas, a veces no se podía y entonces tocaba hacer cherry-pick de algo. En los casos especialmente graves aparecía un conflicto.
A mí, diseñador de producto, todo aquello me parecía una antigua cábala. Entendía interfaces, escenarios, arquitectura de información; podía discutir horas por qué el usuario pulsaría aquí y no allí, por qué un botón debía estar ocho píxeles más a la izquierda y por qué el equipo llevaba tres meses diseñando algo que la gente no necesitaba. Podía dibujar un sistema bastante complejo y explicar su conducta en cien estados. Pero después llegaba una frontera. Al otro lado vivían los programadores.
Les entregaba Figma, se iban a sus terminales y empezaba otra física del mundo. Allí había repositorios, contenedores, entornos, endpoints, migraciones, claves y el misterioso Git. Yo me quedaba en mi lado del río. Pensaba que así era el universo: el diseñador diseña, el programador construye. El arquitecto dibuja el mapa y otra persona después cruza de verdad el bosque.
Pasaron muchos años. Me mudé a Dubái, cambié varias vidas, profesiones, pisos, equipos, interfaces e ideas sobre mí mismo. Un día me descubrí con el portátil entre una visita de villa en Tilal Al Ghaf, una llamada inmobiliaria, cambios en mi web, niños, perro, mudanza a Palm Jumeirah y otro intento de crear un CRM para mi actividad como agente, diciéndole con toda tranquilidad al agente de IA: haz commit de los cambios y push.
Miré esa frase y comprendí de pronto que había ocurrido algo mucho más importante que aprender otra herramienta.
Había cruzado el río.

Al principio fue el archivo
Los archivos tienen una particularidad desagradable: solo existen ahora. Los diseñadores veteranos conocen bien esta arqueología:final.fig,final-final.fig,final-v2.fig,final-v2-new.fig,final-v2-new-real.fig. Cada archivo nuevo debía guardar de algún modo la memoria del anterior. A veces estaba en el nombre, a veces en la carpeta Archive, a veces en la cabeza del diseñador y a veces desaparecía. Durante años intentamos gestionar el tiempo a mano.
Git propuso otra forma completamente distinta de pensar el pasado. No hace falta copiar el mundo entero cada vez que cambia. Se puede guardar el cambio mismo: aquí había esto, luego hice aquello, esta es la razón y este es el momento en que el sistema fue distinto. Ese momento se llama commit.
Necesité muchos años para sentir la belleza de esa palabra, no técnica, sino casi metafísica. Un commit es una promesa a la realidad. Dices: este es el estado del mundo del que ahora me hago responsable. Antes los cambios podían estar esparcidos como escombros: varios archivos corregidos, uno borrado, otro nuevo, lógica modificada aquí y allá un agente que reescribió medio proyecto sin que nadie se lo pidiera. Todo sigue inestable, todavía se puede renunciar a todo.
Luego haces commit y el caos recibe un nombre.
corregir el diseño de la tarjeta del inmueble, añadir correspondencia de propietarios, restaurar el flujo de autenticación, actualizar las instrucciones de los agentes, dejar de romper producción.
El último es especialmente importante.
En ese momento ocurre algo asombroso: el pasado ya no desaparece. Se convierte en camino.
Durante mucho tiempo creí que la memoria estaba en la cabeza
Quizá por eso me interesa tanto ahora la memoria de las redes neuronales. Solemos considerar la memoria una propiedad humana. Recuerdo la primera oficina, Moscú, las salas donde discutíamos productos y aquel desarrollador que explicaba el cherry-pick, aunque casi seguro no entendí ni una palabra. Recuerdo el 30 de julio de 2022, cuando empezó mi propia cuenta de Dubái.
Hoy es el día 1.474. Podría escribirse de otra manera: Dubái / commit 1474.
En ese tiempo cambió casi todo: direcciones, trabajo, ideas sobre el trabajo, gente cercana, tamaño de los niños, cantidad de cosas en casa, redes neuronales en el portátil e incluso la definición de quién soy. Pero la memoria humana no es fiable. Reescribe la historia sin parar y cada vez que recordamos el pasado lo editamos un poco para adaptarlo a nuestro yo actual.
Git funciona de otra forma. Es bastante impasible. Dice: esto había, esto cambió, quién lo cambió, cuándo y por qué, si te molestaste en escribir un mensaje decente. En cierto sentido, git log es una de las autobiografías más honestas que he visto. Sin reelaboración literaria posterior ni ganas de parecer más listo a posteriori.
Martes, 02:14: rompí la autenticación
Martes, 02:47: arreglé la autenticación
Martes, 03:06: arreglé lo que rompí al arreglar la autenticación
Así es, más o menos, la vida real.
Después aparecieron los agentes
Aquí todo cambió definitivamente. Antes el ordenador era una herramienta: pulsabas botones, movías el ratón, abrías un programa y ejecutabas la acción directamente. Luego apareció software capaz de seguir órdenes. Ahora abro un proyecto y dentro pueden trabajar entidades a las que basta describir una intención.
Una lee código, otra estudia la arquitectura, la tercera corrige la interfaz, la cuarta comprueba el resultado de la primera. La quinta puede escribir una migración de base de datos mientras voy a ver una casa adosada. Poco a poco dejo de hacer cada movimiento a mano y me convierto en quien marca la dirección.
Antes diseñaba la interfaz entre la persona y el programa. Ahora diseño la interfaz entre la intención humana y muchos ejecutores artificiales. De pronto las viejas palabras de programador se volvieron necesarias precisamente para mí.
Si trabaja para ti una persona, aún puedes confiar en su memoria. Con agentes esa esperanza se acaba rápido. Necesitan territorio, reglas, historia y entender qué se puede tocar y qué no. Necesitan contexto en archivos, no en forma de mi intuición.
Así llegó a mi vida .gitignore, y descubrí de forma totalmente inesperada que era una de las cosas más filosóficas de todo el desarrollo.
.gitignore es la lista de lo que el mundo debe olvidar.
No todo merece entrar en la historia. Hay archivos temporales, secretos, basura, artefactos intermedios y cosas que solo existen en tu máquina y no tienen por qué viajar más allá. Para guardar bien la memoria hay que decidir primero qué no recordar. Parece que la humanidad llegó a esa idea mucho después que Git.
Y después están AGENTS.md y otros archivos donde dejas instrucciones a quienes vendrán después. Ahora no tienen por qué ser humanos. Escribes literalmente una carta a seres del futuro: este es el proyecto, así funciona, estas son las reglas. No cambies esto sin motivo. Aquí usa este enfoque. Aquí lee primero la documentación. Tras los cambios comprueba la compilación. No toques esta carpeta. No inventes una entidad si ya existe otra.
Me gusta esta nueva forma de escritura. Mi padre escribía relatos para conservar su mundo y transmitirlo. Ahora a veces escribo de noche instrucciones en Markdown para que por la mañana una instancia desconocida de IA entienda mi proyecto. La distancia entre ambos actos parece enorme, pero a veces me parece casi nula. Siempre hacemos lo mismo: intentamos transmitir contexto a quienes vendrán después.

Ramas
Quizá la palabra que más me asustaba antes era branch. Rama. Por fin entendí por qué el árbol resultó una metáfora tan persistente. La vida tampoco suele avanzar por una sola línea. Hay rama principal, experimento, una versión donde decidiste rehacerlo todo, otra que fue un error y otra que aún da miedo unir a la principal. Y siempre hay una rama olvidada de hace dos meses que un día miras sin saber quién la creó ni para qué.A veces es literalmente tu vida.
main — Moscú.
dubai — 2022.
real-estate — 2026.
ai-orchestration — quizá se separó mucho antes, pero creció inadvertida durante mucho tiempo.
personal-brand — sigue en desarrollo activo.
Y por encima de todo eso existe una enorme rama family, más antigua que la mayoría de los otros sistemas, con reglas propias de despliegue no siempre documentadas. Tengo tres hijos, así que algo sé de sistemas distribuidos.
Lo bonito de una rama es que no necesitas destruir el mundo de hoy para probar el de mañana. Puedes bifurcar, probar, equivocarte, cambiar de idea, volver o un día mirar el resultado y decir: sí, esta versión es mejor. Fusionar.
Y lo que ayer era un experimento pasa a ser parte de la historia principal. ¿No tomamos así casi todas las decisiones importantes? La nueva vida primero existe aparte. La pruebas con cuidado: país, profesión, papel o forma de trabajar nuevos. Después llega un día en que nadie ha cerrado formalmente la vuelta, pero ya sabes que no es una rama experimental. Es main.

Y por ahí sigue esperando el cherry-pick
Muchos años después por fin entendí también a aquel desarrollador de Yandex. No me iniciaba en magia prohibida. Cherry-pick significa más o menos esto: no hace falta tomar toda la historia ajena; a veces basta con un cambio que necesitas.Creo que también es uno de los principios más útiles fuera de la programación. No hace falta convertirse por completo en otra persona. A veces basta con tomar un buen commit.
De mi padre, la capacidad de ver una historia en un día corriente. Del diseño de producto, la costumbre de buscar un sistema. Del trabajo inmobiliario, la atención al precio, lugar, tiempo y persona concreta de enfrente. De los programadores, Git. De la IA, velocidad. De Dubái, la fe casi patológica en que el futuro se puede imaginar primero y construir físicamente después.
Cherry-pick.
El commit necesario, a tu propia rama.
Y sigues adelante.
Pero un commit todavía no cambia nada fuera
Esto también fue un descubrimiento importante. Puedes hacer todos los commits que quieras en tu máquina. El proyecto será precioso, el historial limpio y los cambios guardados, pero mientras no hagas push, todo eso existe solo en tu máquina, en tu versión local del mundo.Aquí una palabra puramente técnica se vuelve casi dolorosamente humana. Porque el estado antes del push lo conozco muy bien. Hacer algo durante mucho tiempo, preparar, rehacer, pensar, perfeccionar. Construir una web. Escribir un artículo. Idear un posicionamiento. Crear un producto. Grabar un vídeo. Redibujar una tarjeta. Mejorar un poco más. Revisar otra vez. No enseñárselo a nadie todavía.
La mayoría tiene un enorme repositorio local de cosas sin hacer push.Sospecho que el de los diseñadores es especialmente grande. Sabemos crear cosas bonitas en una Figma cerrada. Nos cuesta mucho más enviar el resultado fuera y admitir que ya no nos pertenece solo a nosotros.
Quizá por eso me gustó tanto esta combinación tan breve: haz commit y push. Primero fija los cambios y después envíalos. No esperes la versión definitiva del proyecto ni de ti mismo. No existirá, y Git ni siquiera presupone una versión definitiva. Quizá esa sea su mayor sabiduría.

Solo existe la versión actual.
HEAD.
Muy buen nombre, por cierto. El punto donde está tu cabeza ahora. Todo lo anterior ya es historia. Todo lo posterior todavía no existe.
A veces hay conflicto
Claro. Sería sospechoso que un sistema tan parecido a la vida no tuviera conflictos. Cambias una línea, alguien cambia la misma y ambas versiones reclaman ser realidad. Git se detiene y dice: decide tú.
Me gusta mucho eso. No finge conocer la respuesta correcta. Aquí hay una verdad, aquí otra; no se pueden unir automáticamente. La persona hace falta justo aquí, en el punto de conflicto.
Creo que responde bastante bien a muchas conversaciones sobre IA. Cuantos más procesos puedan ejecutar las máquinas, más claros serán los puntos que no exigen producir otra variante, sino elegir una versión del mundo. Para mí, orquestar IA es eso: no hacer que un agente trabaje más rápido, sino entender qué parte de todo lo hecho debe entrar en main.
Git cambió mi relación con los errores
En la vida corriente un error suele sentirse como destrucción: hiciste algo mal, todo se estropeó y hay que restaurar de algún modo el estado anterior. En un sistema de control de versiones el error pasa a formar parte de la historia. Si está bien guardada, experimentar ya no da tanto miedo.
Puedes mirar el diff, ver qué cambió exactamente, recuperar el pasado, abrir una rama o revertir una mala decisión. Da una libertad asombrosa. No infalibilidad, que Git no promete. Ofrece algo mucho más útil: reversibilidad.
El diseño de producto me enseñó durante años a prototipar interfaces. Git me enseñó inesperadamente a prototipar la realidad.
A veces por la tarde abro el terminal del MacBook y tras la ventana está Dubái. La ciudad parece un proyecto desarrollado demasiado tiempo en una rama experimental que alguien decidió un día, con absoluta locura, fusionar en main.Ahora vivo en Palm Jumeirah, un lugar que explica especialmente bien esta idea. Primero hubo una idea, luego una línea en un plano, después un modelo de ingeniería y luego personas echando literalmente arena al mar. Me cuesta imaginar un ejemplo más claro de git push de la intención humana hacia la realidad física.
Lo que era información se convirtió en geografía.
De día puedo hablar de una villa: superficie, precio, ubicación, rentabilidad, coordenadas, fecha de entrega. Una hora después abrir el CRM y pedir al agente que cambie la mecánica de la tarjeta del inmueble. Luego revisar el diff, rechazar la mitad de los cambios, pedir correcciones, hacer commit y push. Por la noche escribir un texto. Y todo eso ya no se siente como varias profesiones completamente distintas.
Agente inmobiliario, diseñador, autor, orquestador de IA. Antes quería una palabra que lo explicara todo. Ahora creo que ni siquiera hace falta. Git tampoco intenta explicar el proyecto con un solo archivo. Guarda el historial de cambios.
Quizá una persona funcione de forma parecida.
No somos un sustantivo. Somos log.
git status
Hay otro comando al que le tomé especial cariño: git status. No construye, corrige ni crea nada. Solo dice dónde estás, qué ha cambiado, qué está listo para commit, qué queda fuera y qué ocurre en el proyecto.A veces creo que a una persona tampoco le vendría mal un comando git status. Sin libros motivacionales, sesiones estratégicas ni intentos de diseñar enseguida los próximos diez años. Solo parar y mirar: dónde estoy, qué cambió en mí, qué está listo para fijarse, qué sigue inacabado, qué debería borrar hace tiempo, qué añadir a .gitignore, y qué hay que enviar por fin al exterior.
12 de agosto de 2026. Día 15.208 de vida. Día 1.474 en Dubái.
Antes estaba en Yandex y oía «cherry-pick» como el nombre de un rito desconocido. Ahora pueden trabajar a mi lado varios agentes artificiales a la vez y me enfado si uno toca archivos ajenos a su tarea. El mundo cambia el vocabulario de una persona a una velocidad asombrosa.
Pero hay algo aún más interesante. A veces una palabra de un ámbito profesional muy estrecho se convierte de pronto en el nombre de un fenómeno que siempre existió.
Siempre hicimos commits. Simplemente no los llamábamos así.
El primer día en un país nuevo: commit. El nacimiento de un hijo: commit. Dejar una empresa: commit. Nueva profesión: commit. Mudanza: commit. Decidir dejar de ser solo diseñador: commit. Entender que la IA ya no es una aplicación que usas, sino un entorno nuevo donde construir: otro commit.
Pero en la vida no basta con hacer commits.
Puedes vivir una enorme historia interior sin mostrársela a nadie. Prepararte eternamente para ser alguien, montar un producto perfecto en local, escribir un gran texto en borrador, grabar un vídeo y dejarlo en Photos, crear una web que nadie abrirá o imaginar una vida que siempre será una rama experimental.
Por eso la segunda parte del conjuro hoy me importa incluso más que la primera.
Haz push
Envía los cambios adonde está el resto del mundo. Que aparezca un remote. Que empiece el review ajeno. Que alguien no esté de acuerdo. Que surja un conflicto. Que resulte que hay que corregir algo y hacer el siguiente commit.Eso es avanzar.
Quizá por eso, cuando un agente acaba un trabajo y pregunta qué sigue, me gusta responder con dos palabras. Tienen algo casi paternal, como un mayor que manda al joven al camino sin explicar demasiado el mundo, porque el camino lo explicará mejor.
Haz commit y push
Recuerda lo que cambiaste y no te lo guardes solo para ti.




@nevsky_alexander
En Instagram, Dubái más allá de la postal: familia, ciudad, descubrimientos y la vida entre proyectos. En Threads, ideas en voz alta sobre diseño e IA. En YouTube, vídeos que necesitan más espacio que una historia. Sígueme donde te sientas más a gusto y seguimos en contacto