Menta

Blog

¿Cuál es el rol de un SRE?

La funciones que llevan a cabo los SRE dependen del tamaño de la empresa, así como de sus prioridades. Sin embargo, podemos decir que en buena medida se encargan de automatizar sistemas complejos.

Site Reliability Engineer (SRE) es una posición relativamente nueva en las empresas de tecnología. Surgió en Google hace aproximadamente 15 años. Pero ¿cuáles son las principales funciones de un SRE? Algunos creen que esta posición es como la de DevOps. En cambio, otros piensan que es muy distinta. Google da respuesta a esta interrogante. En un video titulado “What's the Difference Between DevOps and SRE?” (¿Cuál es la diferencia entre DevOps y SRE), Liz Fong-Jones y Seth Vargo, SRE y Advocate Developer de esta empresa, respectivamente, lo resumen de la siguiente manera: DevOps es una filosofía y SRE es una manera prescriptiva de entender dicha filosofía. A continuación, más información.  

¿Cómo surgieron los SRE?

Para entender mejor de qué va el puesto de SRE vayámonos un poco atrás, antes de que existiera dicha posición. Hace algunos años había mucha tensión entre desarrolladores y operadores. Los primeros se preocupaban por lanzar su código para que pudiera estar al alcance de los operadores, quienes deberían mantenerlo en producción. Es entonces cuando comenzaron los problemas. Los operadores entendían poco acerca de las líneas del código que recibían; por su parte, los desarrolladores tenían una idea vaga de cuáles eran las prácticas operativas y de infraestructura. ¿Qué daba esto por resultado? Los desarrolladores estaban preocupados por las características y la velocidad, mientras sus compañeros operadores buscaban la estabilidad, lo que significa, en muchas ocasiones, ir más despacio. Por supuesto, esto generaba fricciones entre este par de roles en las empresas.

Debido a los problemas organizacionales se creó DevOps, una serie de prácticas diseñadas para contrarrestar la grandes diferencias que había entre desarrolladores, operadores y otras partes del ciclo de trabajo tecnológico. Dichas prácticas se pueden dividir en 5 partes: reducir los problemas de organización, aceptar que fallar es normal, implementar el cambio gradual, manejar herramientas de apalancamiento, automatización y, ahora también, medirlo todo.

¿Cómo es un puesto de SRE en el mundo real?

Es cierto que todavía al día de hoy no es completamente claro cuáles son las responsabilidades de alguien que desempeña este rol. Esto depende mucho del tamaño de la empresa, así como de sus prioridades. Sin embargo, algo común entre los SRE es tratar de automatizar todo cuanto sea posible en sistemas computacionales complejos que operan a gran escala.

Ahora bien, como ya mencionamos, es complicado delimitar con precisión cuáles son las tareas que desempeña alguien en este puesto; sin embargo, algo en lo que podemos tener un criterio común es en las aptitudes que estos ingenieros deben tener.

Un buen SRE requiere de una mezcla tanto de habilidades enfocadas al trabajo, como de habilidades personales. Esto significa que no varían las cualidades, sin importar si el SRE es gerente o ejecutivo. Su rol se basa en que exista consistencia en articular metas y expectativas; justo ahí entran en juego las habilidades personales. Alguien puede ser muy bueno en automatización, conocer gran variedad de lenguajes de programación y estar muy influenciado en aplicación de protocolos de red, pero no es suficiente para ser un buen SRE. Se necesita saber qué pregunta formular, no basta con saber cómo aplicar cada tecnología para resolver un problema. Esto requiere ser adepto a la resolución de problemas, trabajar como parte de un equipo y tener habilidades de comunicación excepcionales (lo que cuadra muy bien con las prácticas DevOps que mencionamos anteriormente).

Mientras la entrega de software se vuelve la norma, los SRE están adquiriendo puestos como líderes en muchas organizaciones. Cada vez más empresas, como Dropbox, Twitter y Apple (e incluso también empresas más pequeñas), ven necesario que exista un SRE entre sus filas.

¿Quieres contratar a un SRE? Esto es lo que debes saber

Un SRE es responsable de la disponibilidad, desempeño, monitoreo y respuestas a incidentes, entre otras cosas de las plataformas y servicios que la compañía tiene y de las que opera. En el caso de empresas grandes muy probablemente se requiera a una persona que se especialice en un área, ya que en caso de desconocer algún otro tema habrá alguien más en el equipo que tome ese lugar. Mientras tanto, para las empresas más pequeñas hace falta tener conocimientos generales de diversos temas, ya que es más complicado tener a un especialista en cada ámbito.

Podemos concluir que, aunque los SRE son una posición relativamente nueva en las empresas de tecnología, cada vez tienen un papel más protagónico, ya que muchos tienen la función de líderes. Algunas características esenciales de este puesto son las habilidades de comunicación y resolución de problemas, además, por supuesto, de las competencias de TI (recopilar y analizar la información de diagnóstico y el registro; monitoreo y revisión proactivo del rendimiento de la aplicación).

Si estás pensando en buscar oportunidades en esta área es bueno que consideres cómo surgió este puesto de trabajo: la falta de compatibilidad entre desarrolladores y operadores. De esta forma podrás darte cuenta que se requieren habilidades de ambos. Alguien que alterne entre las operaciones y desarrollo de TI, al tiempo que es capaz de manejar a un equipo que entregue software y características innovadoras de alto rendimiento.

Recibirás un resumen semanal.