• 검색 결과가 없습니다.

II. 이론적 배경

1. 소프트웨어 산업과 개발자

가. 소프트웨어 산업의 범위

한국표준산업분류(KSIC) 9차 개정에 따르면 소프트웨어 산업은 ‘출판, 영상, 방송통신 및 정보서비스업(J)’에 속한다. 출판, 영상, 방송통신 및 정보서비스업(J)은 ‘정보 및 문화상품 을 생산하거나 공급하는 산업 활동; 정보 및 문화상품을 전송하거나 공급하는 수단을 제공하 는 산업 활동; 통신서비스 활동; 정보기술, 자료처리 및 기타 정보서비스를 제공하는 산업활 동’으로 정의된다. 일반적으로 출판업, 소프트웨어 제작, 영상 및 오디오 기록 활동, 라디오 및 텔레비전 방송, 프로그램공급, 전기통신, 정보기술 및 기타 정보서비스 활동이 이에 포함된 다고 볼 수 있다. 이 중 소프트웨어 산업은 컴퓨터 시스템의 통합관련 기획 및 설계서비스를 주로 제공하는 산업활동과 컴퓨터 시스템의 관리 및 운영관련 기술서비스를 주로 제공하는 산 업 활동으로 구분한 ‘컴퓨터 프로그래밍, 시스템 통합 및 관리업’에 속한다(통계청, 2014).

출판, 영상, 방송통신 및 정보서비스업(J) 분야 중 컴퓨터 프로그래밍, 시스템 통합 및 관 리업과 관련된 세부 산업은 게임 소프트웨어 개발 및 공급업, 시스템·응용 소프트웨어 개발 및 공급업이 포함된 소프트웨어 개발 및 공급업, 컴퓨터 프로그래밍 서비스업, 컴퓨터시스템 통합 자문, 구축 및 관리업, 기타 정보기술 및 컴퓨터운영 관련 서비스업이 포함된 컴퓨터 프 로그래밍, 시스템 통합 및 관리업, 자료처리, 호스팅 및 관련 서비스업, 포털 및 기타 인터넷 정보매개 서비스업이 포함된 자료처리, 호스팅, 포털 및 기타 인터넷 정보매개서비스업, 기타 정보서비스업으로 구분된다(<표 Ⅱ-1> 참고).

소프트웨어산업진흥법 제2조(정의)1(2010.03.31. 일부개정)에 따르면 소프트웨어(이후, 소프트웨어)란 ‘컴퓨터, 통신, 자동화 등의 장비와 그 주변 장치에 대하여 명령, 입력, 처리, 저장, 출력, 상호작용이 가능하도록 하게 하는 지식, 명령(음성이나 영상정보 포함)의 집합과 이를 작성하기 위하여 사용된 기술서 기타 관련 자료’를 의미하며 통상 OS와 같은 시스템 을 운영 및 관리하는 ‘시스템 소프트웨어’, 프로그램을 개발 및 설계하는 ‘개발용 소프트 웨어’, 임의의 응용 분야에서 특정 목적을 수행하는 ‘응용 소프트웨어’로 구분한다(한국 소프트웨어진흥협회, 2014). 위와 동령 제2조(정의)2(2010.03.31. 일부개정)에 의거하면 소프트웨어산업이란 소프트웨어개발, 제작, 생산, 유통 등과 이에 관련된 서비스 및 정보시스

템의 구축, 운영 등과 관련된 산업으로 정의하였다. 따라서 정보통신산업진흥원(2011)은 소 프트웨어산업을 소프트웨어개발 단계부터 최종소비자(기업 또는 개인)가 사용하기까지 소프 트웨어공급과 관련된 모든 생산적 활동 전반을 포함하는 영역으로 전통적으로 패키지소프트 웨어, IT 서비스, 임베디드 소프트웨어 등 3개 분야로 독립형(패키지 소프트웨어)이자, 중간 재(임베디드 소프트웨어)이며, 서비스형(IT 서비스)산업으로 구분했다.

코드 항목명

582 소프트웨어 개발 및 공급업

5821 게임 소프트웨어 개발 및 공급업

5822 시스템·응용 소프트웨어 개발 및 공급업

620 컴퓨터 프로그래밍, 시스템 통합 및 관리업

6201 컴퓨터 프로그래밍 서비스업

6202 컴퓨터시스템 통합 자문, 구축 및 관리업

6209 기타 정보기술 및 컴퓨터운영 관련 서비스업

631 자료처리, 호스팅, 포털 및 기타 인터넷 정보매개서비스업

6311 자료처리, 호스팅 및 관련 서비스업

6312 포털 및 기타 인터넷 정보매개 서비스업

639 기타 정보 서비스업

6391 뉴스 제공업

주:통계청(2014).한국표준산업분류 실무 적용을 위한 분류 설명서.

<표 Ⅱ-1> 한국표준산업분류 소프트웨어 관련 산업

이에 따라 이 연구에서는 한국표준산업분류와 소프트웨어산업진흥법을 고려하여 정보통신 산업진흥원(2011)이 정의한 소프트웨어개발 단계부터 최종소비자(기업 또는 개인)가 사용하 기까지 소프트웨어공급과 관련된 모든 생산적 활동 전반을 포함하는 영역으로 정의한다.

우리나라를 포함한 선진국들은 지식상품, 지식근로자, 지식기술근로자로부터 생산성을 증 대시킬 수 있는 새로운 미래 산업에 우선권을 두기 시작했다(Drucker, 1997). 특히 우리나 라의 경우, 한국 경제의 차세대 산업으로 소프트웨어 산업을 꼽고 미래 핵심 산업 및 국가기 간산업으로 성장시키겠다는 전략을 제시하였다. 이로 인해 소프트웨어 산업인력을 정보화 시 대를 주도하는 주요 인력으로 강조하고, 국가차원에서도 관련 인력을 효율적으로 양성하기 위한 노력을 기울이고 있는 실정이다(미래창조과학부, 2014).

나. 소프트웨어 개발자의 정의와 직무

1) 소프트웨어 개발자의 정의

소프트웨어 개발자는 영문권에서는 Software Developer(Wynekoop & Walz, 2000) 또 는 Software Designer, Programmer(Sonnentag, Niessen & Volmer, 2007)등의 용어로 혼용되어 사용되고 있으며 우리나라에서도 개발자, 프로그래머, 분석가 및 설계자 등 연구별 로 다른 기준과 용어를 사용되는 등 학자들간의 합의된 기준 없이 사용되고 있다.

일반적으로 소프트웨어 개발자를 정의함에 있어서는 소프트웨어 개발자들이 수행하는 직무 를 중심으로 개념을 정의하나, 우리나라 연구의 경우, 국가 또는 관련 권위있는 기관에서 분류 한 직업의 관점에서 소프트웨어 개발자를 정의하고 있다(송경섭, 2009; 김재순 외, 2013).

첫째, 직무를 기반으로 소프트웨어 개발자를 정의한 Sonnentag, Niessen &

Volmer(2007), Wynekoop & Walz(2000), Shiva(2010), McConnel(1998), 전호진 외 (2012)의 연구에서는 요구분석과 프로그래밍(코딩) 직무가 공통적으로 포함되었으며 연구에 따라 테스팅, 설계, 네트워크 관리, 유지보수, 기술영업, 마케팅 등의 직무가 추가되었다.

Sonnentag, Niessen & Volmer(2007)는 Software designer and programmer라는 용 어를 사용하면서 컴퓨터 프로그램이 고객의 요구에 맞게 설계된 후, 에러없이 가동될 수 있 게 하는 직무를 수행하는 사람이라고 정의했다. Wynekoop & Walz(2000)는 Software developer라는 단어를 사용하였으며 요구분석, 코딩, 테스팅까지 일련의 과정을 수행하는 사 람으로 정의했다. Shiva(2010), McConnel(1998)의 연구에서는 앞서 두 연구에서 한정한 요구분석, 설계, 프로그래밍, 테스팅의 직무와 함께 네트워크 시스템 관리, 아키텍처, 웹페이 지 관리, 소프트웨어유지보수 관리까지의 업무를 포함하여 Software Professionals이라는 용어를 사용하여 소프트웨어 개발자의 범위를 더 포괄적으로 정의했다. 이를 통해 알 수 있 듯이 소프트웨어 개발자를 정의하기 위해서는 소프트웨어 개발자의 직무내용을 바탕으로 정 의된다. 끝으로 전호진 외(2012)는 우리나라 연구로는 드물게 직무를 중심으로 소프트웨어 개발자의 개념을 정의하였으며, 설계, 컨설팅, 개발(PM, 아키텍쳐, 요구분석 및 설계, 소프트 웨어 엔지니어링, 테스터), 관리, 기술영업 및 마케팅을 소프트웨어 개발자로 정의하였다.

둘째, 직업을 기반으로 소프트웨어 개발자의 개념을 제시한 김재순 외(2013), 송경섭 (2009) 연구의 경우, 직업분류에서 해당 직업에 대한 직무내용을 상세하게 기술하고 있어 이를 기반으로 소프트웨어 개발자를 정의하였다. 대표적인 직업분류 자료로는 통계청에서 제 시하고 있는 한국표준직업분류(KSCO), 취업 알선의 정보제공으로 작성된 고용노동부의 한

국고용직업분류(KECO)가 있으며, 소프트웨어 분야는 추가적으로 IT분야의 정부출연연구기 관인 정보통신정책연구원(KISDI)의 IT 인력 분류, 산업별협의체인 정보통신산업진흥원 (NIPA)의 소프트웨어 인력조사에 따른 분류 등이 있어 연구자별 여러 기준을 적용하여 소프 트웨어 개발자를 정의하고 있다.

김재순 외(2013)의 연구는 통계청의 한국표준직업분류(KSCO)를 활용하여 컴퓨터시스템 설계 및 분석가, 시스템소프트웨어개발자, 응용소프트웨어 개발자, 데이터베이스 개발자, 네 트워크시스템 개발자, 컴퓨터 보안 전문가, 웹 및 멀티미디어 기획자, 웹개발자를 소프트웨어 개발자로 정의하였다. 한국표준직업분류 외 우리나라에서 대표적으로 활용되고 있는 한국고 용직업분류(KECO)에서는 컴퓨터시스템 설계 및 분석가, 네트워크시스템 분석가 및 개발자, 컴퓨터시스템 및 네트워크보안 전문가, 시스템소프트웨어개발자, 응용소프트웨어개발자, 웹마 스터 및 웹개발자, 웹 및 멀티미디어 기획자, 데이터베이스 설계 구축 및 관리 기술자를 소프 트웨어 개발자와 관련된 직업으로 분류될 수 있다. 또한, 송경섭(2009)의 연구는 2006년 산 업자원부의 산업기술인력 수급동향 실태조사 보고서에 따라 컴퓨터 시스템 분석가, 시스템소 프트웨어개발자(시스템소프트웨어엔지니어), 응용소프트웨어 개발자(응용소프트웨어 엔지니 어), 데이터베이스 관리자, 네트워크 분석가 및 개발자, 컴퓨터보안 전문가, 웹개발자, 시스템 운영관리자, IT 컨설턴트의 직종을 포함한 개념으로 보았다.

선행연구를 통해 살펴보았듯이 소프트웨어 개발자는 직무와 직업을 기준으로 정의된다. 직 무를 살펴본 결과, 개발대상과 무관하게 요구분석, 설계, 개발의 직무는 공통적으로 포함되었 다. 또한, 그 외 기획과 보안 관련 직무가 소프트웨어 개발자의 직무와 밀접하게 연관되어 관 련 있음을 알 수 있었다. 따라서 본 연구에서는 세부 대상에 관계없이 소프트웨어 분야의 직 무 중 컨설팅, 영업, 마케팅, 운영을 제외한 설계, 개발, 관리, 기획, 보안 업무를 바탕으로 소 프트웨어 개발업무를 수행하는 자로 소프트웨어 개발자로 정의한다.

구분 소프트웨어 개발자의 정의 비고

자는 컴퓨터 시스템의 자체기능 수행명령체계인 시스템소프트웨어를 연구 및 개발하고 설계 하며, 이와 관련한 프로그램을 작성하는 업무를 수행한다. 응용소프트웨어 개발자는 기업이나 개인 등이 사용할 수 있는 워드프로세서, 회계 관리, 데이터베이스, 통계처리, 문서결재 프로

자는 컴퓨터 시스템의 자체기능 수행명령체계인 시스템소프트웨어를 연구 및 개발하고 설계 하며, 이와 관련한 프로그램을 작성하는 업무를 수행한다. 응용소프트웨어 개발자는 기업이나 개인 등이 사용할 수 있는 워드프로세서, 회계 관리, 데이터베이스, 통계처리, 문서결재 프로