2019.03.08

“몸값 상승 중” 데브옵스 엔지니어의 역할과 조건, 대우

Josh Fruhlinger | InfoWorld
데브옵스를 요약해서 설명하면 이전까지 외따로 분리되어 있던 개발(애플리케이션을 만드는 이들)과 운영(이 애플리케이션이 정상적으로 작동하도록 하는 이들)을 하나의 팀으로 통합하고자 하는 문화이자 철학이다. 통합 팀은 지속적 통합과 지속적 전달, 테스트를 사용해서 기존 코드베이스를 자주, 증분적으로 개선해 프로덕션으로 배포한다.

데브옵스 엔지니어는 이런 팀에서 활동하기 위해 필요한 기술을 갖춘 사람이다. 그러나 데브옵스의 모든 것이 그렇듯이, 데브옵스 엔지니어를 딱 부러지게 명확히 정의하기는 어렵다. “데브옵스 엔지니어”라는 말 자체가 이들의 직무를 적확하게 기술하는 용어가 아니라고 주장하는 의견도 있다. 그러나 높은 급여를 주고 ‘데브옵스 엔지니어’를 채용하고자 하고 기업이 점점 늘어나고 있다. 이러한 기업이 원하는 자질이 무엇인지 살펴보자.

ⓒ GettyImagesBank
 

데브옵스 엔지니어의 정의

데브옵스 철학을 실천한다는 것은 개발 및 운영 팀 전체를 아무 구분 없는 데브옵스 직원 무리로 뭉뚱그려 대체한다는 의미가 아니다. 데브옵스 팀에도 다양한 직원이 저마다 다른 기술을 보유한다. 프로그래머도 있고, 시스템 관리자, DBA도 있고, 모두 함께 일한다.

기업에서 데브옵스 엔지니어라는 용어를 사용할 때 그 의미는 이러한 모든 역할을 연결하는 과정을 돕는 인력이다. 소프트웨어 엔지니어링 기업 알텍소프트(Altexsoft)의 블로그에는 이 역할이 다음과 같이 설명되어 있다.

“코딩 방법을 아는 시스템 관리자로 보는 시각도 있고 시스템 관리자 스킬을 갖춘 개발자로 보는 시각도 있다. 어떤 면에서 두 가지 정의 모두 타당하다. 데브옵스 엔지니어의 주된 역할은 지속적 전달과 지속적 통합 워크플로우를 도입하는 것이고, 이를 위해서는 데브옵스 툴에 대한 이해와 여러 프로그래밍 언어에 관한 지식이 필요하다.”

개발자인 이고르 칸토는 미디엄(Medium) 게시글에서 데브옵스 엔지니어를 “소프트웨어 개발 라이프사이클을 이해하고 소프트웨어 엔지니어링 툴과 프로세스를 도입해 전통적인 운영 과제를 해결하는 사람”이라고 기술했다. 핵심은 개발(dev)과 운영(ops), 양쪽에서 모두 충분한 지식과 경험을 보유해서 이 둘이 어떻게 함께 작업할 수 있는지를 이해하고, 더불어 전문 팀원들이 서로 소통하고 각자의 격벽을 넘어 바깥 세계를 이해하도록 돕는 “소프트”한 인적 스킬도 갖춰야 한다는 점이다.
 

데브옵스 엔지니어 교육

IT 종사자들이 모이는 레딧(Reddit) 등에서 흔히 볼 수 있는 우스갯소리로, 신입 데브옵스 엔지니어는 존재하지 않는다는 말이 있다. 데브옵스 엔지니어를 채용하는 기업이 요구하는 폭넓은 기술 요건은 갓 학교를 졸업하거나 학원을 수료한 사람이 결코 충족할 수 없기 때문에 나온 말이다.

데브옵스 엔지니어 역할 “교육”은 개발자에게 운영 분야의 경험을 제공하거나 반대로 운영자에게 개발 분야의 경험을 제공할 수 있는 직무 환경을 통해서 이뤄진다. 이와 관련해서 제프리 리는 해커 눈(Hacker Noon)에서 다음과 같이 말했다.

“데브옵스 엔지니어가 되기 위한 정식 교육 과정은 없다. 즉, 현재의 데브옵스 엔지니어들은 확고한 스킬셋을 바탕으로 다른 역할로 스스로를 확장해 나간 사람들이다. 기업이 이들을 채용하는 이유는 현장에 대한 깊은 이해와 많은 실무 경험에 있다. 링크드인의 [데브옵스 엔지니어] 구인 공고를 보면 하나같이 5년 이상의 경력을 필수 요건으로 제시한다.”
 

데브옵스 엔지니어 스킬

공식적인 데브옵스 엔지니어 교육 과정이 없다고 해서 데브옵스 엔지니어를 경력 목표로 선택하지 못할 것은 없다. 그러나 현장 경험을 통해서든 외부 교육 또는 자기 학습을 통해서든 의식적으로 다양한 역량을 쌓기 위해 노력해야 한다.

이고르 칸토는 데브옵스 엔지니어가 되고자 하는 사람이 이해해야 하는 주요 기술과 플랫폼에 대한 글을 연재했는데, 이 글은 다음과 같은 범주로 요건을 분류했다.

- 기초 : 리눅스 관리, 파이썬, AWS 또는 다른 클라우드 플랫폼
- 구성 : 테라폼(Terraform) 또는 앤서블(Ansible)
- 버전 관리 : 깃(Git)과 깃허브(GitHub)
- 패키징 : 도커(Docker)
- 배포 : 젠킨스(Jenkins)
- 실행 : 아마존 ECS와 쿠버네티스
- 모니터링 : ELK 스택

확실히 부담스러운 요건이다! 그러나 위에 열거한 모든 플랫폼을 마스터하는 것은 비현실적이라 해도 최소한 어떻게 움직이는지는 알아야 한다. 더 중요한 점은 필요할 때 바로 더 배울 수 있는 방법을 알아야 한다는 것이다.

데브옵스 엔지니어가 되려면 특정 제품이나 기술을 아는 것으로는 부족하다. 제품과 기술은 산업의 발전에 따라 항상 바뀐다. 데브옵스 철학과 기반 라이프사이클에 대한 이해도 중요하다. 따라서 데브옵스의 핵심인 지속적 배포와 지속적 통합 프로세스(CI/CD), 그리고 여기에 수반되는 소프트웨어 테스트를 이해해야 한다.

소프트 스킬도 간과하면 안 된다. 소프트 스킬은 더 빠르고 반복적인 소프트웨어 개발 및 릴리스 사이클을 추구하는 문화적 변화에서 핵심적인 역할을 하고, 흔히 대립적 관계에서 일하는 데 익숙한 개발자와 운영자 사이의 간극도 잇는다. 사이브릭(Cybric) 설립자이자 전 야후 CIO인 마이크 D. 카일은 테크비컨(TechBeacon) 게시글에서 “조직에서 새로운 데브옵스 도입을 원활하게 하기 위해 공감, 진실성, 탄력성과 같은 소프트 스킬을 마스터한 소프트웨어 엔지니어를 원하는 경우가 많아지고 있다”고 말했다.

에듀레카(Edureka)의 이 샘플 면접 질문과 같이 온라인에 있는 데브옵스 엔지니어 면접 질문을 살펴보면 데브옵스 엔지니어에게 요구되는 사항이 무엇인지 감을 잡을 수 있다. 물론 구체적인 기술에 관한 질문도 있지만 이러한 다양한 플랫폼과 툴이 어떻게 상호 연계해 작동할 수 있는지에 대해 설명이 가능해야 하고, 데브옵스 철학과 프로세스를 이해하고 있다는 점도 보여줘야 한다.

데브옵스 엔지니어의 스킬 패키지를 갖추기 위해 교육 기관의 도움이 필요하다고 생각된다면, 아마존이 실시하는 AWS 인증 데브옵스 엔지니어(AWS Certified DevOps Engineer) 시험에 관심을 둘 만하다. 물론 이 자격증은 아마존 클라우드 플랫폼에 초점을 두지만 이 시험을 위해 공부하다 보면, 자신의 데브옵스 엔지니어 지식에서 모자란 부분을 알 수 있게 된다. 유데미(Udemy)의 학습 가이드에도 “AWS 개발자 툴을 사용해서 AWS에서 완전히 작동하는 CI/CD 파이프라인을 개발하는 방법을 배워 두면” 도움이 된다고 나와 있다.
 

데브옵스 엔지니어의 역할과 책임

데브옵스 엔지니어가 일상적으로 하는 일은 무엇일까? 알텍소프트는 일반적인 데브옵스 엔지니어의 업무를 다음과 같이 정리한다.

- 서버 측 기능에 대한 사양 및 문서 작성
- CI/CD 관리
- CI/CD 스크립트 작성
- 성능 평가 및 모니터링
- IT 인프라 유지보수 및 관리(하드웨어, 소프트웨어, 네트워크, 스토리지, 가상 및 원격 자산, 클라우드 데이터 스토리지 포괄)

물론 직장마다 차이는 있으므로 데브옵스 엔지니어의 역할도 회사마다 다르다. 조직의 규모도 직무에 영향을 미칠 수 있다. 작은 회사에서는 데브옵스 라이프사이클 전체에 관여할 가능성이 높은 반면, 규모가 큰 팀에서는 그 중 일부분에만 집중적으로 관여할 가능성이 높다.

회사에서 데브옵스 엔지니어에게 요구하는 것이 무엇인지 알고 싶은 경우 다이스(Dice), 워커블(Workable), 집리크루터(ZipRecruiter)와 같은 사이트에서 제공하는 데브옵스 엔지니어 직무 설명 템플릿을 살펴보면 업계의 전반적인 기준을 알 수 있을 것이다.
 

데브옵스 엔지니어 일자리와 연봉

데브옵스 엔지니어 일자리는 급증하는 중이다. 테크타겟(TechTarget)에 따르면, 이는 기업에서 내부 및 외부 고객을 대상으로 한 애플리케이션 배포 속도를 높이기를 원하면서 데브옵스 철학이 전반적으로 확산된 데 따른 결과다. 데브옵스 엔지니어가 매력적인 일자리인 데는 이유가 있다. 글래스도어(Glassdoor)는 평균 급여와 직무 만족도를 근거로 데브옵스 엔지니어를 현재 미국의 가장 좋은 일자리 순위 중 6위로 선정했다.

그리고 중요한 급여에 대해 말하자면, 상당히 높다! 다이스의 2019년 급여 보고서에 따르면 데브옵스 엔지니어의 평균 연봉은 11만 1,683달러로 상위 5위 안에 들었다. 글래스도어에서 계산한 평균 연봉도 11만 5,666달러이며 최저치는 9만 1,000달러, 최고치는 15만 5,000달러였다. 필요한 스킬을 습득하기 위해서는 시간과 노력이 필요하지만 그에 대한 보상도 확실한 셈이다.  editor@itworld.co.kr


2019.03.08

“몸값 상승 중” 데브옵스 엔지니어의 역할과 조건, 대우

Josh Fruhlinger | InfoWorld
데브옵스를 요약해서 설명하면 이전까지 외따로 분리되어 있던 개발(애플리케이션을 만드는 이들)과 운영(이 애플리케이션이 정상적으로 작동하도록 하는 이들)을 하나의 팀으로 통합하고자 하는 문화이자 철학이다. 통합 팀은 지속적 통합과 지속적 전달, 테스트를 사용해서 기존 코드베이스를 자주, 증분적으로 개선해 프로덕션으로 배포한다.

데브옵스 엔지니어는 이런 팀에서 활동하기 위해 필요한 기술을 갖춘 사람이다. 그러나 데브옵스의 모든 것이 그렇듯이, 데브옵스 엔지니어를 딱 부러지게 명확히 정의하기는 어렵다. “데브옵스 엔지니어”라는 말 자체가 이들의 직무를 적확하게 기술하는 용어가 아니라고 주장하는 의견도 있다. 그러나 높은 급여를 주고 ‘데브옵스 엔지니어’를 채용하고자 하고 기업이 점점 늘어나고 있다. 이러한 기업이 원하는 자질이 무엇인지 살펴보자.

ⓒ GettyImagesBank
 

데브옵스 엔지니어의 정의

데브옵스 철학을 실천한다는 것은 개발 및 운영 팀 전체를 아무 구분 없는 데브옵스 직원 무리로 뭉뚱그려 대체한다는 의미가 아니다. 데브옵스 팀에도 다양한 직원이 저마다 다른 기술을 보유한다. 프로그래머도 있고, 시스템 관리자, DBA도 있고, 모두 함께 일한다.

기업에서 데브옵스 엔지니어라는 용어를 사용할 때 그 의미는 이러한 모든 역할을 연결하는 과정을 돕는 인력이다. 소프트웨어 엔지니어링 기업 알텍소프트(Altexsoft)의 블로그에는 이 역할이 다음과 같이 설명되어 있다.

“코딩 방법을 아는 시스템 관리자로 보는 시각도 있고 시스템 관리자 스킬을 갖춘 개발자로 보는 시각도 있다. 어떤 면에서 두 가지 정의 모두 타당하다. 데브옵스 엔지니어의 주된 역할은 지속적 전달과 지속적 통합 워크플로우를 도입하는 것이고, 이를 위해서는 데브옵스 툴에 대한 이해와 여러 프로그래밍 언어에 관한 지식이 필요하다.”

개발자인 이고르 칸토는 미디엄(Medium) 게시글에서 데브옵스 엔지니어를 “소프트웨어 개발 라이프사이클을 이해하고 소프트웨어 엔지니어링 툴과 프로세스를 도입해 전통적인 운영 과제를 해결하는 사람”이라고 기술했다. 핵심은 개발(dev)과 운영(ops), 양쪽에서 모두 충분한 지식과 경험을 보유해서 이 둘이 어떻게 함께 작업할 수 있는지를 이해하고, 더불어 전문 팀원들이 서로 소통하고 각자의 격벽을 넘어 바깥 세계를 이해하도록 돕는 “소프트”한 인적 스킬도 갖춰야 한다는 점이다.
 

데브옵스 엔지니어 교육

IT 종사자들이 모이는 레딧(Reddit) 등에서 흔히 볼 수 있는 우스갯소리로, 신입 데브옵스 엔지니어는 존재하지 않는다는 말이 있다. 데브옵스 엔지니어를 채용하는 기업이 요구하는 폭넓은 기술 요건은 갓 학교를 졸업하거나 학원을 수료한 사람이 결코 충족할 수 없기 때문에 나온 말이다.

데브옵스 엔지니어 역할 “교육”은 개발자에게 운영 분야의 경험을 제공하거나 반대로 운영자에게 개발 분야의 경험을 제공할 수 있는 직무 환경을 통해서 이뤄진다. 이와 관련해서 제프리 리는 해커 눈(Hacker Noon)에서 다음과 같이 말했다.

“데브옵스 엔지니어가 되기 위한 정식 교육 과정은 없다. 즉, 현재의 데브옵스 엔지니어들은 확고한 스킬셋을 바탕으로 다른 역할로 스스로를 확장해 나간 사람들이다. 기업이 이들을 채용하는 이유는 현장에 대한 깊은 이해와 많은 실무 경험에 있다. 링크드인의 [데브옵스 엔지니어] 구인 공고를 보면 하나같이 5년 이상의 경력을 필수 요건으로 제시한다.”
 

데브옵스 엔지니어 스킬

공식적인 데브옵스 엔지니어 교육 과정이 없다고 해서 데브옵스 엔지니어를 경력 목표로 선택하지 못할 것은 없다. 그러나 현장 경험을 통해서든 외부 교육 또는 자기 학습을 통해서든 의식적으로 다양한 역량을 쌓기 위해 노력해야 한다.

이고르 칸토는 데브옵스 엔지니어가 되고자 하는 사람이 이해해야 하는 주요 기술과 플랫폼에 대한 글을 연재했는데, 이 글은 다음과 같은 범주로 요건을 분류했다.

- 기초 : 리눅스 관리, 파이썬, AWS 또는 다른 클라우드 플랫폼
- 구성 : 테라폼(Terraform) 또는 앤서블(Ansible)
- 버전 관리 : 깃(Git)과 깃허브(GitHub)
- 패키징 : 도커(Docker)
- 배포 : 젠킨스(Jenkins)
- 실행 : 아마존 ECS와 쿠버네티스
- 모니터링 : ELK 스택

확실히 부담스러운 요건이다! 그러나 위에 열거한 모든 플랫폼을 마스터하는 것은 비현실적이라 해도 최소한 어떻게 움직이는지는 알아야 한다. 더 중요한 점은 필요할 때 바로 더 배울 수 있는 방법을 알아야 한다는 것이다.

데브옵스 엔지니어가 되려면 특정 제품이나 기술을 아는 것으로는 부족하다. 제품과 기술은 산업의 발전에 따라 항상 바뀐다. 데브옵스 철학과 기반 라이프사이클에 대한 이해도 중요하다. 따라서 데브옵스의 핵심인 지속적 배포와 지속적 통합 프로세스(CI/CD), 그리고 여기에 수반되는 소프트웨어 테스트를 이해해야 한다.

소프트 스킬도 간과하면 안 된다. 소프트 스킬은 더 빠르고 반복적인 소프트웨어 개발 및 릴리스 사이클을 추구하는 문화적 변화에서 핵심적인 역할을 하고, 흔히 대립적 관계에서 일하는 데 익숙한 개발자와 운영자 사이의 간극도 잇는다. 사이브릭(Cybric) 설립자이자 전 야후 CIO인 마이크 D. 카일은 테크비컨(TechBeacon) 게시글에서 “조직에서 새로운 데브옵스 도입을 원활하게 하기 위해 공감, 진실성, 탄력성과 같은 소프트 스킬을 마스터한 소프트웨어 엔지니어를 원하는 경우가 많아지고 있다”고 말했다.

에듀레카(Edureka)의 이 샘플 면접 질문과 같이 온라인에 있는 데브옵스 엔지니어 면접 질문을 살펴보면 데브옵스 엔지니어에게 요구되는 사항이 무엇인지 감을 잡을 수 있다. 물론 구체적인 기술에 관한 질문도 있지만 이러한 다양한 플랫폼과 툴이 어떻게 상호 연계해 작동할 수 있는지에 대해 설명이 가능해야 하고, 데브옵스 철학과 프로세스를 이해하고 있다는 점도 보여줘야 한다.

데브옵스 엔지니어의 스킬 패키지를 갖추기 위해 교육 기관의 도움이 필요하다고 생각된다면, 아마존이 실시하는 AWS 인증 데브옵스 엔지니어(AWS Certified DevOps Engineer) 시험에 관심을 둘 만하다. 물론 이 자격증은 아마존 클라우드 플랫폼에 초점을 두지만 이 시험을 위해 공부하다 보면, 자신의 데브옵스 엔지니어 지식에서 모자란 부분을 알 수 있게 된다. 유데미(Udemy)의 학습 가이드에도 “AWS 개발자 툴을 사용해서 AWS에서 완전히 작동하는 CI/CD 파이프라인을 개발하는 방법을 배워 두면” 도움이 된다고 나와 있다.
 

데브옵스 엔지니어의 역할과 책임

데브옵스 엔지니어가 일상적으로 하는 일은 무엇일까? 알텍소프트는 일반적인 데브옵스 엔지니어의 업무를 다음과 같이 정리한다.

- 서버 측 기능에 대한 사양 및 문서 작성
- CI/CD 관리
- CI/CD 스크립트 작성
- 성능 평가 및 모니터링
- IT 인프라 유지보수 및 관리(하드웨어, 소프트웨어, 네트워크, 스토리지, 가상 및 원격 자산, 클라우드 데이터 스토리지 포괄)

물론 직장마다 차이는 있으므로 데브옵스 엔지니어의 역할도 회사마다 다르다. 조직의 규모도 직무에 영향을 미칠 수 있다. 작은 회사에서는 데브옵스 라이프사이클 전체에 관여할 가능성이 높은 반면, 규모가 큰 팀에서는 그 중 일부분에만 집중적으로 관여할 가능성이 높다.

회사에서 데브옵스 엔지니어에게 요구하는 것이 무엇인지 알고 싶은 경우 다이스(Dice), 워커블(Workable), 집리크루터(ZipRecruiter)와 같은 사이트에서 제공하는 데브옵스 엔지니어 직무 설명 템플릿을 살펴보면 업계의 전반적인 기준을 알 수 있을 것이다.
 

데브옵스 엔지니어 일자리와 연봉

데브옵스 엔지니어 일자리는 급증하는 중이다. 테크타겟(TechTarget)에 따르면, 이는 기업에서 내부 및 외부 고객을 대상으로 한 애플리케이션 배포 속도를 높이기를 원하면서 데브옵스 철학이 전반적으로 확산된 데 따른 결과다. 데브옵스 엔지니어가 매력적인 일자리인 데는 이유가 있다. 글래스도어(Glassdoor)는 평균 급여와 직무 만족도를 근거로 데브옵스 엔지니어를 현재 미국의 가장 좋은 일자리 순위 중 6위로 선정했다.

그리고 중요한 급여에 대해 말하자면, 상당히 높다! 다이스의 2019년 급여 보고서에 따르면 데브옵스 엔지니어의 평균 연봉은 11만 1,683달러로 상위 5위 안에 들었다. 글래스도어에서 계산한 평균 연봉도 11만 5,666달러이며 최저치는 9만 1,000달러, 최고치는 15만 5,000달러였다. 필요한 스킬을 습득하기 위해서는 시간과 노력이 필요하지만 그에 대한 보상도 확실한 셈이다.  editor@itworld.co.kr


X