응용소프트웨어개발자란?
응용 소프트웨어는 넓은 의미에서 운영 체제에서 실행되는 모든 소프트웨어를 말하며, 특정한 목적을 수행하기 위해 개발됩니다. 응용 소프트웨어는 시스템 소프트웨어의 보조 역할을 수행하고, 시스템 소프트웨어는 응용 소프트웨어가 정상적으로 작동될 수 있도록 하는 역할을 담당합니다. 워드프로세서, 스프레드시트, 웹브라우저, 회계 관리 프로그램, 통계 처리 프로그램, 이미지 편집용 툴, 전자 결재 시스템, 발권 시스템 등 컴퓨터에서 특정 목적을 위해 사용하는 거의 모든 프로그램이 응용 소프트웨어에 해당합니다. 모바일 기기에서 사용되는 응용 소프트웨어는 애플리케이션(Application)이라는 단어를 줄여서 앱(App)이라고 부릅니다.
응용소프트웨어개발자는 우리 생활을 더욱 편리하고 즐겁게 만들어 주는 다양한 소프트웨어를 개발하는 사람입니다. 기업에서의 업무 처리를 편리하게 도와주는 회계 관리 프로그램, 전자 결재 프로그램 등의 소프트웨어를 개발하기도 하고, 게임 같은 놀이용 소프트웨어를 개발하기도 합니다. 응용소프트웨어개발자는 개인이나 기업이 필요로 하는 응용 소프트웨어를 개발하기 위해 기존에 출시되어 있는 소프트웨어들을 조사하고, 각종 프로그래밍 언어를 사용하여 코딩 작업을 진행하며, 각종 테스트 과정을 거친 후에 최종적으로 응용 소프트웨어를 완성하게 됩니다.
응용소프트웨어개발자들이 개발하는 프로그램은 사람들이 살아가는 생활 방식과 문화를 바꾸어 놓고 있습니다. 워드프로세서 프로그램이 개발되면서 연필로 문서를 작성하는 모습이 사라졌고, 최근에는 모바일 앱이 폭발적으로 늘면서 스마트폰으로 금융 거래, 전자 결제, 길 찾기, 운동 등을 할 수 있도록 하여 우리의 생활을 편리하게 만들어 주고 있습니다.
응용소프트웨어개발자가 하는 일은?
응용소프트웨어개발자는 각종 응용 소프트웨어를 기획하고 설계하며 개발하는 사람입니다. 응용 소프트웨어를 개발한다는 것은 프로그램을 짜는 과정이므로 응용소프트웨어개발자를 프로그래머라고 부르기도 합니다. 과거에는 프로그래머의 업무 영역이 컴퓨터에 한정되었기 때문에 그 종류를 시스템 관련 프로그램을 개발하는 시스템프로그래머와 응용 프로그램을 개발하는 응용프로그래머로 구분하였습니다. 최근에는 응용 소프트웨어의 분야가 넓어졌기 때문에 게임을 개발하는 응용소프트웨어개발자는 게임프로그래머라고 하고, 모바일 관련 프로그래머는 모바일 프로그래머라고 따로 분류합니다.
응용소프트웨어개발자는 주문받은 프로그램을 정해진 기간 안에 완성해야 하므로 시간에 쫓기고, 스트레스가 심하나 성취감도 높은 직업입니다. 개발자의 업무 특성상 작업 시간이 불규칙하고, 때론 밤을 새우며 일하는 경우도 많습니다. 하루 종일 책상에 앉아 컴퓨터와 씨름하므로 체력을 유지하며 건강을 챙기는 것은 매우 중요합니다
적성과 흥미는?
평소에 컴퓨터, 게임, 기계 등의 기능을 익히고 조작하는 것에 흥미가 있으면 좋습니다. 응용소프트웨어공학은 융합 학문이므로 공학적 사고와 함께 인간 심리, 인문, 철학, 문화 등의 분야에도 관심이 있으면 좋고, 새로운 분야에 대한 호기심이 많으면 좋습니다. 소프트웨어, 게임 등을 개발하고 응용 프로그램을 만드는 일이므로 창의력과 논리력이 필요합니다.
응용소프트웨어개발자가 되기 위해서는 C, C++, 자바, 비주얼스튜디오, 델파이, 파워빌더 등의 프로그래밍 언어와 소프트웨어공학, 운영체제, 데이터베이스, 자료 구조에 대한 기본 지식이 있으면 유리하고, 프로그래밍 언어를 활용해 응용 소프트웨어를 개발할 수 있는 능력을 갖추고 있으면 좋습니다.
소프트웨어 개발은 여러 명이 한 팀을 이루어 협업하여 진행되는데, 개발 과정에서 팀원들과 팀워크가 좋지 않으면 프로그램을 개발하는 데 어려움이 발생하므로 대인 관계 능력, 의사소통 능력, 의사 결정 능력, 협업 능력이 매우 중요합니다. 응용소프트웨어개발자는 끊임없이 변화하는 신기술을 습득해야 하므로 탐구력과 자기 계발 능력을 갖춘 사람, 새로운 소프트웨어를 개발하기 위한 창의력을 갖춘 사람, 개발 과정에서 발생하는 문제를 해결하는 능력을 지닌 사람, 맡은 업무를 끝까지 완수하려는 끈기와 책임감을 갖춘 사람에게 적합합니다.
응용소프트웨어개발자에 관심이 있다면 학창 시절부터 컴퓨터 활용 능력을 키우는 데 노력을 기울여야 합니다. 특히 C언어, 파이썬과 같은 프로그래밍 언어를 배우는 것을 추천합니다. 인문학, 심리학, 철학, 공학 등 다양한 분야의 독서를 통해 지식을 습득하고, 컴퓨터 관련 동아리 활동과 다양한 진로 체험 활동을 권장합니다.
진출 방법은?
응용소프트웨어개발자가 되기 위해서는 전문 대학 및 대학교의 소프트웨어공학, 응용소프트웨어공학, 컴퓨터공학, 전산공학 등 관력 학과를 졸업하는 것이 유리합니다. 관련 학과에서는 소프트웨어공학, 프로그램언어, 운영체제, 데이터베이스, 자료구조를 비롯해 소프트웨어 개발 실습 등을 체계적으로 배울 수 있기 때문입니다.
비전공자라도 각종 교육 기관에서 C언어, 자바, 비주얼스튜디오, 델파이, 파워빌더 등 프로그래밍 언어 등을 배울 수 있습니다. 응용소프트웨어개발자에게는 프로그래밍 실력이 가장 중요하기 때문에 실력만 뛰어나다면 전공이나 학력에 상관없이 취업할 수 있습니다. 최근 조사에 의하면 응용소프트웨어개발자 중에서 고졸 이하의 학력을 가진 사람도 12%가 넘는다고 합니다.
대부분의 기업에서는 공개 채용을 통해 신입 및 경력 사원을 채용하지만, 규모가 작은 회사에서는 소개를 통해 채용하기도 합니다. 주로 시스템 통합 업체, 게임 개발 업체, 모바일 웹 개발 업체, 애니메이션 관련 업체, 웹프로그래밍 업체, 소프트웨어 개발 업체, 금융 회사의 전산실 등으로 진출하게 되며, 학력보다는 실력이 중요하므로 실무적인 경험을 쌓는 게 중요합니다.
미래 전망은?
첨단 정보화 사회가 되면서 소프트웨어 산업이 다른 어느 산업보다 중요해지고 있습니다. IT 분야 전문 조사 기관 자료에 따르면 우리나라 IT 산업 내 소프트웨어의 비중은 지속적으로 성장하고 있으며, 소프트웨어 산업은 향후 각 기업체의 e-비지니스 확대와 공공 기관의 행정 정보화 추진으로 더욱 성장할 것으로 전망하고 있습니다. 한국고용정보원에서 발표한 ‘중장기 인력 수급 전망 2015~2025’에 의하면 우리나라 응용소프트웨어개발자는 2015년 약 15만5천 명에서 2025년 약 20만2천 명으로 증가할 것이라고 전망하고 있습니다. 응용 소프트웨어 국내 시장의 매출액은 2015년 약 18조 8,499억 원에서 2019년 약 29조 4,831억 원 규모로 56.4% 성장할 것으로 전망하고 있습니다.
글로벌 시장 분석 업체 ‘밀워드 브라운’은 세계 Top100 기업 중 약 50%가 소프트웨어 관련 기업으로, 성장률이 가장 높다는 보고서를 발표하였습니다. 소프트웨어 중심 사회가 빠르게 다가오면서 정보 통신 기술(ICT)은 건설, 교육, 도소매업, 서비스업, 문화 예술, 공연, 방송, 농업 등의 분야에 적용되고 있고, ICT 중에서도 소프트웨어의 비중이 갈수록 높아지고 있습니다. 금융과 IT가 결합한 핀테크, 돈을 빌리려는 사람과 돈을 빌려주고 수익을 얻기 원하는 사람을 연결하는 P2P 대출 프로그램, 유휴 공간을 숙박 장소로 제공하려는 주택 소유자와 저렴하게 현지 생활 체험을 원하는 여행객을 중개하는 에어비앤비와 같은 공유 경제 서비스 등 최근 인기를 끌고 있는 새로운 기술들이 안정적으로 운영되기 위해서는 응용소프트웨어개발자의 역할이 필수적입니다.
또한 스마트폰이 보편화되면서 모바일 응용 소프트웨어 개발과 관련한 전문 인력의 수요도 증가할 것으로 보입니다. 여기에 임베디드 기술, 클라우드 서비스, 소셜 네트워킹, 빅 데이터 분석 기술이 본격화되면서 관련 분야에 많은 재원을 투입하고자 하고, 관련 분야 소프트웨어 개발을 위한 전문 인력도 필요해지고 있는 상황이므로 응용소프트웨어개발자의 미래는 밝을 것으로 전망됩니다.
어떤 준비를 해야 할까?
관련 직업은?
Tip
모바일앱개발자에 대해 알아볼까요?
모바일 앱이란 스마트폰이나 태블릿 PC에서 사용되는 응용 프로그램을 말하고, 그 모바일 앱을 프로그래밍하는 프로그래머를 모바일앱개발자라고 해요. 앱 기획자가 기획안을 짜면, 개발자는 기획자와 머리를 맞대고 구체화한 후 디자이너의 도움을 받아 모바일 앱을 완성하는 일을 해요.
시스템소프트웨어개발자에 대해 알아볼까요?
시스템소프트웨어개발자는 컴퓨터를 작동시키고, 컴퓨터의 활동을 조정·통제·관리하는 오퍼레이팅 시스템 소프트웨어를 연구·개발·설계하는 일을 담당해요. 시장 조사를 통해 기존 제품 및 최근 소프트웨어 업계의 기술 변화 등을 분석하여 새로운 기능과 성능을 갖춘 시스템 소프트웨어를 기획하고 개발하지요. 개발된 시스템 소프트웨어를 컴퓨터에 설치·시험·운영하여 시스템 소프트웨어의 기능과 성능을 평가·분석하고, 시스템 소프트웨어의 사용자 교육과 기술 자문을 지원하기도 해요.