10.1 «Ya no nacen personas, las cultivan»
Bueno, ya que todavía estás aquí, sigamos. «Y te mostraré cuán profunda es la madriguera del conejo» (ц)
Déjame contarte cómo se lleva a cabo el proceso de desarrollo de un producto. Vamos a recorrer los pasos desde el nivel más alto, global, hasta el más bajo — la escritura de código. Creo que te esperan algunos descubrimientos interesantes...
Ya no se escriben productos TI modernos: se crean. Se ensamblan a partir de bibliotecas, frameworks, programas y productos de terceros, o incluso se utilizan servicios de internet remotos, de pago o gratuitos.
Un producto moderno es todo un zoológico de tecnologías, servicios, soluciones y procesos. Parte del trabajo lo hacen personas, parte está automatizado, y el 90% restante lo realizan servicios en la nube en centros de datos. El mundo ya no es lo que era.
Pero lo primero que notarás son los cambios constantes. Ya no escribes programas: haces cambios en ellos.
10.2 Cambios constantes
Comenzarás a trabajar y te unirás a un equipo de 20 personas que lleva 5 años trabajando en el producto. Actualmente los usuarios tienen acceso a su séptima versión. Y tu tarea será introducir cambios en este producto. Pequeños, para no asustar a los usuarios activos actuales.
Y no será fácil, porque el producto ya funciona. Tiene clientes, y ellos pagan dinero. Así que no se puede romper nada. Hacer cambios en un producto que ya funciona es varias veces más difícil que en uno nuevo. Para eso existen estándares especiales, protocolos, migraciones y utilidades. Se me viene a la mente un chiste:
Se encuentran dos viejos amigos: uno se volvió mecánico, el otro cirujano... cada uno con su vida, preocupaciones, alegrías... Se cuentan todo y surge el tema de los salarios. El mecánico dice "Bueno, yo gano 30 al mes y estoy muy satisfecho, ¿y tú cuánto?", el cirujano cardiaco dice: "Bueno, yo cerca de 100 mil por operación"... Entonces el mecánico se interesó "Es raro, ¿por qué hay una diferencia tan grande? Al fin y al cabo, hacemos lo mismo — cambiamos piezas", y el cirujano le dice: "Bueno, vamos al coche, arranca"... el mecánico arranca el coche, el cirujano abre el capó y le dice al mecánico "¿Ves el motor funcionando? ¡Cámbialo! :)"
Incluso si sucede un milagro, y tu equipo escribió el producto desde cero durante todo un año y solo después de eso lo lanzó, ¿sabes qué pasará luego?
Si tu producto tiene éxito, el propietario querrá desarrollarlo. Lanzar una nueva versión, agregar alguna funcionalidad. O al menos realizar algunos experimentos. ¿Y sabes qué seguirá a eso? Cambios.
10.3 Valor del producto
Desde el punto de vista del desarrollo moderno de productos, solo tiene valor el código que ya se lanzó, y la característica que usan los usuarios. Si escribiste código, está almacenado en algún lugar, funciona, pero no lo usan las personas, su valor es casi nulo. Por eso todo el código debe llegar a producción lo antes posible.
Tu código debe pasar por las siguientes etapas:
- Lo escribiste y te aseguraste de que funciona
- Tu TeamLead lo revisó y lo añadió a la rama principal en Git
- Las pruebas durante la compilación del programa demostraron que no rompiste nada importante
- Las pruebas de integración mostraron que el producto funciona según lo necesario
- El tester verificó este código y dio el visto bueno para el lanzamiento
- Luego, se debe compilar una nueva versión del producto y lanzarla en el servidor
- La nueva versión del producto debe empaquetarse en Docker Images y lanzarse
- Es posible que debas ejecutar scripts de migración y realizar cambios en la base de datos y/o otras soluciones de terceros
- Luego, debes recopilar logs en el servidor para asegurarte de que todo funciona como debería
- En caso de una situación de emergencia, si rompiste algo, debes revertir la compilación, restaurar el estado anterior de la base de datos y no perder las acciones que hicieron los usuarios mientras trabajaban con la versión inestable del producto
En la mayoría de las empresas, estas tareas están ahora resueltas: se han establecido nuevos procesos, contratado personas especiales, introducido protocolos de seguridad especiales y estándares de control de calidad.
Cuanto más grande es la empresa, menos tiempo pasa desde que se escribe el código hasta que llega a producción y se convierte en valor — comienza a beneficiar a las personas.
En la mayoría de las empresas, el código pasa por este camino en dos semanas, pero hay empresas que hacen lanzamientos cada semana, o incluso todos los días. Unos pocos únicos — varias veces al día.
El código escrito no vale nada. Solo aporta valor el código que funciona en producción.
GO TO FULL VERSION