개발의 세계는 넓고, 언어와 직무는 다양하다. 분야가 다른 개발자들은 서로의 업무를 얼마나 이해하고 있을까? 게임, Hive, 블록체인을 아우르는 종합 콘텐츠 플랫폼 컴투스의 다양한 개발자들을 만나보았다.
※주의※ 직군을 대표하는 것이 아닌 지극히 개인적인 시선입니다❤️ 다른 의견이 있으신 분께서는 <신컴사2>에 참여 부탁드립니다. 언제나 환영합니다🥳
간단한 자기소개 부탁드립니다.
XPLA:유니티로 게임을 제작하는 클라이언트 개발자입니다. 닉네임은 XPLA로 하겠습니다. 자주 언급될수록 오를 것 같아서요!
REAL: 언리얼 엔진으로 또 다른 리얼한 세계를 구현하는 클라이언트 개발자 REAL입니다.
퓨리오사: 얼마 전 영화 <퓨리오사: 매드맥스 사가>를 봤어요! 최근 감상한 영화 중 가장 재밌게 본 작품인데, 흥행 성적이 저조하다고 하더라고요. 이런 수작을 더 많은 사람이 봐줬으면 좋겠다는 마음에 골라 보았습니다. 야구 게임팀에서서버로 일하고 있습니다.
네카컴: 네이버, 카카오, 그리고 컴투스! 개발자라면 누구나 꿈꾸는 회사들의 앞 글자를 따보았습니다😎 플랫폼 서버 개발과 하이브 서비스를 담당하는 백엔드 개발자입니다.
꽁치: 컴투스플랫폼에서 웹 관련 서비스를 만드는 웹개발자입니다. 꽁치인 이유는 팀에서 자주 개복치라고 놀림 받아서요. 기왕이면 개복치보단 맛있는 꽁치가 낫단 생각에 떠올랐어요! 사실, 그냥 먹고 싶어서 생각난 건지도 모르겠어요😋
다양한 개발 분야 중 현재 직무를 선택한 이유가 궁금합니다.
REAL: 어릴 적부터 줄곧 게임을 좋아했어요. 조금 커서는 게임 그 자체에 궁금증을 갖고, 한번 만들어보고 싶다고 생각하게 됐죠. 유저가 개발자로 전직을 하게 된 셈이랄까요. 그렇다 보니 자연스럽게 플레이어의 시점에서 가장 익숙한 부분을 작업하는 클라이언트 개발에 끌리게 된 것 같아요.
꽁치: 분야는 다르지만, 저도 비슷한 이유로 직무를 선택했어요. 웹 개발은 명확한 인터랙트를 내 눈으로 볼 수 있다는 게 매력적이에요. 불편한 점이 있다면 고쳐야 직성이 풀리는 타입이라 직접 문제를 확인하고, 개선할 수 있는 웹 개발이 좋았습니다.
XPLA: 저도 게임을 좋아하긴 했죠. 하지만, 직업으로 삼아야겠다! 생각하게 된 계기는 사람 때문이에요. 제가 좋아하고, 동경하는 형이 게임 회사 클라이언트 개발자였거든요. 막연하게 ‘저 형이랑 같이 일해보고 싶다’ 생각하면서 공부하다 보니까 어느새 저도 클라이언트 개발자가 됐어요. 아직 동료로 레벨 업에 성공하진 못했는데, 언젠가는 기회가 되겠죠!
퓨리오사: 순전히 우연이었어요. 원래는 클라이언트를 지망했는데, 졸업 프로젝트를 할 때 공교롭게도 클라이언트만 3명인 팀에 떨어지게 된 거예요! 역할을 나누다 보니 얼떨결에 서버를 떠맡게 돼서 급하게 관련 수업을 찾아다녔던 기억이 떠오르네요. 한번 서버로 포트폴리오를 쌓고 나니 자연스럽게 쭉 서버의 길을 걷게 되었습니다.
네카컴: 서버 개발자는 업계 상관없이 모든 회사에 있으니 선택지가 다양할 것 같았어요. 꼭 게임 회사여야 하는 건 아니었지만, 열린 조직문화와 높은 성장 가능성, 다양한 복지 등을 고려하다 보니 공교롭게도 게임 회사와 인연이 닿았어요. 그중 컴투스가 가장 성장 가능성 높은 회사라는 생각이 들어 현재에 이르렀네요.
‘서버 → 클라이언트’ vs ‘클라이언트 → 서버’ 중 어느 쪽이 더 수월할까요?
REAL: 뭐가 더 쉽다 딱 잘라 말할 순 없지만, 개인적으로 저연차에선 서버에서 클라로 넘어오는 게 조금 더 수월하지 않을까? 생각합니다. 엔진에서 제공하는 기능을 잘 숙지한다면 자세히 알지 못해도 깊이 있는 기능을 만들 수도 있거든요. 신입 개발자라면 어느 분야로 가든 끊임없이 공부해야 하니 조금의 노력을 더 하면 충분히 가능하지 않을까 싶습니다.
XPLA: 기본기가 탄탄하다면 불가능은 아닐 것 같습니다. 실제로 주변에 이런 케이스가 종종 있어요. 그런데, 클라로 3년 일하다 서버로 분야를 옮기면 경력 인정이 안 되니까… 아주 강력한 동기가 있는 게 아니라면 ‘굳이?’ 싶은 거죠.
– 서버 개발자: 주로 서버 측 로직을 개발해 다양한 플레이어가 함께 상호작용 할 수 있도록 하는 일을 맡고 있다. 서버의 상태를 유지하고, 업데이트하면서 다양한 기술적 문제를 해결한다.
– 클라이언트 개발자: 게임 엔진을 이용해 플레이어가 실제로 보는 그래픽과 사용자 인터페이스 등이 원활하게 작동하도록 한다. 주로 플레이어의 게임 사용자 경험을 개선하는 일을 맡고 있다.
그렇다면 게임 서버 개발자가 플랫폼 서버 개발자로 넘어간다거나, 반대의 경우는 어떨까요?
퓨리오사: 이 경우는 언어가 허들일 것 같아요. 일단 사용하는 언어 계열이 달라요. 플랫폼 쪽은 JAVA를, 게임 쪽은 C언어를 사용하거든요.
네카컴: 구기종목이란 점은 같지만 목적과 도구가 다르다는 점에서 축구 선수가 야구로 종목을 바꾸는 상황에 비유해 볼 수 있을 것 같아요. 축구는 공을 정확한 위치에, 야구는 힘 있게 멀리 날리는 게 중요하죠. 그런 섬세한 컨트롤을 하려면 각각 축구공과 야구공의 특징을 잘 알아야 하겠고요. 하지만, 야구를 잘 몰라도 기본적인 운동 신경이 좋고, 공을 다뤄본 경험이 있으면 문외한보단 빨리 배울 수 있잖아요? 개발도 그런 것 같아요.
서버 개발자와 클라이언트 개발자는 사이가 안 좋은가요?
네카컴: 딱히 안 좋을 이유는 없는 것 같은데요?!
XPLA: 개인적으로 성향이 안 맞아서 안 좋을 순 있을지도…
꽁치: 오히려 기획자와 소통하고 논의할 일이 더 많아요. 예를 들면, 유저 인터페이스를 개발하기 위해선 구체적인 기획이 동반돼야 해요. 이 버튼을 누르면 팝업은 어떻게 띄울 건지, 오류가 났을 때는 어떻게 처리할 건지 생각보다 디테일하게 이야기 나눠야 하는 부분이 많습니다. 당연히 상대방도 이렇게 생각한 거겠지, 여기고 넘기면 의사소통 오류가 생기기도 해요. 서로가 이해할 수 있는 용어를 사용하여 합의점을 도출하는 것이 아주 중요한 포인트라고 생각합니다.
REAL: 클라이언트 개발자도 소통해야 할 팀이 많기 때문에 무척 공감합니다. 일을 하다 보면 자연스럽게 기획자, 서버, 아트 모두와 이야기를 하게 돼요. 그래서 클라에게는 개발 실력만큼이나 커뮤니케이션 능력도 중요한 것 같아요. 다른 팀에서 어떤 의도를 가지고 이런 작업을 했는지 알면 훨씬 수월하고 효율적으로 일할 수 있거든요.
꽁치: 개발팀 중 제일 인싸팀이 아닌가…
기존 컴투스 게임은 대부분 유니티로 개발됐습니다. 반면 ‘제노니아’는 회사 최초의 언리얼 엔진 사용 게임인데요, 힘든 점은 없었나요?
REAL: 초창기 팀원분들은 맨땅에 헤딩 수준으로 정말 고생을 많이 하셨다고 들었어요. 아무래도 회사의 기존 인프라나 정보가 대부분 유니티에 맞춰져 있다 보니 예상치 못한 상황이 종종 있었던 것 같습니다.
XPLA: 유니티 개발만 하다 이번 기회에 언리얼 엔진으로 넘어간 분들도 꽤 많다고 들었어요.
꽁치: 웹 개발자는 엔진을 만질 일이 없어서 엔진을 바꾼다는 게 얼마나 힘든 일인지 잘 모르겠어요! 어떤가요?
REAL: 맨땅에 헤딩이라는 말을 다시 한번 하겠습니다🤣 개발자가 막 되었을 때로 돌아간 것처럼 찾아보고, 공부하면서 치열하게 작업했어요. 다행히 초기의 혼란스러운 단계를 지나니 팀원들의 풍부한 경험이 큰 도움이 됐습니다. 엔진이 달라졌다 뿐이지 게임 개발의 큰 틀은 달라지지 않으니까요.
언리얼 엔진의 장점 중 하나는 엔진의 코드를 직접 살펴보면서 자유도 높게 활용할 수 있다는 거예요. 직접 만들어가는 재미가 있죠! 앞으로 컴투스에도 언리얼 엔진을 활용하는 프로젝트가 늘어날 테니, 저희가 겪은 시행착오와 경험을 적극적으로 공유하고 싶어요.
XPLA: 언젠가 언리얼 엔진 가이드 문서에서 REAL님의 이름을 뵙게 될지도 모르겠네요. 미리 감사 인사하겠습니다.
– 엔진(Engine): 게임 개발을 용이하게 하기 위해 필요한 도구와 라이브러리를 제공하는 소프트웨어다. 대표적인 게임 엔진으로는 유니티(Unity), 언리얼 엔진(Unreal Engine)이 있다. – 유니티(Unity): 사용하기 쉬운 직관적인 인터페이스로 멀티 플랫폼을 지원하며, 특히 모바일 개발에 강점이 있다. – 언리얼 엔진(Unreal Engine): 뛰어난 그래픽과 사실적인 렌더링을 구현할 수 있다는 것이 장점이다.
개발자에게 런칭이란?
해본 개발자 REAL: 회사가 곧 내 집이 되는 기간🤣 런칭 날짜가 정해지면 밤낮 없이 수정하고 추가하고 개선하고, 또 수정하고 추가하고 개선해야 하기 때문에 체력이 정말 중요한 것 같아요. 런칭이 정말 힘들긴 하지만 그만큼 빠르게 성장할 수 있어요. 런칭 직후 유저들이 와글와글 모여서 떠들고 돌아다니는 모습을 보며 느낀 묘한 설렘과 긴장감은 평생 잊을 수 없을 것 같아요.
해본 개발자 네카컴: 맞아요. 집에 못 가요… 딱히 게임만 그런 건 아니고 모든 서비스가 다 그래요. 아, 물론 런칭을 해도 당분간은 계속 집에 갈 수 없답니다^^ QA를 정말 셀 수 없이 많이 하는 데도 불구하고 꼭 실제 서버에 올라가면 예상치 못한 문제가 항상 터져요… 참 이상하죠? 집엔 갈 수 없지만, 런칭은 그만큼 좋은 스펙이 되어주긴 해요. 쉽게 경험하기 어려우니까요.
런칭을 앞둔 팀에 스카우트 당한다면?
네카컴: 각오를 단단히 하고… 2년 정도 고민해 보겠습니다^^
REAL: 체력을 더 키워서 다시 도전해 보겠습니다…🤣
아직 런칭을 경험해 보지 못한 분들의 시선도 궁금합니다. 신작팀과 라이브팀을 비교하면?
안 해본 개발자 퓨리오사: 트렌드가 빠르게 도는 게임 시장에서 긴 시간 사랑받는 프로젝트에 숟가락을 얹고 있다는 데에 자부심을 느껴요. 라이브팀의 가장 큰 장점은 역시 유저들에게 꾸준한 피드백을 받을 수 있다는 것 같아요.
개인적으로 언젠가 MMORPG 장르 신작 런칭에 도전 해보고 싶어요! 현재 프로젝트와는 또 다른 방향의 경험을 많이 쌓을 수 있을 것 같기도 하고, 좋아하는 장르이기도 해서요.
안 해본 개발자 XPLA: 장점이자 단점은 이미 서비스 중이기 때문에 큰 변화를 만들기 힘들다는 것 아닐까요. 고려할 점이 아무래도 좀 더 많으니까요.
신작 런칭은 기회가 된다면 한번 해보고 싶어요. 라이브팀에서도 새로운 시도를 끊임없이 하지만, 이미 컨텐츠가 쌓인 곳에 추가 개발을 하는 것과 제로 베이스에서 시작하는 건 배울 수 있는 부분이 다르니까요.
서버분들은 API문서를 밥 먹듯 쓰실 텐데, 하나 쓰는 데 보통 몇 초나 걸리나요?
네카컴: 몇 초까진 조금…
그럼 몇 분으로 정정하겠습니다 🤣 (ㅋㅋㅋ)
네카컴: 템플릿이 정해져 있다면 그리 오래 걸리진 않아요. 간단한 건 10분에서 30분 정도면 충분히 끝낼 수 있어요. 하지만, 스펙이나 내용에 따라 차이가 커서 평균을 내긴 힘듭니다.
꽁치: 오… 생각보다 시간이 걸리네요. 맨날 쓰시니까 뚝딱 끝낼 줄 알았어요.
퓨리오사: 클라이언트분들도 가이드 문서를 자주 쓰시지 않나요? 어떤가요?
REAL: 몇 분이 아니라 몇 시간인지 따져봐야 할 것 같은데요🤣 가이드 문서는 독자가 있는 글이라 가독성이 신경 쓰여요. 다른 파트에 공유되거나, 많은 분들이 참고하는 내용일수록 더요! 이것도 어떻게 보면 커뮤니케이션 능력의 연장선인 셈이네요.
서버 API문서란?서버 API 문서(Server API Documentation)는 개발자들이 서버와 상호작용하는 방법을 이해하고 활용할 수 있도록 돕는 문서로, 쉽게 말해 개발자 사이의 설명서다.
이야기를 나눈 뒤, 혹시 직무를 바꾸고 싶은 의향이 생기셨나요?
.
.
.
침묵만이 감돌았다
괜히 인터뷰지 넘기는 척…
앗, 개발 분야가 아니어도 가능하다면?
네카컴: 그렇다면 회계팀을 한번 해보고 싶어요. 월급 주는 기분은 어떨까!
꽁치: 요즘 종종 기획을 해보고 싶단 생각을 해요. 나의 상상이 현실로 구현되는 순간은 어떤 느낌일까? 궁금해졌어요. 기획자는 기획자만의 고충이 또 있겠지만, 일단 개발적 구현 한계를 잘 아니까 조금 더 섬세하고 효율적인 기획을 할 수 있지 않을까요?
‘코딩’이 대세로 떠오르면서 관련 직업들도 미디어의 재조명을 받기 시작했다. 선두는 단연 개발자다. 어느새 불법 프로그램을 손쉽게 풀어내며 ‘선수 입장’을 외치는 천재 해커들은 사라지고, 맥북을 붙잡은 채로 ‘할 수는 있는데 안 돼요’ 고갯짓하는 현실적 묘사가 대세가 됐다. 그렇다면, 최근 미디어가 그려낸 모습은 실제와 비슷할까? 개발자의 상징으로 불리는 ‘체크셔츠’는 과연 편견일까, 현실일까? 다양한 의견을 구해보았다.
직무 소개를 다시 한번 부탁드릴게요. 개발 지식이 전혀 없는 소개팅 상대가 “뭘 개발하시는데요?” 라고 묻는다면?
꽁치(웹 개발자): G마켓 같은 거 개발해요!
네카컴(서버): 네이버를 딱 키면 거기 엄청 많은 데이터가 있잖아? 서버는 사용자가 인터페이스를 클릭하면 그에 맞는 적절한 데이터들을 내려주는 작업을 해~
XPLA(클라): 게임 이름을 말해요!
게임 내에서 어떤 작업을 하는 거냐고 물어본다면?
REAL(클라): 버튼을 눌렀을 때 다음 동작으로 작동하게 하는 거야!
퓨리오사(서버): 사실 게임 이름을 언급하면 절반은 더 이상 안 묻는데…😀 간혹 자세히 묻는 분들이 있으면 약간 고민돼요. 서버가 하는 작업은 눈으로 직접적으로 보이지 않는 게 많으니까요. 그래서 그냥 제가 개발한 콘텐츠를 얘기해요. 저 혼자 작업하는 건 아니지만, 그게 빠르더라고요. 그런데, 어차피 열심히 설명해도 다음에 만나면 ‘뭐 만든다고 했지?’하고 다시 물어봐요🤣
최근 개발자와 관련된 다양한 밈들이 화제가 됐습니다. 개발자에 대한 오해와 편견! 실제 개발자가 보기에 어떤가요?
네카컴: 어쩔 수 없는 직업병인 건 맞지만, 요즘 개발자는 좋은 의자를 많이들 쓰기 때문에😀 꼭 거북목의 정도와 실력이 비례한다고 볼 순 없습니다. 그리고 따져보면 거북목은 개발자만의 직업병이 아니라, 현대인 모두의 고질병이지 않나요?!
꽁치: 다들 운동을 열심히 하는 편이에요. 개발자는 프로젝트 단위로 크게 보면 장거리 달리기 선수지만, 개발 일정을 기준으로 보면 마감을 자주 맞이하는 단거리 선수이기도 하거든요. 지치지 않고 꾸준한 퍼포먼스를 유지하려면 건강과 체력이 필수입니다. 열심히 관리하는 주변 분들을 본받아 저도 운동을 시작했어요. 운동 참 싫어하는데🙄 직업병인 라운드 숄더와 거북목 퇴치를 위해 등 운동을 열심히 하고 있습니다. 의식적으로 자세도 자주 바로잡고, 밥과 영양제도 열심히 챙겨 먹고요!
드라마 스타트업 개발자들의 모습
마침 이 자리에도 체크 셔츠를 입은 분이 계시네요?!
REAL: 사실 이건 오늘 인터뷰에 맞춰 입고 나온 거예요😎 생각보다 자주 입진 않습니다. 그리고, 체크셔츠… 예쁘잖아요?! 멸시(?)받는 이유를 모르겠어요!
XPLA: 맞아요. 체크 유행 돌아왔어요! 트렌디한 아이템입니다.
꽁치: 요즘은 개발자보단 아이유를 상징하는 아이템으로 더 유명하지 않을까요?
여러분은 체크셔츠를 몇 벌이나 가지고 계신가요?
XPLA: 한 두벌 정도? 체크보단 일반 셔츠를 더 자주 입어요. 사실 패션에 관심 있는 일부를 제외한 다수의 개발자는 옷이 다채롭지 않을 것 같아요. 복장에 제약이 있는 근무 환경이 아니니까요.
네카컴: 과장하면 여름가을 옷 다 합쳐도 10벌이 안 되는 사람도 있지 않을까…
꽁치: 요즘은 세련되게 잘 입는 개발자도 많아서 전형적인 공대생 패션은 의외로 많지 않은 것 같아요. 50% 이하의 비율이 아닌가 싶어요.
그렇다면 요즘 개발자룩은 어떤가요? 특징적인 아이템이 있을까요?
네카컴: 차라리 회색 후드가 훨씬 더 요즘 개발자스러운 옷이 아닌가 싶습니다. 그건 다들 하나씩 가지고 계실 것 같아요! 생각해 보면 확실히 무채색을 즐기는 분이 많긴 해요.
REAL: 특징적인 아이템이라면 맥북 혹은 엄청난 고사양의 윈도우 노트북이 아닐까요? 맥북이 조금 더 대세인 것 같긴 합니다.
퓨리오사: 워치도 많이들 차고 계신 것 같아요.
네카컴: 컨퍼런스에서 나눠준 티셔츠나 에코백을 착용한 사람을 실제로 종종 보긴 해요. 그런 분들은 실제로 고수인 경우가 많기도 해서 영상에 나온 스티커에 대한 밈이 완전 편견은 아닐지도 모르겠어요. 컨퍼런스를 열심히 찾아다닐 만큼 열정적인 개발자라는 뜻이니 고수가 아닐 수 없을 것 같기도 해요.
꽁치: 오… 이건 성급한 일반화면서 사실이기도 한 것 같아요.
오타쿠라기 보단, 관심 분야가 생기면 집요하게 탐구하는 성향의 사람이 많은 것 같아요. 취미도 한번 시작하면 끝장을 보는 분들이 많고요. 평생 공부를 게을리하지 않는 사람만 살아남을 수 있는 직종이잖아요. 그렇다 보니 자연스럽게 그런 탐구심이 있는 사람이 개발자가 되고, 또 지치지 않고 꾸준히 학습하는 끈기와 열정이 있는 사람들이 살아남고… 그런 게 아닐까요?
개인적으로도 개발자에게 가장 중요한 건 탐구심이라고 생각합니다. 호기심 없이 꾸준한 학습을 지속하긴 쉽지 않으니까요. 스스로 어떻게 더 효율적으로 개발할 수 있을까, 어떤 기술이나 언어를 쓰는 게 좋을까 끊임없이 고민하고 공부하려면 탐구심이 필수인 것 같아요.
REAL: 하지만, 소통에 약한 사람이 많다는 건 정말 편견입니다. 모든 과정이 협업이기 때문에 커뮤니케이션 능력이 무척 중요해요. 소통이 잘 안되면 똑같은 일도 남들보다 훨씬 오래 걸리거나, 고생하게 되거든요. 실제로 뛰어난 시니어분들은 소통 능력도 탁월하시더라고요. 특히 클라이언트 개발자라면 더더욱 노력해야 하는 부분이 아닐까 싶습니다.
마지막으로 회사에 바라는 점이 있다면?
네카컴: 거북목의 정도와 개발 실력은 비례하지 않습니다! 허먼 밀러 의자로 개발자들의 목 건강을 지켜 주신다면 작업 속도가 더 빨라지지 않을까…😉
꽁치: 그럼 저는 손목 건강을 건의하겠습니다😉 전산소모품 비용 한도를 5만 원만 올려 주신다면… 손목과 손가락이 무리가 덜 가는 키보드와 마우스를 고를 수 있을 것 같아요!
퓨리오사: 허리 건강도 부탁드립니다…!! 중간 중간 스트레칭도 하고 편한 자세로 쉬고 싶을 때가 있어요. 그런데, 스낵바는 구조가 공개적이라 편안한 자세로 쉬기는 힘이 듭니다😭 공간 자체를 바꾸긴 쉽지 않으니, 가림막 등의 현실적인 방안도 고민해 주셨으면 좋겠어요!
REAL: 그렇다면, 저는 빌드PC의 건강을…😉 서버나 클라팀 쪽에는 다른 곳보다 PC가 많고, 발열이 심한 경우가 많으니, 에어컨을 추가해 주셨으면 좋겠어요! 365일 한여름처럼 PC가 불타고 있습니다. 그 앞에 앉아있는 개발자들의 얼굴도 함께요…🤣 마침 여름이 다가왔으니 고려해 주셨으면 좋겠습니다😭
유지수 기자
바쁜 시간을 쪼개 인터뷰에 참여해주신 모든 분께 감사를 전합니다. 인터뷰이는 물론, 이 글을 읽는 분들까지 모두 이슈없는 하루 되시길 바랍니다!