1.1 «La gente ya no nace, se cultiva»
Bueno, ya que todavía estás aquí, vamos a continuar. «Y te mostraré qué tan profunda es la madriguera del conejo» ©
Déjame contarte cómo es el proceso de desarrollo de un producto: vamos a recorrer los pasos desde el nivel global más alto hasta el más bajo: escribir código. Creo que te esperan varios descubrimientos interesantes…
Los productos de TI modernos ya no se escriben, 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á automatizada, y el 90% restante se realiza en 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, les haces cambios.
1.2 Cambios constantes
Llegarás al trabajo y te unirás a un equipo de 20 personas que ya lleva 5 años trabajando en el producto. Ahora los usuarios tienen acceso a la 7ª versión. Y tu tarea será hacer 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 pagan dinero. Por lo tanto, no se puede romper nada. Hacer cambios en un producto que ya funciona es varias veces más complicado que en uno nuevo. Para esto existen estándares especiales, protocolos de migración y utilidades. Me viene a la mente un chiste:
Se encuentran dos viejos amigos: uno se hizo mecánico y el otro cirujano... Cada uno tiene su vida, preocupaciones, alegrías... Se cuentan todo y la conversación llega a los salarios. El mecánico dice: "Bueno, gano 30 al mes y estoy muy contento, ¿y tú cuánto?". El cardiólogo dice: "Bueno, yo gano unos 100 K por operación...". Entonces el mecánico se interesa: "Es extraño, ¿por qué hay tanta diferencia? Hacemos lo mismo, cambiamos piezas". Y el cirujano le dice: "Bueno, vayamos al coche, arranca...". El mecánico arranca el coche, el cirujano abre el capó y le dice al mecánico: "¿Lo ves? El motor está funcionando. ¡Cámbialo! :)"
Incluso si ocurrió un milagro y tu equipo pasó un año entero escribiendo el producto desde cero y solo después lo lanzaron, ¿sabes qué pasará después?
Si tu producto tiene éxito, el propietario del producto querrá desarrollarlo. Lanzar una nueva versión, agregar alguna funcionalidad. O al menos realizar algunos experimentos. ¿Y sabes qué conllevará eso? Cambios.
1.3 Valor del producto
Desde el punto de vista del desarrollo moderno, lo único que tiene valor es el código que ya está lanzado y la característica que los usuarios utilizan. Si has escrito código, está almacenado en algún lugar, funciona, pero nadie lo usa, su valor es casi nulo. Por lo tanto, todo el código debe llegar a producción lo antes posible.
Tu código debe pasar por estas 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 demostraron que el producto funciona como debería.
- El tester revisó este código y dio luz verde para el lanzamiento.
- Luego hay que compilar una nueva versión del producto y lanzarla en el servidor.
- La nueva versión del producto debe ser empaquetada en Docker Images y lanzada.
- Puede que necesites ejecutar scripts de migración y hacer cambios en la base de datos y/o otras soluciones externas.
- Luego hay que recopilar logs en el servidor para asegurarse de que todo funciona como debería.
- En caso de emergencia, si rompiste algo, necesitas revertir la compilación, restaurar el estado previo de la base de datos y no perder las acciones que realizaron los usuarios mientras trabajaban con la versión inestable del producto.
En la mayoría de las empresas, estas tareas ya están resueltas: se han establecido nuevos procesos, se han contratado personas especializadas, se han 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 el momento en 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 este camino en dos semanas. Sin embargo, hay empresas que hacen lanzamientos cada semana o incluso cada día. Algunos casos especiales - varias veces al día.
El código escrito no vale nada. Solo tiene valor el código que funciona en producción.
GO TO FULL VERSION