개발자는 IT 직무 분류에서 어떻게 분류되어 있을까
지금까지 우리가 해 온 것들을 다시 한번 살펴보자.
IT 업계에는 개발자 이외에도 많은 직업들이 있다. 그 사실을 고용노동부 워크넷, NSC에서 IT 직업분류, 한국SW협회에서의 직업분류에서 확인하였다.
이러한 IT 직업을 제대로 알기 위해 IT 기본적인 것을 이해해야 한다 했다. 그래서 IT 시스템 구성에 대해서도 알아보았다. IT 서비스가 일어나는 보이지 않는 기업 전산실에서 많은 IT의 일이 수행되고 있는 것을 알았다.
최근 대세인 웹 서비스 구조(클라이언트 브라우즈 - 웹 서버 - 웹 애플리케이션 서버)도 알게 되었다. 그리고 웹 서비스를 개발하는 개발자로 웹 퍼블리셔, 프런트엔드 개발자와 백엔드 개발자가 있다는 것도 알게 되었다.
쉽게 말하려고 했지만 어려웠을 것이고 또한 짧지 않은 과정이었다. 그러면 지금까지 알게 된 개발자 직업이 우리가 처음에 보았던 IT 직업 분류에 있어 어떤 직무에 해당하는지 살펴보자. 그리고 우리가 살펴본 세 종류의 개발자 중 내게 맞는 개발자가 있는지도 알아보자.
본 매거진의 두 번째 글 <2. 넓고 다양한 IT분야의 직업>에서 살펴본 바와 같이, 고용노동부 워크넷에서는 IT 직무를 연구직 및 공학기술직 > 정보통신 연구개발직 및 공학기술직으로 분류하고 있다. 그중 정보통신 관련 직무는 12개 직군과 22개 직무로 분류하고 있다.
우리가 알아본 웹 퍼블리셔, 프런트엔드 개발자와 백엔드 개발자는 어디에 해당될까? 워크넷의 분류에 따라 개발자를 분류해 보면,
웹개발자 = 웹 퍼블리셔, 프런트엔드 개발자
응용스포트웨어개발자 = 백엔드 개발자
로 대응할 수 있다.
개발자를 응용소프트웨어 개발자와 웹개발자로 분류한 것이 특이하다. 또한 가상현실 전무가라는 직무가 있는데 별도 직무로 분류할 만큼 IT업계에서 위치를 차지하고 있는지도 의문이다.
국가직무능력 표준, 즉 NSC에서 정보기술개발 직무는 15가지나 된다. 현장에서 일반적으로 말하는 개발자가 아닌 다수의 직무도 개발자로 분류하고 있다. 이 분류 기준에 따르면,
UI/UX엔지니어링 = 웹 퍼블리셔, 프런트엔드 개발자
응용SW엔지니어링 = 백엔드 개발자
로 매칭할 수 있다.
NSC 분류의 특징은 IT 시스템 구축 참여자를 엔지니어링이라는 용어로 개발자를 분류했다. 정보기술개발직무에는 SW 개발자만 아닌 HW관련 엔지니어도 포함하고 있다. IT 직무를 기획, 구축, 운영의 관점에서 분류를 하여 직무 능력이 중복된다. 예를 들어 동일한 빅데이터 개발자 직무를 시스템 구축과 운영에 따라 빅데이터플랫폼구축과 빅데이터운영관리로 구분하고 있다.
앞서 살펴본 고용노동부의 워크넷, NSC의 직무분류는 현장 상황과 많은 차이가 난다. 현장을 가장 잘 반영한 것이 한국소프트웨어산업협회(KOSA)의 직무분류 ITSQF이다.
|IT분야역량체계(ITSQF, IT Sectoral Qualifications Framework)|
IT산업 현장에서 통용되는 직무를 도출하여 표준화하고 직무수행에 필요한 능력을 구조화한 것으로 , 로 국가직무능력표준 등을 토대로 학위 자격 교육훈련 현장경력을 연계하여 활용하는 체계(KOSA)
앞서 KOSA와 KOSA의 직무분류는 본 매거진 <3.진로 설정을 위한 IT 직업의 이해> 에서2022년 SW 기술자 평균임금이라는 표에서 한번 본 적 있다.
KOSA의 ITSQF는 IT일을 총 9개 직종과 38개 직무로 구분했다. 앞서 두 기관 직무분류에 비해 현장에서 통용되는 직무가 그나마 잘 반영된 것으로 생각된다. 따라서 향후 IT 직업은 ITSQF 분류에 따라 살펴볼 것이다.
우리가 살펴본 개발자에 해당하는 직종은 SW개발이고, 7종의 개발자 직무가 있다. ITSQF을 적용해 보면,
UI/UX개발 = 웹 퍼블리셔, 프런트엔드 개발자
응용SW개발 = 백엔드 개발자
로 맞출 수 있다.
지금까지 우리가 파악한 개발자가 IT 직무 분류에 어떤 직무에 해당하는 것인지 살펴보았다. 여기서 우리가 알 수 있는 것들은,
화면개발의 첫 공정을 수행하는 웹 퍼블리셔는 독자적인 직무로 구분되지 않는다.
백엔드개발자는 응용SW개발자로 분류된다.
웹 퍼블리셔, 프런트엔드 개발자, 백엔드 개발자 말고 다른 종류의 개발자가 있다.
우리가 알아본 개발자는 IT 직무에서 아주 작은 일부이다.
라는 사실이다.
웹 퍼블리셔가 하나의 직무로 구분하지 않는 것은 앞에서 말했다. 작은 현장에서는 프런트엔드 개발자가 하거나 어떤 곳은 디자이너가 하는 현장도 있다. 그러나 제대로 된 웹 시스템 구축과 운영을 하는 곳이라면 웹 퍼블리셔를 반드시 별도로 둔다.
백엔드 개발자는 우리가 흔히 말하는 개발자이다. 대부분 직무분류에서 응용SW개발자이다. 응용이라는 말이 영어로 애플리케이션을 말한다. 윈도나 유닉스와 같은 OS위에 구동되는 SW가 응용SW, 즉 애플리케이션이다. 백엔드라는 용어와 응용이라는 말을 일대일로 매칭할 수 없지만, SW개발 측면에서 같은 직무라 해도 무방할 것이다. (향후 백엔드 개발자와 응용SW개발자를 같은 의미로 혼용해서 사용하겠습니다.)
프런트엔드 개발자(ITSQF에서는 UI/UX개발자)는 웹 시스템에 특화된 화면개발자이다. 웹 시스템이 아닌 시스템 환경에서는 일반적으로 프런트엔드 개발자를 별도로 두는 경우는 거의 없다. 따라서 프런트엔드 개발자는 웹 개발에서 화면 개발자로 볼 수 있다.
반면, 응용SW개발자는 업무에 따라 개발 환경, 개발 기술, 개발 언어 등 매우 다양하다. 그 영역이 커지면 별도로 분류를 하지만(ITSQF분류에서 빅데이터개발과 같이) 분류가 불가능한 것 많다. 따라서 같은 응용SW개발자라도 어떤 분양의 개발을 할 것인가는 매우 중요한 문제다. 이는 프런트엔드 개발자가 되느냐 백엔드개발자가 되느냐와는 약간 다른 문제다.
IT가 계속 발전하면서 기술도 다양해지고 기술을 이용한 개발도 다양하다. 산업이나 서비스의 특징에 따라 개발의 방식, 기술이 다르다. 보편적이고 일반적인 개발 환경인 곳이 대부분이지만, 특정한 산업은 거기에 맞는 개발 방식과 기술을 요구한다.
개발자가 되려고 할 때 어떤 개발자가 될 것인지, 고민하여야 한다. 범용적인 개발을 할 것인지, 아니면 특정한 분야의 소수의 전문적인 개발자로 진로를 선택할 것인지. 어떤 분야를 선택하든 장단점이 있을 것이다. 중요한 것은 그것을 모르고 취업을 한다는데 있다. 다행히 본인이 만족하면 좋은 데, 그렇지 않은 경우 같은 개발자라도 전환이 쉽지 않다. 지나간 경력을 인정받기 어렵다.
같은 응용SW개발자라도 개발환경이 다르면 전혀 다른 개발자이다. 빠른 계산을 위주로 하는 금융 프로그래밍을 한 개발자와 채팅과 같은 통신 프로그래밍을 한 개발자와 데이터베이스의 정보 처리를 중심으로 한 개발자는 달리 취급된다. 통신 프로그래밍 개발자가 데이터베이스 정보 처리 개발을 하려면 거의 처음부터 하는 것만큼 새로 시작해야 한다(약간 뻥이 있지만 그만큼 러닝커브가 필요하다는 말). 그래서 개발자는 어떤 개발을 했는가 하는 개발경력, 개발언어, 개발환경을 중요시한다. 그래서 처음 발을 잘 디뎌야 한다. 한번 발 디디면 쉽게 바꾸기 어렵다.
IT직업에 대한 지식과 기술은 다른 서적과 참고 자료를 보면 된다. 필자는 그것보다 실 현장에서 어떤 산업, 비즈니스, 업무에서 IT 직업의 특징을 주로 말할 것이다. 필자가 느끼기에는 그것이 더 IT 직업인으로서 더 많은 영향을 준다라고 생각하기 때문이다. 그러한 내용은 특정하기가 어려운 경험적인 내용이라 백 퍼센트 맞다고는 할 수 없지만, IT로의 출발을 하고자 하는 이들에게 도움이 되리라 확신한다.
체계적이고 보완된 내용으로 브런치 글과 같은 이름으로 출간을 하게되었습니다. 아래의 링크를 통해 자세한 내용을 확인할 수 있습니다.
교보문고
나에게 맞는 IT 직업 찾기
예스24
나에게 맞는 IT 직업 찾기
알라딘
나에게 맞는 IT 직업 찾기
다음 편에서는 앞서 살펴본 개발자 직무의 특징과 어떤 진로로 개발자가 되는 것이 좋을지 살펴보고자 한다.