Los usuarios digitales de hoy en día tienen expectativas increíblemente altas, especialmente con soluciones tecnológicas o digitales: los estudios muestran que las aplicaciones solo tienen una oportunidad para ganar usuarios. Y nada daña más la experiencia del usuario como un bajo rendimiento en una aplicación digital. Si una aplicación es demasiado lenta o poco confiable, los usuarios la abandonan rápidamente.
Como resultado, las empresas están comenzando a poner más énfasis en garantizar una alta confiabilidad en sus aplicaciones y servicios. Para respaldar este objetivo, la práctica de la ingeniería de confiabilidad del sitio (SRE) se ha vuelto más prominente en los últimos años. Habiéndose originado en Google, la doctrina SRE introduce y promueve la automatización de procesos para mantener un alto rendimiento y estabilidad de los servicios digitales. Pero aunque el rol de la SRE está ganando popularidad, ocupar estos puestos en medio de la escasez de talento, incluso en tiempos de despidos, no siempre es fácil.
El Instituto DevOps descubrió recientemente que el 85% de los encuestados mencionaron la falta de personal con las habilidades adecuadas como el mayor desafío a la hora de implementar SRE. No solo eso, sino que la SRE requiere un tipo específico de persona con las habilidades muy específicas.
Me reuní con Narayanan Raghavan, director sénior de ingeniería de confiabilidad del sitio para OpenShift en Red Hat, para descubrir los beneficios de adoptar la práctica de SRE y algunos consejos para cubrir los puestos de SRE. Según Raghavan, el rol de SRE requiere un ingeniero calificado con una mentalidad de sistemas y empatía por los usuarios finales.
A continuación, consideraremos cómo los CXO, CSO, CISO y otros líderes de TI pueden facilitar las prácticas de SRE y qué características deben buscar en los posibles ingenieros.
Beneficios de adoptar una cultura SRE
SRE está vagamente definido. Por lo general, se incluye en DevOps, pero se ha adoptado de diversas formas. Algunas actividades diarias de SRE incluyen establecer acuerdos de nivel de servicio, responder a incidentes y realizar autopsias técnicas. Otros sellos distintivos del rol de SRE son la reducción del trabajo duro al “automatizar su trabajo” y promover la colaboración entre departamentos.
Site Reliability Engineering (SRE en inglés) puede brindar muchos beneficios a sus prácticas de soporte de software, en primer lugar, al aumentar la observabilidad de los resultados de extremo a extremo. Mientras que DevOps analiza las “capas del pastel” individuales, como las redes, el almacenamiento o la capa de aplicación, los SRE, por otro lado, intentan ver la porción completa, hasta comprender los resultados entregados al cliente final, dice Raghavan.
Cuando las cosas no están tan segmentadas por capas técnicas, comienzas a tener más “piel en el juego”, dice Raghavan. Y cuando la experiencia del cliente final se vuelve más importante, construir teniendo en cuenta la empatía del cliente también se vuelve más importante. Esto puede resultar en aplicaciones más estables y menos errores. Además, dado que los SRE pueden ver la imagen de un extremo a otro, pueden identificar funciones en un caso de uso que podrían aplicarse a otros flujos de trabajo de desarrollo. Esto puede resultar en compartir herramientas internas reutilizables para automatizar cosas como flujos de trabajo de desarrollo, configuraciones o modelos de entrega.
Habilidades y experiencias que más importan para SRE
Entonces, cuando los líderes de equipo están tratando de ocupar puestos de SRE, ¿qué experiencias deben buscar en los posibles candidatos? Según Raghavan, encontrar personas técnicamente capaces es la parte fácil. La parte más desafiante es encontrar personas que tengan habilidades blandas y la flexibilidad mental para ponerse en el lugar de los demás. Él describe esto como la capacidad de “flexionar y lanzarse en paracaídas hacia lo desconocido”.
Otro elemento es el pensamiento sistémico . “Contrato ingenieros de software con una mentalidad de sistemas, o contrato ingenieros de sistemas que pueden escribir código”, dijo Raghavan. El objetivo es encontrar personas que puedan mejorar la confiabilidad de una aplicación a escala para hacer que la plataforma general sea más aburrida. Por aburrido, nos referimos a menos llamadas de atención a las 2 a.m. con el objetivo de mitigar sorpresas desagradables e interrupciones.
Las organizaciones están produciendo datos exponenciales, incluido un mar de datos de observabilidad . Por lo tanto, la capacidad de ver tendencias en los datos es un elemento necesario del puesto de SRE. Raghavan describe esta habilidad como “ser capaz de escudriñar el escape digital para llegar a las pepitas que importan”. Los solucionadores de problemas con una habilidad especial para el análisis de datos resultarán útiles.
Por último, dado que el rol de SRE interactúa con muchos tipos de equipos, el puesto requiere emprendedores que puedan comunicarse cómodamente con las partes interesadas, ya sean desarrolladores internos, empresas asociadas o consumidores finales. El rol, por lo tanto, requiere un colaborador intuitivo.
Consejos para reclutar SRE
Hasta ahora, hemos identificado un SRE ideal para tener empatía, habilidades técnicas de DevOps, una mentalidad de sistemas, conocimiento de datos y habilidades de comunicación naturales. Si este candidato teórico suena demasiado bueno para ser verdad, es porque probablemente lo sea. Según Raghavan, los líderes no deberían buscar candidatos que cumplan todos los requisitos en una descripción de trabajo. En cambio, alienta a mantener una mente abierta a las personas que no cumplen con todos estos requisitos pero que tienen el potencial de crecer.
“Este tipo de papel no es para todos”, dijo Raghavan. El puesto de SRE requiere que desempeñes múltiples funciones, lo que puede ser una carga emocional. También implica trabajo de ingeniería y sistemas de construcción a escala, pero no todo el mundo está hecho para ambos mundos. Al reclutar para el papel, Raghavan guía a los entrevistados a través de un caso extremo para ver cómo reaccionan. Suponga que varios componentes han fallado y las alertas se vuelven locas: la forma en que alguien responde puede demostrar cómo funciona bajo estrés. También puede probar su capacidad para diferenciar alertas basadas en síntomas frente a alertas basadas en causas.
Otro método para construir una cultura SRE saludable es brindar la oportunidad de cometer errores. Esto significa celebrar los fracasos y no jugar el juego de la culpa. Las retrospectivas sin culpa, por ejemplo, son una buena filosofía para adoptar, ya que ayuda a los equipos a descubrir la causa raíz de los incidentes sin señalar con el dedo. “Ser capaz de fallar es parte del proceso de aprendizaje que muchas personas se pierden”, dijo Raghavan.
Formación de equipos SRE: Pensamientos finales
Muchos conjuntos de habilidades son parte integral de la práctica de SRE, pero un rasgo especialmente importante es poder ver el panorama general. Dado que los SRE se enfocan en escalar y abarcar todo el negocio, pueden detectar esos “recursos de oro” que comparten todos los equipos, dijo Raghavan. Reutilizar estas capacidades significa eliminar la necesidad de reinventar la rueda entre equipos. “Una vez que haces eso, entonces simplifica los sistemas y procesos en todos los ámbitos”.
Con respecto a la dinámica del equipo, también debemos considerar la naturaleza de los equipos de software actuales, que a menudo están distribuidos geográficamente o involucran un híbrido de trabajo remoto y presencial. Como tal, el lugar donde construyes tu equipo es importante. Es posible que los líderes tengan que organizar el horario de manera creativa para garantizar que los empleados distribuidos trabajen solo durante el horario comercial. Trabajar de forma asincrónica también subraya la necesidad de habilidades blandas y rasgos de comunicación.
Pero encontrar el talento adecuado con estas habilidades es una cosa, retenerlo es otra. Afortunadamente, el puesto tiene muchas calificaciones que se ven bien en un currículum, lo que podría atraer a los ingenieros. “¿Qué ingeniero no estaría emocionado de trabajar en Kubernetes, OpenShift, ejecutándose en AWS, GCP o Azure y pensando en cosas como Service Mesh e Istio?” dijo Raghavan. Si toma el entusiasmo por las tecnologías modernas y lo combina con una dinámica de equipo de apoyo, puede crear un entorno de trabajo SRE positivo y sostenible que es difícil abandonar.
Autor: Bill Doerrfeld
Artículo original aquí