모바일 프로그래머의 세부 직종 중 하나가 모바일 게임 프로그래머다. |
휴대전화 시장의 성장과 함께 프로그래머를 꿈꾸는 사람 중 상당수가 모바일 프로그래머 취업을 목표로 공부하고 있다. 모바일 프로그래머는 모바일용 프로그램을 만드는 프로그래머를 말한다. 간단하게 범위를 줄여 말하자면 휴대전화나 PDA, GPS 단말기용 프로그램을 만드는 사람이다. 하지만 범위를 넓혀 말하자면 모바일 관련 HW, SW 업체에서 프로그래밍을 담당하는 사람을 뜻한다. 넓은 뜻으로 모바일 프로그래머를 정의하면 업무 폭이 매우 넓어진다.
프로그래머가 업무 내용에 따라서 웹프로그래머, 게임 프로그래머, 서버 프로그래머 등의 여러 가지 업무로 다시 세분화되는 것처럼 모바일 프로그래머 역시 다양한 직종으로 분화된다. 물론 직종에 따라 하는 일이 크게 달라진다. 이동통신사와 같은 대기업에 들어갈 경우에는 무선인터넷과 SI 쪽 관련 분야에서 프로그램을 담당할 수 있다.
모바일 관련 콘텐츠 개발 부서에서 일한다면 M커머스, 모바일 결제, 위치정보 서비스, 물류, 원격관리, CMS, CRM, 벨소리 관리 프로그램, 이미지 압축, VOD, 메신저, 보안, 프로토콜, SMS 등의 다양한 프로그램을 개발할 수 있다. 하드웨어나 장비 개발업체에서 근무하게 된다면 휴대폰, 스마트폰, PDA , VMT, GPS, 중계기, 안테나, 네트워크 장비, 통신 장비 등에서 사용하는 운영체제나 응용 프로그램을 개발할 수 있다.
PDA 운영체제나 프로토콜 프로그래머와 모바일 게임 프로그래머는 많이 다르다. 프로그램에 필요한 도구도 틀리고, 프로그래밍 기법이나 필요로 하는 능력도 전혀 다르다. 둘 다 모바일 프로그래머라고 말할 수 있지만 하는 업무는 완전히 다른 프로그래머인 것이다. 이처럼 모바일 프로그래머라고 두루뭉실하게 말하는 말 속에는 전혀 다른 업무를 수행하는 수 십 가지 직종이 포함되어 있다.
우리가 일반적으로 모바일 프로그래머를 모바일 게임 개발자나 단말기용 응용 프로그래머 정도로 인식하는 이유는 이런 직종에 종사하는 사람이 많고 학원에서도 주로 모바일 게임이나 단말기용 응용 프로그램 개발 과정을 많이 가르치기 때문이다. 하지만 업무 내용에 따라서 전혀 다른 프로그램을 개발한다는 점을 알아야겠다.
물론 만드는 프로그램에 따라서 프로그래머에게 요구하는 실력도 다르다. 프로토콜이나 OS, GPS 등을 개발하는 프로그래머는 C++, API, MFC, COM 등의 깊은 프로그래밍 능력과 하드웨어 지식, 네트웍 지식이 필요하다. 반면 모바일 게임만 개발한다면 자바 입문을 마친 뒤에 모바일 게임 프로그래밍 기법만 익혀도 업무를 수행할 수 있다.
결국 모바일 프로그래머 역시 기존의 PC 기반 프로그래머와 작업이 크게 다르지 않다. 모바일 프로그램에서 사용하는 언어가 기존 PC 기반 언어와 같기 때문이다. 휴대전화에서 프로그램을 사용하려면 해당 서비스 회사의 서버에서 지원을 해주어야 하므로 결국 서버에서 실행되는 프로그램 개발에 사용된 언어와 연관될 수밖에 없다. 때문에 C/C++, VC++, 자바, ASP 등의 PC용 프로그래밍을 익힌 사람이라면 어렵지 않게 모바일 프로그래머로 적응할 수 있다.
서버 지원이 필요 없는 프로그램의 경우에는 모바일 전용 언어로 작성하는 경우가 많다. 휴대전화용 게임이 대표적이다. 모바일 게임은 일단 휴대전화로 내려받기 한 후에 휴대전화 운영체제와 하드웨어 성능을 이용해서 구동되는 프로그램이다. 따라서 모바일 게임을 만들 때는 휴대전화나 이동통신사의 서비스에 최적화된 운영체제와 개발도구를 이용한다.
때문에 일반적으로 우리가 말하는 모바일 프로그래머는 크게 두 가지 형태의 프로그램을 개발한다. 하나는 서버에서 돌아가는 프로그램으로 이를 위해서는 일반적인 컴퓨터 프로그래밍 기술과 전문 지식을 알아야 한다. 이쪽 계통의 프로그래머는 상당한 수준의 프로그래밍 실력이 필요하다.
또 다른 프로그램은 단말기인 휴대전화용 프로그램으로 학원 과정만 마쳐도 개발이 가능하다. 다만 이동통신사에 따라서 개발 도구가 조금씩 다르기 때문에 만약 특정 이동통신사와 연관된 업체에 취업하고자 한다면 필요한 프로그래밍 언어나 도구를 사전에 알아보고 학습하는 것이 좋다.
모바일 게임 프로그래머의 수요가 가장 많으며, 실력이 취업에 필요한 경쟁력이다. |
현재 국내 모바일 프로그래머가 개발하는 것은 대부분 모바일 게임이다. 많은 수의 프로그래머가 모바일 게임 개발에 투입되고 있으며 서버용, 운영체제용, GPS용 프로그램 개발 분야에서 종사하는 프로그래머는 매우 적다.
이 때문에 사실상 모바일 프로그래머는 곧 모바일 게임 프로그래머로 인식될 정도다. 모바일 프로그래머 지원자는 이런 현실을 감안하는 것이 좋겠다. 당장은 자바로 모바일 게임을 만드는 법부터 배우는 것이 우선이지만 나중을 생각한다면 MFC, 다이렉트X, 네트웍게임 개발법 등도 익혀야 한다.
모바일 프로그래머가 되려면 기본적으로 C/C++을 배우는 것이 좋다. 다만 VC++(MFC,API)이나 자바 등과 같은 언어는 업체 별로 지원 여부가 크게 달라지기 때문에 미리 알아보고 배우는 것이 좋다. 단말기용 프로그램을 제작하는 모바일 프로그래머로 활동하려면 국내 이동통신사 상황에 맞는 언어와 컴파일러 도구를 배워야 한다.
국내의 경우 SKT는 GVM과 자바(SKVM)를, KTF는 C(Brew, MAP) 계열을, 019는 자바(EZ-JAVA, JAVA STATION)를 주로 단말기용 프로그램 개발에 사용한다. 그외 업계 공통인 WIPI가 있는데, 향후 WIPI 지원이 증가할 예정이다. 모바일 개발 언어 외에 ASP, JSP, PHP 등의 스크립트 언어도 익혀야 하며, 오러클, MS-SQL, My-SQL 등도 익히는 것이 좋다. 다만 운영체제나 DB의 경우 이동통신사에서는 리눅스를 서버로 사용하는 업체가 많지 않다는 점을 고려해야 한다.
여러 가지 언어를 배울 시간이 없다면 C나 자바 중 하나를 택하도록 하자. 아무래도 아직까지는 단말기(휴대전화)용 프로그램은 C나 자바를 이용하는 경우가 많다. 이때 PC용 자바 패키지를 그대로 사용하는 경우는 거의 없고 별도의 라이브러리를 사용한다고 봐야 한다. 우리가 들고다니는 휴대전화의 경우 하드웨어나 운영체제가 PC와는 완전히 다르다. 내장된 메모리는 몇 백 키로바이트로 매우 적다. 이런 제한된 조건에서 돌아가는 프로그램을 만들어야 하기 때문에 일반적인 PC용 프로그램을 만드는 도구로는 프로그램 개발이 어렵다.
이 때문에 자바나 C를 이용해 모바일 게임을 만들기는 하지만 PC에서 게임을 만들 때와는 전혀 다른 환경에서 작업해야 하는 것이다. 물론 이미 자바나 C로 게임 프로그래밍에 익숙한 사람이라면 어렵지 않게 모바일 프로그래밍에 적응할 수 있다. 또한 처음으로 자바를 배우는 사람이라면 모바일용 프로그램 제작 기법만 속성으로 배워 취업에 도전해볼 수 있다.
프로그래머에게 요구되는 최고의 경쟁력은 실력이다. 모바일 프로그래머에게도 마찬가지다. 실력이 최고의 경쟁력이다. 따라서 각종 프로그래밍 언어와 모바일 프로그래밍 기법을 익혀야 한다. 자바 관련 자격증을 취득하면 약간의 도움이 되지만 절대적인 도움이 되는 것은 아니다. 오히려 잘 만든 샘플 프로그램이 취업에는 더 큰 도움이 된다.
따라서 취업을 빨리 하려면 샘플 프로그램(포트 폴리오)를 잘 만드는데 집중하는 것이 좋다. 자신이 직접 만든 모바일 게임이나 모바일 프로그램이 취업의 지름길이 된다.
출처 : 김중태님의 전문컬럼 'IT직종바로알기'
http://www.recruit.co.kr/InforCom/InforComView.asp>