Focos de atención
Ingeniero SRE, Ingeniero DevOps (SRE), Ingeniero de Fiabilidad de Sistemas, Ingeniero de Operaciones (SRE), Ingeniero de Infraestructura (SRE), Ingeniero de Operaciones de Sitio, Ingeniero de Producción (SRE), Ingeniero de Plataforma (SRE), Ingeniero de Disponibilidad de Sitio, Ingeniero de Fiabilidad
Antes de que naciera DevOps, Google tenía un problema y no sabía cómo solucionarlo. La empresa gestionaba grandes sitios web, pero necesitaba mejorarlos y escalarlos aún más. ¿Su solución? Google contrató a un equipo de ingenieros de software para que lo resolvieran y de sus esfuerzos surgieron los cimientos de la Ingeniería de Fiabilidad de Sitios (SRE). Hoy en día, el gigante del software define la SRE como "lo que obtienes cuando tratas las operaciones como si fueran un problema de software".
Las prácticas de SRE fueron tan beneficiosas que fueron adoptadas por otras grandes empresas y, con el tiempo, mejoradas y añadidas, dando lugar a un campo profesional que comparte muchos de los rasgos de DevOps de hoy, pero con algunas distinciones importantes. Aunque ambos se encuentran entre el desarrollo y las operaciones, la SRE se centra más en la automatización. De hecho, Google describió una vez el propósito del ingeniero como "automatizar su salida de un trabajo".
Diferentes organizaciones hacen SRE de manera diferente y pueden llamarlo Ingeniería de Producción o Ingeniería de Infraestructura en su lugar. Sea cual sea su denominación, al fin y al cabo el trabajo de un ingeniero consiste en trabajar en equipo para mejorar continuamente la fiabilidad de un sitio web, utilizar indicadores clave de rendimiento (KPI) para la gestión de incidencias, escribir código, crear servicios y automatizar procesos manuales. Dado que los sitios web están activos las 24 horas del día, los SRE suelen trabajar de guardia para responder siempre que se les necesite.
- Trabajar con una visión global de los proyectos
- Servir de puente vital entre los equipos
- Mejorar los procesos y ayudar a aumentar los beneficios de la organización
- Generosas compensaciones económicas
Horario de trabajo
La SRE es un campo profesional bien remunerado, así que espere ganar esos salarios trabajando a tiempo completo. Como lo explica ParkMyCloud, la fiabilidad del sitio equivale esencialmente a la disponibilidad del negocio. En otras palabras, depende de los Ingenieros de Fiabilidad del Sitio minimizar el costoso tiempo de inactividad. Eso puede traducirse en trabajar fuera de horario o estar de guardia para responder rápidamente a los problemas.
Tareas típicas
- Creación o mejora de programas informáticos relacionados con las operaciones y la asistencia
- Optimización y automatización de procesos
- Garantizar la coherencia de las prácticas de ingeniería de lanzamiento
- Abordar y minimizar la escalada del soporte
- Capturar y documentar la información recién aprendida para su posterior consulta, por ejemplo mediante la creación de cuadernos de ejecución. Evitar el "aislamiento" o el acaparamiento de conocimientos compartibles.
- Solución de problemas
- Realización de revisiones de incidentes (también conocidas como autopsias, retrospectivas o análisis de la causa raíz) para determinar por qué se produjo un problema sin culpar a nadie.
Responsabilidades adicionales
- Trabajo de guardia para la resolución de problemas y otras cuestiones de respuesta a incidentes
- Garantizar el cumplimiento de los protocolos de la organización
- Creación de listas de acciones para resolver problemas y mitigar futuros problemas similares dentro del ciclo de vida del desarrollo de software.
Soft Skills
- Capacidad para facilitar la colaboración entre equipos
- Resolución analítica de problemas
- Atención al detalle
- Servicio de atención al cliente
- Empatía
- Flexibilidad
- Centrado en objetivos
- Gran capacidad de organización y gestión del tiempo
- Investigador e inquisitivo
- Capacidades de liderazgo y gestión
- Objetividad
- Orientado al proceso
- Mentalidad de garantía de calidad
- Gran capacidad de comunicación
Competencias técnicas
A los SRE se les exigen varios conjuntos de aptitudes relacionadas con lo siguiente:
- Crear herramientas de automatización
- Construir lenguajes de configuración
- Compiladores
- Bases de datos
- Diseño de sistemas distribuidos
- Conocimientos relacionados con la administración de sistemas, el desarrollo, la gestión de la configuración y las pruebas de integración.
- Gestión general del código fuente
- Instaladores
- Conexión a la red
- Sistemas operativos
- Gestores de paquetes
- Seguridad
- Ingeniería informática
- Agencias de diseño de sistemas informáticos
- Sociedades/empresas
- Agencias gubernamentales/militares
- Sanidad
- Centros de enseñanza superior
- Medios de comunicación y entretenimiento
Si una organización tiene un sitio o sitios tan importantes que necesitan un Ingeniero de Fiabilidad del Sitio, entonces las expectativas van a ser altas. Según Netguru, las cuatro razones principales para contratar a un SRE son minimizar el tiempo de inactividad, anticipar y mitigar los riesgos, lograr un desarrollo más rápido y ahorrar dinero a través de esos y otros procesos implementados. Está claro que los Ingenieros de Fiabilidad del Sitio tienen las manos llenas, y mientras intentan hacer malabarismos con la carga de trabajo también deben mantenerse a la vanguardia de los cambios en el mundo de las TI.
Las horas pueden ser largas cuando se producen problemas, por no hablar de las rotaciones... lo que significa que incluso cuando estás fuera, sigues técnicamente dentro. Los tiempos de respuesta a los incidentes pueden ser cortos, y cada empleador es diferente cuando se trata de compensar el trabajo realizado fuera de horario. Algunos conceden tiempo libre remunerado, otros una paga extra y otros un "muchas gracias" y nada más.
La SRE sigue siendo un concepto relativamente nuevo para muchas organizaciones en crecimiento. Como resultado, una tendencia es que las empresas todavía están tratando de averiguar cómo gestionarla mejor. Un factor importante que impulsa la Ingeniería de Fiabilidad del Sitio es la resolución de incidentes, lo que sugiere la noción de que las empresas simplemente se están cansando de apagar incendios y quieren manejarlos mejor.
Por supuesto, esto libera de tensión a la dirección, haciendo recaer la tensión en los SRE. Esto, a su vez, puede obligar a los empleadores a encontrar formas de mantener a esos trabajadores estresados sanos y saludables, para que la plantilla pueda funcionar con la máxima eficiencia. Algunas empresas lo hacen mejor que otras, pero la tendencia es reconocer el valor de cuidar a los trabajadores ocupados que se ocupan de sus negocios.
El nombre "Site Reliability Engineer" nos da algunas pistas sobre el tipo de personas que trabajan en este campo. Les gusta trabajar en sitios web, un interés que la mayoría de los SRE desarrollaron en su juventud. Son responsables de garantizar que los sitios sean "fiables", es decir, que todo funcione como debe cuando debe. Por tanto, los propios trabajadores deben ser fiables, que es otra característica que se suele perfeccionar en los primeros años.
A estas personas les gusta ser puntuales y estar preparadas, y es probable que tuvieran un buen rendimiento académico. De hecho, ser ingeniero de cualquier tipo suele requerir grandes aptitudes académicas, sobre todo en matemáticas y ciencias, por supuesto. Sin embargo, una de las cosas interesantes de este campo es la cantidad de habilidades interpersonales que entran en juego.
Un SRE debe tener don de gentes, sentirse cómodo trabajando con equipos y ser capaz de fomentar la colaboración entre ellos. Como resultado, es posible que hayan ocupado puestos de liderazgo en la escuela, o tal vez simplemente hayan tenido que lidiar con un montón de hermanos. Los SRE son expertos en eficiencia, formados para encontrar formas de mejorar las cosas estudiando los problemas y determinando soluciones basadas en su investigación. Esto requiere una mentalidad creativa y analítica a la vez, como si ambos hemisferios del cerebro trabajaran en tándem. Es posible que muchos SRE sean ambidiestros o expertos en tocar instrumentos musicales.
- Los Ingenieros de Fiabilidad del Sitio necesitan una licenciatura, preferiblemente en Informática o un área relacionada.
- No hay un camino fijo para convertirse en SRE. Algunos trabajadores acceden a través de un periodo de prácticas; otros pueden realizar un programa de formación inicial y, a continuación, desarrollar habilidades mientras realizan otros trabajos de TI y practican otras habilidades por su cuenta.
- Amplia experiencia laboral es un requisito clave de la mayoría de los empleadores (muchos empleados de SRE trabajan primero en DevOps, sysadmin, o como desarrolladores o ingenieros de software).
- Clases para familiarizarse con Java, Python, Ruby o C++, así como con Linux, Kubernetes y MySQL.
- Cursos de inglés, redacción, expresión oral, trabajo en equipo y liderazgo.
- Las certificaciones opcionales incluyen:
- Certificación de Ingeniero de Fiabilidad de la American Society for Quality
- Certificación SRE Foundation del DevOps Institute
- Certificación Linux+ de CompTIA
- Aprende por tu cuenta haciendo cursos sobre:
- edX - Introducción a DevOps y a la Ingeniería de Fiabilidad del Sitio
- Lynda (de LinkedIn) - Fundamentos de DevOps: Site Reliability Engineering
- Udemy - Introducción a la ingeniería de la fiabilidad
- Coursera - Ingeniería de Fiabilidad del Sitio: Medición y gestión de la fiabilidad
- Nota, el mismo curso también se ofrece en Pluralsight
- Gran parte de lo que necesitas saber para ser un buen ingeniero de fiabilidad de instalaciones lo aprenderás fuera de la universidad.
- Lo ideal es buscar programas que ofrezcan cursos en las áreas mencionadas anteriormente
- Lea las biografías de los profesores para conocer sus áreas de especialización y formación.
- ¿Qué tipos de clubes y organizaciones estudiantiles existen? Muchas destrezas técnicas y sociales se aprenden más eficazmente a través de una amplia interacción entre compañeros.
- Asegurarse de que la escuela está acreditada
- Busca programas que publiquen estadísticas de empleo tras la graduación y que tengan un historial sólido.
- Sopesa los pros y los contras de matricularte en un programa online. La participación en el campus es muy beneficiosa para desarrollar habilidades interpersonales, por lo que a veces es conveniente un programa híbrido.
U.S. News & World Report's Best Computer Science Programs puede ayudarte a empezar, pero no te fíes solo de una clasificación. No querrás perderte buenas oportunidades, así que te recomendamos que tengas en cuenta listas como las 50 mejores universidades asequibles de informática e ingeniería de Great Value College para 2020 o los 25 mejores programas de informática con el mejor retorno de la inversión de Best Value School.
La universidad puede llegar a ser escandalosamente cara, pero ten en cuenta que muchos empleadores son muy prácticos. Pueden estar más interesados en tus habilidades técnicas duras que en la escuela en la que te graduaste. En otras palabras, tener simplemente un título de una costosa universidad privada no va a garantizar un empleo en esta línea de trabajo. Céntrate en las clases específicas que necesitas para desarrollar tus habilidades y adquiere la mayor experiencia práctica posible.
- Como ya se ha mencionado, no hay un único camino para convertirse en un SRE, así que trace algunas opciones
- Mira las ofertas de empleo de las empresas en las que te gustaría trabajar. Presta atención a la experiencia laboral y académica requerida y, a continuación, diseña una trayectoria profesional inversa para llegar hasta allí.
- En el instituto, construye una base sólida cursando el mayor número posible de asignaturas optativas de informática.
- Practique todo lo que pueda. Realice cursos relacionados con los puntos anteriores de Educación y Formación
- No te olvides de mejorar tu redacción. La redacción técnica es importante, pero también tendrás que traducir temas complejos a términos sencillos.
- Los SRE necesitan buenas aptitudes para el trabajo en equipo y el liderazgo. A menudo son rasgos que se descuidan y que se espera que tengas más adelante, así que busca formas de desarrollarlos desde el principio.
- No hay nada mejor que tener un mentor con experiencia, así que pide consejo a antiguos alumnos o profesores.
- Enseñar a otros. Enseñar facilita nuevas experiencias de aprendizaje para ambas partes
- Lee y participa en debates en Quora, Reddit, Dev.to y otros sitios.
- Cuando tus habilidades sean lo suficientemente buenas, consigue experiencia remunerada en Upwork
- Busca prácticas en Indeed, o pregunta en el programa de tu universidad si tienen oportunidades
- Sea un líder en los clubes relacionados con las TI y cree una amplia red de colegas y asociados.
- ¡Corra la voz! La mayoría de los puestos de trabajo se encuentran ahora a través de redes
- Realiza la prueba de selección de TripleByte DevOps. Si lo superas, obtendrás una entrevista con empleadores de su red.
- Busca vacantes en Indeed, Monster, USAJobs, ZipRecruiter, LinkedIn y Glassdoor.
- Averigüe qué buscan los empleadores Usenix tiene un pdf descargable con consejos sobre la contratación de SREs.
- Algunos empleadores forman a sus SRE internamente, por lo que es posible que desee comenzar en un puesto de trabajo, pero con un plan para ascender dentro de la empresa.
- Haz prácticas. No siempre están bien pagadas, pero te abrirán las puertas y pueden conducir a empleos a tiempo completo.
- El jurado no está seguro de la utilidad de las ferias de empleo, pero las ferias sectoriales pueden darle a conocer las oportunidades existentes y ofrecerle la oportunidad de charlar con los trabajadores.
- Ten tu currículum en orden. Job Hero tiene algunas magníficas plantillas de curriculum vitae de Site Reliability Engineer de las que puedes tomar ideas.
- Contrata a un redactor (o editor) profesional de currículos para que mejore tu documento y lo haga lo mejor posible. Pero recuerda, adapta cada currículum al puesto específico al que optas.
- Estudia la enorme base de datos de recursos y preguntas para entrevistas de GitHub.
- Depende mucho del tamaño de la organización. Algunas empresas promocionan desde dentro; otras pueden querer candidatos externos. Las oportunidades de promoción deben discutirse con tu supervisor desde el principio.
- Sé proactivo. Fórmate, haz cursos, sigue aprendiendo. Cuando haya una nueva tendencia tecnológica, averigua todo lo que puedas sobre ella y conviértete en un experto en la materia.
- Demuestre lealtad a su empresa y conviértase en un activo de confianza e inestimable digno de una mayor responsabilidad. Compórtate de forma que indiques que estás preparado para avanzar.
- Recuerde siempre las habilidades interpersonales. Incluso el empleado más capacitado técnicamente tendrá dificultades para ascender si no se lleva bien con los demás...
- Sé un jefe. Demuestre su competencia y potencial de liderazgo. Un SRE debe ser capaz de dirigir a los demás de forma colaborativa pero decisiva (y, cuando sea necesario, firme).
- Demuestre que es de fiar. Sé puntual y, si estás de guardia, responde al incidente con rapidez, realiza el trabajo con diligencia y busca formas de mitigar futuros problemas similares.
Páginas web
- Bash-Scripting avanzado
- Impresionante Python
- Guía de programación en red de Beej
- Desafío de mando
- Ases cibernéticos
- DevOps BootCamp
- DevOpsDays
- Eli, el informático
- Git
- Inmersión en Git
- Introducción a SQL: Consulta y gestión de datos
- Katacoda
- Ingeniería de sistemas operativos del MIT
- Universidad MongoDB
- Escuela de Operaciones
- Por encima del cable
- Aprendizaje con marionetas
- SQLZOO
- SREcon
- Semanario SRE
- Sysadmin Casts
- El gran blog de materiales de formación en seguridad de la información
- Cosas de frikis
- El libro de Google SRE
- Guía abierta de Amazon Web Services
- Manual de diseño de sistemas
- El banco de trabajo Unix
- Caja de herramientas Unix
Libros
- Creación de sistemas seguros y fiables: Best Practices for Designing, Implementing, and Maintaining Systems, de Heather Adkins, Betsy Beyer, et al.
- Sistemas operativos: Three Easy Pieces, por Remzi Arpaci-Dusseau y Andrea Arpaci-Dusseau
- Practical Site Reliability Engineering, por Pethuru Raj Chelliah, Shreyash Naithani y otros.
- Ingeniería de fiabilidad de sitios web: How Google Runs Production Systems, de Niall Richard Murphy, et. al.
- El Proyecto Phoenix: A Novel about IT, DevOps, and Helping Your Business Win, de Gene Kim, Kevin Behr, et al.
La Ingeniería de Fiabilidad del Sitio Web puede ser una carrera apasionante con un montón de responsabilidades. Sin embargo, el camino no siempre es fácil. Muchas personas empiezan en otras áreas, y a veces acaban quedándose en ellas. Algunas opciones de trabajo del "Plan B" son::
- Desarrollador de Back-End
- Director de Informática y Sistemas de Información
- Programador informático
- Especialista en soporte informático
- Analista de sistemas informáticos
- Administrador de bases de datos
- DevOps
- Desarrollador Front-End
- Desarrollador Full-Stack
- Analista de seguridad de la información