"신입으로 SRE가 되려면 어떻게 해야 하냐"는 질문을 최근에 많이 받기도 해서 평소 생각을 정리해 봤습니다.
SRE, 인프라 엔지니어, DevOps 엔지니어, 클라우드 엔지니어 뭐라고 불러도 큰 상관은 없지만 여기서는 SRE라고 하겠습니다.
요즘 프론트엔드나 백엔드나 스코프가 넓지 않은 분야가 없지만 SRE는 시스템 전반에 걸쳐서 운영 및 모니터링을 하면서 지원 업무를 해야하기에 봐야될 영역이 꽤 넓게 느껴집니다. 그리고 여기엔 개발 뿐 아니라 운영까지 필요하기 때문에 운영 경험을 공부로 배우기는 쉬운 일이 아닙니다.
지금 시니어 SRE라고 할 수 있는 사람이 이 넓은 영역을 다루고 있는 것은 사실 그사람들이 그냥 이전에는 백엔드 혹은 프론트엔드 개발자이기 때문입니다. 그래서 서비스 엔지니어이 어떻게 개발하고 뭐가 필요하고 각 언어에는 어떤 특징이 있는지 알고 있는 것 뿐입니다. 그러면 SRE가 되려면 서비스 개발부터 해야하나? 이 어려운 질문에 현재의 저는 일단 그렇다라는 말을 할 수 밖에 없었습니다. SRE는 코딩도 해야하는 직군이고 운영업무를 하면서 코딩까지 하는건 쉽진 않습니다.
최근 내가 다양한 경로로 본 저연차(?) SRE 서비스개발 혹은 개발이 주 업무인 역할로 다시 가려고 하는 이유도 이러한 코딩에 대한 스킬 부족이 해결안되기 때문이라고 생각합니다. 운영 업무도 하면서 코딩을 하더라도 코딩 작업이 아주 많지 않거나 간단한 자동화가 대다수라서 전문성에 대한 고민이 생기는 겁니다. 물론 이건 업계와 기존 시니어가 더 고민하고 방법을 찾아야 하는 문제라고 생각하지만 현실은 일단 그렇습니다.
인프라를 운영하려면 서비스 개발이 어떻게 진행되는지 아는 것은 큰 도움이 되기 때문에 서비스 개발은 해보는 건 괜찮다고 생각합니다. 그리고 해보기 전에는 본인의 성향도 알수 없으므로 서비스 개발부터 하다보면 자신이 어디에 재밌어하고 관심이 가는지 알 수 있을거라고 생각합니다.
현실은 그렇다치고 제 생각에는 현재 SRE 업계가 그리 성숙하진 않았다는 문제가 크다고 생각합니다. SRE 직군은 서버 개발부터 해와야 한다면 규모가 커질 수가 없고 인원을 늘려야 할 때 유연하게 늘리기도 어렵습니다. 인원을 늘리려면 신입도 채용해서 키워낼 수 있어야 하는데 다른 직군이나 회사들도 이건 잘 안되긴 하지만 SRE에선 더 어렵다고 생각합니다.(지금 제가 SRE라서 그렇게 느낄수도 있습니다.)
SRE 채용 자체가 많지 않고 저연차에 대한 채용은 더 많지 않다. 내가 있는 조직도 엔지니어 300명 정도에 SRE가 16명인데 엔지니어 대비 국내에서는 상당히 큰 SRE 팀으로 알고 있습니다. 그래서 SRE로 일할 기회 자체가 많지 않습니다. 팀이 커져야 채용도 많아지고 저연차 엔지니어도 뽑아서 키울 여력이 생기는데 많은 조직이 한,두명의 SRE 인력으로 운영하고 있어서 그럴 여력이 별로 없습니다. 이건 SRE를 뽑는 것이 회사 엔지니어링 역량을 높이는데 얼마나 도움이 되는지 이미 SRE 직종을 하는 사람들이 더 알려야 하는 일이라고 생각합니다.
신입이 SRE를 하려면 개발도 하고 AWS, k8s도 알고 prom, argocd, grafana 등을 다 알아야 하나? 하면 저는 그렇게 생각하진 않습니다. 하지만 요즘은 스펙 인플레이션이 높은 느낌이라 신입도 표준 구성의 상당부분을 해보고 오기 때문에 다른 지원자에 비해 경쟁력을 가지려면 어쩔수 없이 해봐야 한다고 말할 수 밖에 없긴 합니다. 뭐 그래서 인플레이션이 되는거긴 합니다.
다음 내용이 궁금하다면?
이미 회원이신가요?
2023년 12월 17일 오후 12:36