진로와 꿈 이달의 진로

[14호] 마켓에 올리다 – APP개발의 세계

 

마켓에 올리다

APP개발의 세계 

 

글/사진 최의진

도움 바닐라 브리즈

앱 개발자의 세계

하나의 앱이 만들어지기까지는 많은 작업이 필요하다. 어떤 앱을 어떻게 만들 것인지 계획하는 기획부터 앱에 포함될 모든 이미지와 그래픽, 애니메이션을 담당하는 디자인, 그리고 개발 언어를 바탕으로 앱의 뼈대와 살을 한땀 한땀 완성하는 프로그래밍까지… 그래서 앱 개발사에서는 각각의 일을 전문적으로 담당하는‘전문가’들이 자신의 전문 분야에 맞는 직무를 수행하고 있다. 오늘은 그 중에서도 프로그래머이자‘아이건배틀’의 팀장직을 맡고 있는 주승현씨의 일상을 따라가 보자.

아이건 배틀 개발팀의 프로그래머이자 팀장인 주승현씨의  어느 금요일

 AM 10:30  아 어젯 밤에 숙면을 취했더니 개운하다! 우리 팀 출근 시간을 10시 30분으로 정한 건 정말 잘한 일인 것 같다. 어제는 왠지 센티멘탈한 상태가 되어 전화로 일찌감치 재택근무를 신청한 덕에 집에서 자유롭게 일했으니, 오늘은 출근해서 활기차게 일을 시작해 볼까? 만에 하나 덮쳐올지 모르는 피로감에 대비해 커피 한 잔 정도 가볍게 마셔 주고 가자.

 AM 10:40  가장 먼저 할 일은 밤새 새로 도착한 이메일 확인. 우선 몸이 열 개라도 모자란 대표님으로부터 회사 안팎에서 어떤 일이 있었는지, 지시 사항은 무엇인지를 전달받고. 다음으로는 새롭게 업데이트된 버그 리스트를 확인하고, 팀원들과 문제점 분석 및 해결책 논의를 해야겠지. 우리는 사용자의 피드백에 적극적으로 응하는‘살아있는 팀’이니까.

 AM 11:00  자, 회의 시간이다! 대표님과 함께 팀장급 회의인 PO미팅에 참석해야 한다. 회사에서 Project Owner3 라 불리는 팀장은 개발 중인 앱에 참여하는 팀원들을 이끄는 역할을 하기 때문에 의논할 것이 아주 많아서 말이지. 각 팀에서 담당하고 있는 앱의 개발 과정 중 대두된 장애 요인을 공유한 후 어떻게 해결할지 논의하고 나면 어느새 한 시간 반이 훌쩍. 

 PM 12:30  열정적으로 회의에 임하다 보면 어느새 점심 시간. 식사 시간에도 업무 얘기를 하면 스트레스 받지 않냐고 반문할 사람들이 있겠지만, 팀원들끼리 함께 밥을 먹으며 개발 중인 앱에 대해 이야기하는 건 이제 너무 당연한 일과가 되어버렸다.

 PM 1:30  자 이제는 본격적으로 일을 하자 일을!! 내가 맡은 직무인 프로그래밍은 상당한 집중력을 요하는 일이라서 얼마나 시간이 빨리 가는지 모른다. 각자 자기 자리에서 맡은 일에 몰두하다 보면 어느새 시간은 흘러 흘러 가고 있으니…

 PM 3:00  지난 3주 간의 작업 결과물을 모든 사원들과 공유하는 Release Review 시간. 오전 PO미팅 시간에 미리 정해 놓은 순서대로 선택된 다섯 팀이 돌아가며 그 동안의 결과를 내놓으면 다른 팀원들은 직접 개발 중인 앱을 체험한 후 의견을 주고 받는, 시연회 형식의 전체사원급 회의지. 이 회의 덕분에 서로 전혀 다른 앱을 만들고 있더라도 다른 팀이 어떤 작업 중이고 현재 어느 단계에 있다는 것도 알 수가 있어. 개발 중인 앱에 대한 중간 평가를 받는 자리니까 긴장 또 긴장!

 PM 5:00  전체사원급 회의가 끝나면, 또 팀별 회의. 하루 내내 회의의 연속이구나. 그러나 늦출 수는 없지. 좀 전에 다른 사원들로부터 전달받은 의견을 수렴하고 종합하여 찾아낸 새로운 문제점들을 잘 체크하고 그에 따른 개선점을 마련해야 하니까. 다음 주에 하게 될 업무를 정해서 세부적인 계획을 짜는 것도 지금 해야 해. 특별한 일이 있지 않고서는 주말에 회사에 나오는 일은 잘 없으니까. 다음 주에는 어느 단계까지 개발을 진행해야 할까? 생각할 것도, 말할 것도, 들을 것도 많다.

 PM 7:00  아니 벌써 하루가 다 갔어? 지루할 틈 없이 스펙터클하게 흘러가는 일정 덕분에 퇴근 시간이 한층 앞당겨진 듯한 기분이야. 머리 속에 개발 중인 앱 생각, 새로 만들고 싶은 앱 생각을 가득 담아 그대로 문을 나서면, 회사와는 이틀간 잠시 안녕!

참고 – 프로그래머 뿐 아니라 디자이너와 기획자도 하루 일상은 비슷해. 자유롭게 정하는 출퇴근 시간과 업무 일정 때문에 가끔은 1년치 휴가를 몰아 쓰는 직원들의 자리가 군데군데 비어 있는 진풍경이 연출되기도 하지. 능률에 따라 집에서 일할 수 있다니, MODU친구들 참 부럽겠다ㅋ.

앱이 만들어지기까지

개발사에서 해야 하는 일은 크게 네 가지. 기획, 디자인, 프로그래밍, 그리고 마케팅이야. 각 분야의 전문가가 프로젝트 일정에 따라 팀을 꾸리게 되는데, 마케팅을 제외한 세 가지 직무의 전문가들이 주로 모여 한 팀이 되곤 하지. 여기까지는 다른 소프트웨어(이를테면 대형 게임) 개발사의 모습과 다를 바가 없는데, 뭐가 다르냐고? 구체적인 일의 진행에 있어서는 많은 차이가 나. 일반적인 인식으로는 기획이 끝나야 디자인이 시작되고, 디자인이 끝난 후에 프로그래밍 과정으로 넘어갈 것 같지만 앱 개발에서는 그렇지 않다는 것. 하나의 앱이라는 큰 밑그림을 부분별로 나누어 각각의 부분을 동시다발적으로 일차 완성한 후, 전체 그림을 만들어 가는 방식으로 개발을 진행하게 돼. 여전히 무슨 말인지 어렵지? 그럼 하나의 팀이 어떻게 앱 하나를 완성하는지 자세히 들여다 볼까?

아이건배틀 개발팀의 경우

기획자: ‘기획’이란, 어떤 상품을 만들지에 대한 그림을 그리는 일이야. 그래서 여러 가지 번뜩이는 아이디어를 내는 일부터 그것을 정리해 앱 개발의 전체적인 부분을 크고 작은 단위로 계획하는 일도 모두 기획자가 하지. 기획자는 앱의 시스템과 UI[1], 게임 앱의 경우에는 아이템, 레벨, 맵까지 모든 부분을 신경 쓰는 사람이야. 디자이너: 하나의 앱이 만들어지기 위해서는 100~300여 장의 크고 작은 이미지와 각종 애니메이션 파일, 3d 그래픽이 필요해. 디자이너는 아주 간단한 모양의 버튼 이미지에서부터 바탕화면에 쓰일 섬세한 artwork에 이르기까지 앱에서 보여지는 모든 것들을 만들어내는 역할을 하지. 프로그래머: 앱도 프로그래밍 언어를 가지고 개발 툴을 사용해 만든다는 점에서는 다른 소프트웨어와 똑같아. 이 때 전체 프로그램의 얼개를 짜는 것부터 앱의 실행 과정 속 모든 논리 구조를 구현[2]해 내는 일을 하는 사람이 바로 프로그래머지. 요걸 누르면 요 화면이 뜨는 게 실제로 명령어로 실행되도록 하는 사람이지.
1단계 : 기획 회의 및 준비 시장조사 결과를 바탕으로 앱의 대략적인 밑바탕을 만드는 단계야. 안드로이드? iOS? 등 어느 플랫폼[3]에서 실행할 앱인지를 결정하는 것부터 시작되겠지? 게임에는 캐릭터가 생명이지? 기획자의 아이디어에 따른 다양한 요구에 맞추어 적합한 캐릭터가 정해질 때까지 많은 시험 캐릭터와 컨셉아트를 그렸다, 지웠다 무한 반복!  Prototype 이라 불리는 시험 앱을 만드는 게 프로그래밍의 시작이야. 아직 디자인 작업이나 이미지가 나온 게 없으니 모든 것은 사각형 이미지로 대체! 대략의 큰 틀이 나오면 팀원들끼리 시연과 수정의 무한반복!
2단계: 스토리보드 제작 및 부분별 완성 UI라 불리는 앱 내 각종 기능의 배치를 결정해야 해. 그리고 게임 내 레벨과 아이템, 맵 등 필수적인 사항도 이 때 결정되지. 게임을 하는 사용자가 이 게임을 처음부터 끝까지 플레이했을 때 마주하게 되는 이야기와 화면들로 스토리보드를 작성하는 게 2단계의 주요임무! 앱에 사용될 각각의 이미지를 그리고 나면 정교한 애니메이션 작업을 통해 만들어진 이미지들을 연결해야 해. 캐릭터를 그렸다면 이제 살아 움직이도록 생명을 부여하는 거지. 앱에서 보일 모습 그대로 부드럽게 움직이는 영상으로 연결된다면 2단계 임무 완료! Prototyping 이후에는 기술검증을 해. 기술검증이라는 개발한 프로그램이 원래의 기획 의도대로 잘 작동되는지를 확인하는 과정이지. 기획팀으로부터 전달받은 사항들이 잘 반영될 수 있도록 수정, 또 수정!
3단계 중간점검 및 피드백 2단계까지 하면 거의 큰 틀은 완성되었다고 보면 돼. 이제 디테일이 남았지. Release Review와 같은 전 사원급 회의는 물론이고 끊임없는 팀내 회의를 반복하면서 세밀한 부분부터 전체적인 얼개에 이르기까지 모든 것을 완성단계로 만들어 가는 거야. 소리 없는 게임? 말이 안 되지? 완성된 앱을 위해서는 적절한 Sound가 필수라고. 그를 위해서 외부업체에 각종 배경음악 및 모든 효과음에 대한 제작을 의뢰해야 해. 자, 소리까지 이제 다 입히고 나면 드디어 앱 완성!
4단계 출시 및 업데이트 앱이 완성되면 각 플랫폼별 앱 다운로드 페이지에 업데이트하고, 시장 조사와 사용자들의 의견 수렴을 통해 반응을 살펴. 아무리 잘 만든 앱도 제대로 알리고, 서비스하지 않으면 소비자는 알 수가 없어. 그러니 이제 만들어진 앱을 어떻게 홍보해서 얼마나 판매할 것인지, 이를 통해 어느 정도의 수익을 얻을 것인지 구체적인 판매계획을 수립해 실행하는 일이 남았지. 이 때부터 나서게 되는 사람이 마케팅부서의 직원인데 말야. 각종 보도 자료나, 홍보물, 이벤트를 통해 앱을 소비자의 스마트폰 속으로!

[1] User Interface (사용자 환경 : 일반 사용자들이 컴퓨터 시스템 또는 프로그램에서 데이터 입력이나 동작을 제어하기 위하여 사용하는 명령어 또는 기법을 말한다.)

[2] 프로그래밍 : 논리 구조에 따라 명령어를 입력하여 컴퓨터가 원하는 연산, 즉 기능을 수행하도록 하는 일을 말한다.

[3] 플랫폼이란 단말기의 운영체제 종류를 말한다. 안드로이드, iOS, Windows Phone 등 플랫폼에 따라 개발용 프로그램도 달라지기 때문에, 개발 초기 단계에서 어떤 종류의 플랫폼을 기반으로 앱을 개발할지 결정해야 한다.

나는 앱 개발자가 될 수 있을까?

 기획자  기획자에게 가장 필요한 능력은 바로 분석력과 창의력이야. 하나의 앱이 만들어지기까지 무수히 많은 요소가 짜임새있게 결합되어야 한다는 사실을 방금 보았지? 예를 들면, 이미 만들어져 있는 앱을 분석하여 팀 구성원들에게 자세한 정보를 전달해주는 일을 하게 되었을 때 가장 필요한 건 바로 간결하게 핵심만 정리해내는 문서 작성 및 애니메이션 구현 능력이겠지. 즉, 생각하고 있는 내용을 타인에게 빠르고 정확하게 이해시키는 능력이 절대적으로 필요한 사람이 바로 기획자! 누구나 기획을 할 순 있지만, 잘할 순 없다! 딱히 필요한 전공이 있는 건 아니지만, 다른 사람에게 내 생각을 전달하고 또 설득하는 능력, 그리고 생각을 간결한 말로 정리할 수 있는 능력은 미리 연습해 두는 게 좋을 거야. 물론 현재 전문학교를 중심으로 게임기획학과가 곳곳에 개설되어 있으니 관심이 있다면 고고!

 디자이너  디자이너라고 해서 무조건 디자인학과를 나오거나, 미술 관련 학과를 졸업해야 하는 것은 아니야. 실력과 열정만 있다면 누구나 디자이너가 될 수 있지. 그러나 디자이너는 기획자에 비해서 좀더 전공지식과 오랜 경험을 필요로 하는 부분이 많아서 실제로 선발되어 일하게 되는 디자이너들을 살펴보면 시각디자인학과, 디지털미디어디자인학과, 광고학과, 애니메이션학과 등등 관련 학과를 졸업한 경우가 대부분이야. 하지만 디자인의 분야에서 이제는 앱 디자인(GUI디자인)이 별개의 분야로 구분될 정도로 점점 그 전문성과 필요성이 커지고 있다는 사실! 아, 앱 디자인 외의 분야에서 디자인 일을 해 왔더라도 회사에서 일하면서 앱 디자인을 배우는 일이 다반사일 뿐더러, 디자인 대학 졸업이 아닌 다른 방법을 통해 스스로 실력을 쌓아 앱 디자이너가 되는 경우도 있다고 하니 지레 겁먹지 마!

 프로그래머  그 이름도 복잡해 보이는 프로그래머. 프로그래머에게 가장 필요한 건 바로‘수학적 능력’이라 불리는 논리적 사고력이야. 그래서 게임 개발자를 꿈꾸는 너라면 자신의 언어 이해능력과 논리적 사고력 등을 객관적으로 점검해 볼 필요가 있지. 초등학교 때부터 퍼즐에 재능이 있었다? 행렬과 기하학 등의 단원을 이해하고 활용하는 데 전혀 어려움이 없었다? 그렇담 너는 프로그래머로서의 재능이 충분할지도 몰라. 하지만 더 확실한 방법은 실제 개발 언어인 Objecctive-C 또는 JAVA 등을 배워, 간단한 프로그램을 완성해 보는 것이거든. 중고등학교 시기에 적절한 도전 목표는 간단한 사칙연산용 계산기를 만드는 것 정도겠지만, 더 나아가 알까기나 테트리스 같은 프로그램도 어렵지 않다면? 너는 타고난 프로그래머!

앱 개발자에 대한 오해와 진실

 하나, 앱 개발자들은 게임을 정말 정말 많이 한다?  

직업이 게임 개발(물론 기타 앱을 만들기도 한다)이기에 게임에 대한 관심은 대체적으로 높은 편이야. 그렇지만 게임을 좋아하는 성향이나 게임의 참여에 투자하는 시간이‘필수’인 것은 전혀 아니라고! 개발자 집단 내에서도 게임을 좋아하는 사람, 싫어하는 사람의 분포는 다른 집단이랑 똑같아. 개발자 집단 안에서 굳이 나누어 보자면 가장 많이 게임을 즐기는 사람들은 기획자들인데, 이것은 오히려 반대로 생각해야 맞는 말이야. 기획자로 일하다보니 게임이 좋아진 게 아니라 그만큼 게임을 좋아했기에 기획자가 된 것이란 말이지. 물론 경쟁자가 만들어낸 제품을 끊임없이 탐색하고 분석하는 일을 직업적으로 해야 하기 때문이기도 하지만, 꼭 그래서일까?:D 어쨌든 그래서 보통은 회사 내에 게임을 상시 즐길 수 있는 공간이 마련되어 있다는데… 일하는 중에 게임을 할 수 있다니 정말 신나는 직업이지?

 둘, 앱 개발자는 일을 아주 많이 한다?  

흔히들 소프트웨어 개발자는 밤낮 구별 없이 열심히 일을 한다고 알고 있지만, 앱 개발자는 꼭 그렇진 않은데. 이건 앞서 살펴본 주승현 팀장의 하루만 보아도 알 수 있었을 거야. 이 작은 소프트웨어를 제작하기 위해서는 많은 시간보다는 높은 창의력과 효율성이 요구되지. 즉, 많은 시간을 투자하여 단순 작업을 반복하는 일은 앱 개발과는 거리가 멀다고 보면 돼. 아이디어가 팡팡 떠오를 때 집중해서 일하고, 쉴 때는 푹 쉬어주어야 한다고. 당연한 이야기겠지만 끊임없는 아이디어 창출을 위해서는 반드시 회사 밖으로 나가 자기 계발 및 새로운 경험의 시간을 가져야 해서 사무실에서만 일을 해서는 좋은 아이디어도, 높은 품질의 결과물도 얻어낼 수가 없다는 것. 배낭 여행을 떠난다거나, 팀원들끼리 야외 회의를 하는 것 또한 이러한 자기 계발의 일환이거든. 신나게 놀고, 쉴 때 쉬는 것. 모든 창의적인 직업의 기본이지? 회사에서도 개발자들을 위해 크고 작은 배려를 아끼지 않는 경우가 많아. 각종 회의가 끝나고 사원들의 심신이 피로해질 때쯤이면 아기자기한 소품 경매 이벤트를 실시한다거나 다과파티 등을 열기도 한다니, 정말 일할 맛 절로 나겠구나!

모바일 앱 개발자 VS. 컴퓨터 게임 개발자

비교적 간단히 즐길 수 있는 모바일 앱을 만드는 개발자와 방대한 스케일의 컴퓨터 게임을 만드는 개발자. 하는 일은 비슷하지만, 프로그램의 규모가 다른 만큼 그 특징도 사뭇 다르다는 거, 알고 있니? League Of Legends나 리니지 등과 같이 규모가 큰 컴퓨터 게임의 완성을 위해서는 몇 년동안 프로그래머와 디자이너 수십 명이 전체적인 그림을 보지 못한 채 자신이 맡은‘극히 일부분’만을 만들어야 하는 경우가 많아. 그러므로 자신이 작업하는 부분이 전체에서 어떤 모습이며, 무슨 역할일지를 파악하는 과정이 느릴 뿐더러 트렌드에 맞추어 신속히 피드백하는 일도 쉽지 않겠지? 반면, 모바일 어플리케이션의 경우 개발 주기가 길어야 1년, 짧으면 수개월 정도이기 때문에 트렌드를 파악하여 신속하게 대처하는 일이 무엇보다도 중요해. 따라서 앱 개발자들은 그 어떤 것보다도‘신속한 소통을 통해 정확하게 서로의 의견을 반영하고 수정하여, 여러 파트의 일이 한꺼번에 진행될 수 있게’하는 걸 최우선으로 하고 작업을 진행해. 또 앱 개발은 필요 인력이 적은 대신에 각각의 인력이 해야 할 역할도 다양하다는 특징이 있는데, 이는 각 사람이 자신의 전문 분야 이외에 다른 구성원의 역할과 작업 내용에 대해서도 숙지 및 대체작업이 가능해야 한다는 말이야. 따라서 간단한 앱의 경우 프로그래머 또는 디자이너가 기획자의 역할을 겸한다거나, 반대로 기획자가 프로그래밍 및 디자인에 왕성하게 참여하는 경우도 흔히 있는 일이지. 아. 우리가 앞에서 살펴본 아이건배틀팀 역시 프로그래머가 기획자를 겸하는 경우였다는 거.

OUTRO

모두 앱 개발자에 대한 새로운 이미지, 탑재 완료됐지?? 오늘도 마켓을 둘러보는 우리 MODU 친구들, 혹시 친구들의 꿈과 미래가 그 곳에 있진 않니? 조금 더 깊이 들여다보고 싶다면, 지금 당장 검색창에‘앱 개발자’를 쳐 볼 것! 망설이지 말고! 롸잇 나우!

NO COMMENTS

Leave a Reply