티스토리 뷰

반응형

요새 채용하는 글들을 보면 직무가 여러가지로 나뉘게 되어서 올라오는 경우가 많습니다. 대표적으로 서버 엔지니어(Server Engineer)와 서버 디벨로퍼(Server Developer) 가 제가 주로 보게된 서버 개발을 하는 직군인데, 오늘은 왜 이렇게 직무가 상세하게 나뉘어졌고 우리 회사에서는 어떤 직군이 필요한지 간단하게 알아보려고 합니다. 

 

1. 서버 개발자, 백엔드 개발자

이전에는 보통 서버의 운용관리를 담당하고 회사에서 운영하는 소프트웨어의 API, 관리자의 기능 추가 및 퍼블리싱을 주로 담당하는 직군으로 알려져 있습니다. 실제로 현재 운영하는 서비스에서도 많은 서버 개발자들이 이와 같은 기본적인 업무를 처리하고, 기획에 나와있는 내용을 효율성에 맞게 개발 및 유지보수하는 것까지 포함되어 있습니다. 

하지만 여기서 서버 개발자는 소프트웨어의 개발 및 프로젝트의 개발 뿐만 아니라 서버를 유지보수하고 관리하는 역할도 담당하고 있습니다. 서버를 증설한다던가 기본적인 환경 세팅 그리고 도메인과 호스팅 관리 역할을 담당하는 개념을 총괄하고 있습니다. 그렇기 때문에 생각보다 서버 개발자가 다루어야하고 알고 있어야할 지식의 폭도 꽤나 높다고 볼 수 있습니다.

 

2. 서버 엔지니어

서버 엔지니어라고 하면 보통 '기술자'라는 느낌을 많이 받습니다. 하지만 서버 개발자와의 차이점 중에 대표적인 내용은 지금 개발하는 소프트웨어가 앞으로 확장했을 때 어떻게 유지보수가 되기 쉬울 부분이 있는지를 아는 점이 차이가 있습니다. 그리고 소프트웨어가 어떻게 목표를 잡고 진척해 나가야할 방향성을 아는 것도 중요한 부분 중에 하나입니다. 

엔지니어라고 하면 보통 서버의 기본 개념을 이해하고, 실제로 그것을 구현해 나가는 역할에 더해져서 회사가 원하는 목표치에 도달하기 위해 개발팀 뿐 아닌 다른 팀과 협업을 할 수 있는 개발자라고 보시면 됩니다. 

 

그러면 여기에서 추가로 나아가서 '서버 시니어 개발자'와 '서버 엔지니어'의 차이점은 무엇일까요? 

서버 시니어 개발자 : 서버 개발자로서의 경험이 많고, 내가 운영관리해온 서버 프로젝트가 여럿 존재한다. 자기가 만든 프로젝트의 테스트를 구현할 수 있고, 운영하고 있는 시스템의 버그를 발견하여 즉각적으로 대응할 수 있다.

서버 엔지니어 : 서버 개발 지식, 구축 지식이 있고 이를 CI/CD와 접목하여 유지보수를 하는데 뛰어나다. 추가로 기획의도에 맞게 서버를 구성할 수 있고, 이 시스템이 다른 서비스에 영향을 미칠지에 대해서 폭 넓게 알고 있다. 

 

 

3. DevOps 엔지니어

CI/CD 를 기본적으로 구성할 수 있고, 소프트웨어 개발 보다는 서버를 관리하고 Health Check 를 할 수 있는 모니터링 시스템 구성, 모니터링과 아키텍쳐를 구성하기 쉬운 직군이라고 생각하시면 되겠습니다. 아무래도 기본적인 응용 프로그램을 구현/개발하는 서버 개발자와는 약간 차이가 있습니다. 

 

저는 아래의 영상에서 이런 내용을 확인하였고, 앞으로도 프로그래밍 그리고 서버에 대해 더 심도있게 공부하고 이 구분을 명확히 알기 위해 이러한 글을 작성하였습니다 :) 

https://www.youtube.com/watch?v=uk-TLR-djWY&t=288 

 

반응형
댓글
공지사항