SRE, c’est pour Site Reliability Engineer. Donc l’ingénieur de fiabilité du site. Oui, je suis d’accord, en français, ça ne rend pas bien du tout… gardons donc l’acronyme pour la suite ! Le SRE est proche du DevOps, et certaines entreprises confondent les deux termes. Pour autant, lorsque le terme “DevOps” englobe une variété de profils, le SRE à proprement parler est un développeur qui a une part de responsabilité dans les opérations, le maintien en condition opérationnelle des sites, et leur disponibilité.
Le SRE tient son origine chez Google, lorsqu’un ingénieur a demandé à son équipe de diviser son temps entre le développement et les opérations, à part égales. Le SRE est donc à la fois développeur (Dev) et opérateur (Ops) d’où la facilité de langage de dire que le SRE est un DevOps.
Ton travail est d’avoir le moins de travail possible ! Ta principale responsabilité est d’automatiser tout ce qu’il est possible d’automatiser. Tu ne vas développer de nouvelles features que lorsqu’il sera clair qu’elles sont nécessaires.
Un autre aspect important est le monitoring : la détections des incidents, la compréhension de leur origine, et leur résolution. Dans le même cadre, tu es impliqué dans le processus des releases. C’est à toi de t’assurer qu’un logiciel ou une plateforme qui entre en production est fonctionnelle, et que les meilleures pratiques ont été respectées afin de garantir son fonctionnement optimal. Tu ne travailles pas seul, et les développeurs sont tes amis et tes alliés, ils comptent sur toi pour leur montrer la voie et la aider à produire du code propre et maintenable.
Beaucoup de résilience ! C’est un domaine qui évolue vite, les technologies changent, il faut rester à la page. Parfois, tu rencontreras des développeurs qui n’ont pas les bonnes pratiques, ce qui entraîne des problèmes importants en production. Ce qui est attendu d’un SRE, c’est de prendre les problèmes à bras le corps et avec humilité. Ta maxime doit être “understand, adapt, overcome”. Tu es là pour améliorer les choses. Les incidents font partie du métier, et tu es là pour mettre tout en place pour qu’ils arrivent le moins souvent possible et que s’ils doivent arriver, l’équipe réagisse de la bonne manière.
Tu as donc besoin d’être un bon communiquant, d’être humble et serviable, et de faire preuve de méthode et la dernière de tes qualités, et pas des moindre : une soif d’apprendre permanente.
Le plus simple est de passer par une école d’ingénieur. Les cursus proposés sont de 5 ans, post bac et permettent aux développeurs.ses d’acquérir de solides connaissances dans le domaine de l’informatique et de la programmation. Une reconversion est aussi possible grâce aux formations en ligne comme Open Classrooms ou Udacity, cependant il te faudra muscler ton jeu avec des projets personnels et des stages pour palier à ton manque de connaissance dans l’informatique en général. Il faudra doubler tes connaissances en programmation avec une formation sur la partie systèmes et opérations, et être à la page des services managés dans le cloud.
Plein de belles choses. Plusieurs choix s’offrent à toi :
Le SRE est un métier bien payé, la progression salariale est rapide et dépend directement de tes compétences techniques et de ton expérience sur des produits en production. Un jeune diplômé peut gagner dans les 45 K, et progresser rapidement au delà de 50 à 55K avec “seulement” deux à trois ans d’expérience. Pour passer cette barre, il faudra apporter aux entreprises une expertise métier, et une expérience sur des applications avec un fort trafic, afin de prouver que tu es capable d’intervenir sur des produits critiques.