¿Qué se requiere para ser un DevOps?

Hace unos días tuve la suerte de participar en uno de los #DevHangout que organiza Lennon, y en esta ocasión el tema trato sobre DevOps por lo que base la presentación en la que había hecho para el Agiles 2014 y que pueden ver aquí.

El modelo de los #DevHangout permite bastante la interacción mediante Twitter, por lo que conforme avanzaba la sesión afloraron recurrentemente preguntas del tipo “¿Qué se necesita saber para ser un DevOps?” “¿Cuál es el perfil de un DevOps?” “¿No es lo que hacen los sysadmin (IT Pro)?”, así que pensando en resolver estas dudas va esto…

mindsetComo indico en la sesión, lo de DevOps va más allá de la definición de un nuevo rol, sino que es, como dijo , “la búsqueda de la sinergia…” lo cual nos indica que nos encontramos ante una nueva forma de trabajar, donde evitamos los comportamientos estancos, la tradicional separación entre IT y Desarrollo y por el contrario buscamos una mayor colaboración de cara a lograr mejores resultados como organización.

Dicho esto, es perfectamente comprensible que haya necesidad de introducir el rol en la organización a fin de evolucionar a una cultura de ese estilo, así que trataremos de plantearnos consideraciones generales para dicho “rol”, tratando de explotar los tres retos que planteamos en El reto del DevOps ágil.

Primera condición para ello es ser curioso, tratar de salir del molde, si se es desarrollador estar interesado sobre el entorno (el fierro, el SO) sobre el que van a correr las aplicaciones que se están desarrollando (la de desarrolladores .Net que nunca habían configurado el IIS) y saber como este condiciona la performance; y si se es IT Pro, ser consciente del rol que juegan las diversas aplicaciones corriendo en la infraestructura, el stack usado para desarrollarlas; ahhh y en ambos casos (si se trata de empresas “cliente”) ser consciente del diverso grado de importancia de las aplicaciones en la cuenta de resultados de la organización.

Antes de proseguir, ya que hablamos de Desarrolladores y IT Pro, he notado recientemente que la mayoría de las ofertas (¡y documentación!) de tipo DevOps (y también las de cloud, todo hay que decirlo) se orientan hacia un perfil de IT Pro, lo cual indica que no se ha entendido claramente el cambio que implica el movimiento DevOps y de la sinergia que se espera conseguir siendo que esta puede partir tanto de un perfil desarrollador como de operaciones, habiendo elementos que se pueden ganar de ambas miradas.

La segunda condición ya sea para el rol como para la cultura DevOps, es la famosa empatia, ponerse en el lugar del otro, si uno es desarrollador hablar con los de infraestructura para saber lo que están haciendo, tener referencias de cómo está su granja de servidores (con las palabras adecuadas los administradores de red te cuentan emocionados sobre el fierro que acaban de comprar), convocarlos periódicamente a las reuniones de desarrollo y hacerlos parte activa; y por el otro lado dejar de mirar los proyectos de desarrollo como algo que va a afectar la estabilidad y predictibilidad de la infraestructura sino como algo que se ha pedido como necesario para que la organización logre sus objetivos, por lo cual es necesario colaborar activamente; y en ambos casos… tratar de hablar el lenguaje del interlocutor.

Algo común para cualquier caso es estar pendiente del estado del arte, saber que es lo que puede hacer una nueva tecnología y como podría potencialmente ayudar a lo que se esta haciendo a fin de poder proponerlo cuando corresponda a las necesidades de la organización (aquí le corresponde a la administración tener mas apertura a la innovación, so pena de desalentar a sus equipos), esto claro viene de mano con una vocación de no dejar de estudiar bajo ningún concepto, así que esto de DevOps no es para quien se sienta cómodo con ofertas de tipo “resuelve problemas que son de menor complejidad y que pueden ser de carácter rutinario”.

Como pueden ver, esto de DevOps si bien en la hora de la cancha puede ser algo muy técnico, pero para empezar se requiere un cambio de mentalidad, tanto en las personas involucradas como en la organización.

***

Mil gracias a Lennon y al equipo de DevAcademy.la por invitarme por segunda vez a sus #DevHangout y porque luego pasan cosas como esta que alegran el día 🙂