Al vivir en mundo
cada día más digitalizado, la forma y la velocidad en la cual se programa o se
hacen desarrollos es cada vez más determinante. Cómo respuesta a esta necesidad
ha tomado fuerza “DevOps”, un método de desarrollo de software que
enfatiza la comunicación, la colaboración y la integración entre
desarrolladores de software y los profesionales de Infraestructura de TI.
Siendo una respuesta a la interdependencia entre el desarrollo de software y
las operaciones de TI apunta a ayudar a producir en forma rápida (o ágil)
productos y servicios de software. Para mayor información, hace unos meses
publiqué en mi blog “Quién no ha escuchado de DevOps?” http://bit.ly/1YHAuw1.
Otra consecuencia de este fenómeno es el impacto que tiene DevOps sobre
la profesión de Desarrollador, ya que tiene otros requerimientos de
conocimientos y habilidades. Esto impacta de manera muy importante al
personal que ha creado experticia y que vive de hacer Desarrollo e
Infraestructura. DevOps se asemeja a lo que podríamos denominar un Programador
de Sistemas “moderno” y si un Desarrollador está interesado en convertirse en
Ingeniero DevOps no existe un programa de estudios para lograr esto. Los que
han entrado a trabajar en DevOps han sido principalmente desarrolladores
interesados en implementación y operaciones de la red, o administradores de
sistemas con una pasión por la codificación y el scripting que deciden pasar al
lado del desarrollo para mejorar su planificación de las pruebas y de la
implementación.
Todo esto sin olvidar que la profesión de Desarrollador es muy
solicitada en el mundo y es una de las carreras más importantes para la
generación joven. Uno de los nuevos caminos existentes para que las
personas aprendan Desarrollo con un enfoque más moderno son los
“Boot-camps” y hay un interesante ejemplo en el artículo “Open Letter to
Employers on Behalf of Bootcamp Grads” http://bit.ly/1NF49A9.
Encuesta
sobre DevOps (2013)
En el mercado la
demanda por personas conocedoras de DevOps está creciendo rápidamente, ya que
las empresas que lo aplican obtienen excelentes resultados: logran implementar
código con una frecuencia 30 veces mayor que sus competidores y sus fracasos de
implementación son 50% menores. Curiosamente, solo el 18% de los encuestados
podía identificar en sus empresas empleados con la denominación DevOps, ya que
se trata de un fenómeno en plena evolución.
Habilidades
en DevOps
Hay cuatro áreas de
habilidades que se requieren para quienes trabajan en DevOps:
- Codificación o scripting.
- Infraestructura.
- Reingeniería de procesos.
- Comunicación y colaboración con otros.
Estas habilidades
indican que software ya no se escribe como se ha venido haciendo tradicionalmente,
antes se escribía desde cero en un proceso muy largo y complejo. Ahora crear
nuevos productos es frecuentemente una combinación de (1) la selección de
componentes de fuente de acceso libre y coserlos con código, (2) el asegurar que
el nuevo software funcionará a través de los diferentes sistemas operativos y
plataformas y (3) la aplicación de pruebas e implementación con mayor
frecuencia.
Quién construye el
software es el mismo que lo opera!
Atributos
claves para DevOps
Los atributos
incluyen: (A) habilidad de utilizar una amplia variedad de tecnologías y
herramientas de código abierto, (B) habilidad de codificar y hacer sripts, (C)
experiencia con sistemas y operaciones TI, (D) familiaridad con pruebas e
implementación incrementales y frecuentes, (E) comprensión profunda de
herramientas de automatización, (F) habilidades de manejo de datos, (G) fuerte
foco en resultados de negocios y (H) familiaridad con colaboración,
comunicación abierta y el cruce de fronteras entre las especialidades.