Ah, desarrolladores. Las criaturas míticas que escriben rápido, beben café como si fuera un deporte olímpico y de alguna manera "reparan computadoras" para sus amigos y familiares. Pero, ¿qué realmente hacen todo el día? Déjame pintarte una imagen — spoiler: es mucho más complicado (y divertido) que solo "escribir código".
Vamos a desglosarlo usando un diagrama de flujo que he adjuntado. (Sí, diagramas de flujo, porque si hay algo que a los desarrolladores les encanta, es organizar el caos visualmente.)
La solicitud suele comenzar con algo inocente como, "¿Puedes simplemente cambiar el color de este botón?" o "Necesitamos que esta función esté en vivo mañana — no debería ser difícil". Las personas que no son de tecnología imaginan a los desarrolladores presionando botones como si fueran magos: abracadabra! Nueva función desplegada!
Realidad? Ese "pequeño" cambio desencadena una reacción en cadena más larga que tu lista de maratones de Netflix.
Primero, los desarrolladores tienen que descubrir dónde vive esta función en el códigobase. Imagina tratar de encontrar un solo calcetín en una casa con 500 cajones. Eso es lo que leer el código de otra persona se siente como. Oh, y el calcetín está en llamas.
Después de investigar el código, configuran un entorno de desarrollo local. Suena elegante, ¿verdad? Es básicamente su patio de juegos privado para probar donde los errores no romperán el sitio web de la empresa. Excepto, configurar este "patio de juegos" toma horas porque las herramientas deciden aleatoriamente dejar de funcionar. ("¿Por qué está Docker enojado hoy?" "Oh, no hay razón, solo te odia.")
Los desarrolladores luego escriben algo de código. Luego se dan cuenta de que rompieron algo más. Luego arreglan lo que rompieron, lo que accidentalmente rompe otra cosa. Finalmente, después de cuatro rondas de maldiciones y un poco de llanto (silencioso, mientras toman café), el código funciona. Algo. Tal vez.
El código pasa por el control de versiones (Git) — una herramienta para mantener a todos alejados de los pies del otro. Excepto, fusionar cambios en Git es como intentar negociar un tratado de paz entre niños que todos quieren el mismo juguete. Resolver conflictos es una verdadera superpotencia de los desarrolladores.
Antes de que el código vea la luz del día, los desarrolladores lo prueban. Hacen clic en cada botón, llenan cada formulario y realizan rituales para invocar a los dioses de la QA. Luego alguien de QA (Aseguramiento de Calidad) viene y encuentra errores en lugares que los desarrolladores ni siquiera sabían que existían. ("¿Espera, el botón no funciona si estás loggeado como una persona zurda usando Internet Explorer 11??")
Finalmente, el código está listo para ir en vivo. Las personas que no son de tecnología imaginan a los desarrolladores presionando un gran botón verde "IR". No, eso es más como caminar sobre una mina terrestre mientras se hacen malabares. Algo siempre sale mal. El servidor se cae. La base de datos se olvida de que existe. La función desaparece misteriosamente como un truco de magia malo. Los desarrolladores lo arreglan todo en tiempo real mientras sudan tinta.
Cuando la función está en vivo, la retroalimentación llega: "¿Por qué el botón no es azul en lugar de verde?" "¿Puedes moverlo 3 píxeles a la izquierda?" Cue internos gritos. Los desarrolladores actualizan silenciosamente el diagrama de flujo y regresan al Paso 1.
Así que la próxima vez que escuches, "Es solo un pequeño cambio", recuerda esto: detrás de cada clic, desplazamiento y deslizamiento está una épica saga que involucra batallas de código, cafeína y un toque de caos. Los desarrolladores hacen más que "escribir cosas en una computadora" — son solucionadores de problemas, magos, terapeutas (para su código) y ocasionalmente, trabajadores milagrosos.
Así que tal vez compre un café para su amigo desarrollador hoy. Lo ha ganado.
Robert Mejlerö es un CTO fraccional y fundador de CTO como Servicio (ctotmc.com)
Somos una Compañía Suiza (LLC) con sede en
Suiza.