고객님? 아니죠~ 클라이언트 개발자!
※ 오늘의 로딩팁은 PC 버전에 최적화 되어있습니다. 웹에서 보기
※ 메일링 서비스 이슈로 23일(월) 오전 7시에 발송되었습니다. 양해 부탁드립니다. 

~ TODAY'S LOADINGTIP! ~
💙 클라이언트 프로그래머, 저도 할 수 있나요? 그것이 알고 싶다!
💙 오늘의 PICK :  고어매니아 다보여 둠 이터널 & 아직도 안해봤다면? 몬스터 헌터 : 월드
💙 데브컴 일정 공개! 놓치지 마세요. 8/23~8/27
안녕 로딩팁 친구들! 오늘은 지난 기획자에 이어 🧡클라이언트 프로그래머🧡에 대해 소개해보려고 해!

클라이언트 프로그래머가 현업에서 어떻게 일하고, 이를 위해서 지망생과 신입 친구들이 무엇을 준비해야 하는지 알아볼게.

오늘의 내용이 원론적인 이야기처럼 들릴 수도 있을 거야. 하지만 그건 다르게 말하면 현업에서 신입에게 바라는 가장 큰 요소가 탄탄한 기초라는 뜻이지. 어떤 것들에 초점을 맞추어 준비해야 할지 잘 몰랐다면 이번 뉴스레터에서 이야기하는 부분에 집중해보자.

이번 뉴스레터는 주위의 다양한 플랫폼과 연차의 클라이언트 프로그래머를 인터뷰한 내용을 기반으로 각색했으니 참고해 줘.
💬 모두가 혼란했던 게임업계의 '개발자' 연봉 인상
일반 IT업계에서 개발자라고 하면 보통 프로그래머들을 지칭하지만, 보통 게임업계에서 개발자는 기획, 아트, 테크(프로그래머), QA 등 게임 개발에 관여하는 인원들을 지칭하기도 해. 게임업계 연봉 상승 릴레이에서 개발자가 어느 직군까지를 의미하는 것인지 그 범주에 대해 화두가 되기도 했어😂 맥락에 따라서는 게임업계에서도 프로그래머를 개발자라고도 칭하지만 되도록이면 테크 혹은 프로그래머라고 정확하게 지칭해주는 것이 좋아. 

PART1. 무슨 일을 하나요?

"기획자가 만들고 싶은 게임을
수단과 방법을 가리지 않고
서비스 가능한 수준의 퀄리티로 개발하는 직군"
상당히 강력한 한 줄 설명이지? 지금부터 이 한 줄 설명이 정확히 무슨 의미인지 하나씩 살펴볼게.

“기획자가 만들고 싶은 게임을”
클라이언트 프로그래머의 일은 기획자가 기획서를 공유해 주는 순간부터 시작돼. 자신이 구현하고 싶은 것을 무턱대고 구현하는 것이 아니라, 기획자가 우리의 게임이 어떤 게임이 될지 고심해서 기획서를 작성해오면 그 기획서의 내용이 실제하고 동작할 수 있도록 구현하는 거야. 

“수단과 방법을 가리지 않고”
수단과 방법을 가리지 말라니, 왠지 나쁜 일도 해야만 할 것 같은 표현이지만 실은 프로그래머의 현업에서의 자세를 가리키는 표현이야. 기획서를 보고 ‘이건 어렵겠는데요’하고 바로 거절하는 것이 아니라, 현재 상태에서 해당 기능의 구현이 어렵다면 다른 방법을 찾아본다거나, 기획자와 다시 대화를 나누며 기획의 의도를 파악하고 다른 옵션이 있는지 확인한다거나, 내가 구현하다가 막혔다면 인터넷에서 방법을 찾거나, 동료들에게 도움을 요청하는 등 여러 가지 방법을 강구해야 한다는 뜻이지. 

“서비스 가능한 수준의 퀄리티로”
동아리에서 모여서 개발하는 게임은 단순히 스터디를 목표로 하는 경우가 많고, 어떤 퀄리티로 출시를 해도 크게 구애를 받지 않지. 하지만 회사에 들어오는 순간 친구들은 돈을 받고 일하는 프로가 된다는 것. 그리고 회사에서 출시하는 게임은 특정 기준에 부합하는 퀄리티를 가져야만 해. 그리고 그 기준은 시장에 게임을 선보였을 때 유저들의 플레이에 문제가 없어야 한다는 것이 기본이야. 보통 게임의 퀄리티라고 하면 게임의 재미적인 부분이나 눈으로 쉽게 판단이 가능한 그래픽 쪽을 생각하기 쉬운데, 기능들이 버그 없이 동작하는 것도 매우 큰 영역이야. 그래서 클라이언트 프로그래머는 기획서를 그대로 구현하는 것이 아니라, 유저가 플레이하면서 해당 기능을 이용할 때, 버벅대거나 오동작이 발생하지 않도록 해야 하지. 

“개발하는 직군” 
결국 클라이언트 프로그래머는 기획서의 내용을 여러 방법을 통해 버그 없이 구현하는 직군인거지.

PART2. 그럼 현업에서는 어떻게 일하나요?


기본적으로 앞서 말했듯이 기획서를 보고 설계하고 구현해서 유저가 즐길 수 있는 수준의 완성도를 만들어 내는 일을 현업에서 해. 하지만 실제 코딩을 하는 작업은 전체 작업 비중에서 크지 않은 편이야🤣 현업의 클라이언트 프로그래머는 많은 시간을 기획자나 유관부서 담당자들과 커뮤니케이션을 하거나 회의를 하는데 할애하게 돼. 

클라이언트 프로그래머는 기획서의 내용을 구현해야 하지만, 그렇다고 해서 기획서에 질문을 갖지 말라는 뜻은 아니야. 보통 기획자가 기획서를 작성하고 나면 프로그래머들에게 공유하는 리뷰 회의를 진행하게 되는데, 이때 클라이언트 프로그래머는 기획자의 의도에 맞는 기능을 보다 정확하게 구현하기 위해서 기획서를 보고 여러 가지 질문을 하는 시간을 갖게 돼. 또한 구현 도중에도 질문이 발생할 수도 있는데, 이때마다 담당 기획자에게 질문을 하며 기능의 완성도를 높여가. 또한 구현하는 과정에서 그래픽, UI, 서버 프로그래머들과 합을 맞춰나가야 하기 때문에 서로 진행 상황을 체크해가며 협력해서 일해야 하지. 유관부서와의 협력은 현업에서 필수적이기 때문에 코딩만큼이나 중요한 과정이고 작업이야. 

또한 완성도를 위해서 문제가 발생했을 경우 원인 분석을 하는 일들의 비중이 높아. 유저에게 서비스되는 게임이기 때문에 작고 사소한 문제라도 그 원인을 찾아서 해결해야 해. 또한 현업에서는 여러 명의 프로그래머가 같이 작업하기 때문에 임시방편으로 넘어가는 게 아니라 정확한 원인을 파악하고 근본적인 해결책을 찾아내야 한다는 것. 

PART3. 무엇을 준비해야 하죠?

#1 전문 기술과 지식
당연히 프로그래밍 기술을 갖춰야겠지? 모바일, PC 등 게임이 지원하는 플랫폼에 따라서 조금씩 다르지만 기본적으로 C언어는 필수야. 전공이 컴퓨터 공학이라면 학과 커리큘럼에 포함된 내용을 충분히 이해할 수 있는 정도의 지식은 갖추자. 그리고 엔진에 대한 지식도 준비할 필요가 있어. 언리얼이나 유니티 엔진 사용에 있어서 기초적인, 초보자들이 사용하는 수준까지는 충분하게 익혀두는 것이 좋아. 엔진에 대한 이해도가 있다면 실제로 일을 시작하게 되었을 때 어떤 식으로 일을 하게 될지, 그리고 어떤 플로우로 작업 순서를 다듬어 가야 할지에 대해 생각하기 더 쉬워진다는 점 꼭 염두에 두기 바라. 

“기초를 탄탄히”

기술적인 부분들은 면접단계에서도 당연히 물어보는 것들이기 때문에 준비가 필요한데, 신입에게 엄청 어려운 걸 물어보지 않으니까 기초적인 부분만 준비해도 충분해. 대신 이런 기초적인 것들은 인터넷에 검색만 해도 다양하게 나오니까 그 개념들을 정확하게 준비하자.

프로그래머의 전문 기술과 지식은 하루아침에 준비되지도 않고, 현업에 안착했다고 해서 공부를 그만할 수 있는 것도 아니야. 오히려 현업에서 일하는 것이 시작점이기도 하지. 엔진이 계속 업그레이드되고 새로운 기술이 나오는 만큼 끊임없이 계속해서 공부해야 해. 이 점 꼭 명시해둬. 
#2 경험
게임 업계는 기술이 개인에게 쌓이는 곳인 만큼 경험이 무기가 돼. 그러다 보니 게임을 개발하는 직군에게 가장 필요한 건 게임을 개발해본 경험이야. 독학이라면 공개되어 있는 무료 애셋 등을 이용해서 직접 제작하여 개발 경험을 얻을 수 있고, 조 모임이나 동아리를 통해 팀을 꾸리게 되었다면 여러 사람들과 협업하며 개발하는 경험을 얻을 수 있어. 

“경험이 무기”

게임을 직접 만들어보는 과정에서 너무 작은 부분에 집착하지 마. 조금 더 예쁜 코드를 짜기 위해서, 흠결 없는 기능 구현을 위해서 다음 단계로 나아가지 못하고 그만두거나, 너무 스케일 큰 게임에 도전해서 지쳐서 그만두는 것 보다는 완성을 목표로 가볍고 개발 공수가 적은 캐주얼이나 퍼즐류 게임을 만들어보는 것을 추천해. 또 개발을 하는 과정에서 전반적인 과정을 이해하는 데 중점을 두도록 해봐. 

게임을 중간까지만 만들고 그만두는 것과 끝까지 완성하는 것은 전혀 다른 종류의 경험이기 때문에 힘들어도 꼭 완성해보길 바라. 그 과정이 쉽지는 않겠지만 그 고단함을 속에서 배우는 게 많을 것이고, 그 경험을 통해 개발과정에 대한 이해도를 높일 수 있어. 또, 만일 출시까지 하게 된다면 개발 이후 라이브 서비스를 경험할 수 있기 때문에 시야를 넓히는 기회가 될 수도 있어. 

이런 경험들은 실제 면접 시에도 좋은 평가를 이끌어 낼 수 있고, 실무에도 쉽게 적응할 수 있는 큰 원동력이 되어 줄 거야.  
#3 소프트 스킬
프로그래머라고 해도 간과해서는 안 되는 것! 바로 소프트 스킬! 
#1의 전문 기술과 지식을 하드 스킬이라고 부른다면 소프트 스킬은 커뮤니케이션 능력, 리더십, 책임감 등의 소양을 의미해. 

  • 누구도 빠져나갈 수 없는, 커뮤니케이션 능력

게임은 다양한 직군들과 한 팀이 되어 만드는 종합예술이기 때문에 결국 현업에서는 협업을 기반으로 일을 하게 되고, 이 부분은 스튜디오나 개발팀 소속이라면 누구도 피해 갈 수 없어. 

아내 : 우유 두 개 사 와. 
남편(개발자) : 그리고?
아내 : 만약 마트에 달걀이 있으면 여섯 개 사다 줘.
귀가한 남편. 아내에게 우유 여섯 개를 건넨다.
아내 : 왜 이렇게 우유를 많이 샀어?
남편(개발자) : 마트에 달걀이 있어서...

인터넷에서 이런 밈 본 적 있지? 커뮤니티 등지에서 프로그래머의 커뮤니케이션 방식을 유머로 소비하는 경우가 많은데 유머는 유머일 뿐. 유머 속의 프로그래머의 모습을 보며 위의 밈과 같은 프로그래머의 커뮤니케이션 방식을 특성으로 간주하고 현업에서도 괜찮다고 생각하지 말자.

클라이언트 프로그래머도 끊임없이 유관부서 담당자들과 커뮤니케이션을 해야 하기 때문에 다양한 사람들과의 커뮤니케이션 능력은 꼭 필요해. 만일 이 부분이 부족하다면, 하드 스킬보다 개발하는데도 시간이 오래 걸리고 발전시키기 어려운 능력인 만큼 준비과정에서부터 신경을 쓰는 것이 좋아.

다른 사람들과 팀으로 게임 개발을 해본 적이 있다면 본인이 협업을 할 때 어떤 모습을 하고 있었는지, 그리고 그 모습이 다른 사람에게 어떻게 보였는지 다시 되짚어보고 더 나은 모습으로 협업을 하려면 어떻게 해야 할지 고민하고 개선해보자.

  • 퀄리티에 영향을 주는 꼼꼼함과 책임감

또 다른 소프트 스킬로는 꼼꼼함과 책임감이 있어. 이 꼼꼼함과 책임감은 클라이언트 프로그래머가 구현하는 기능의 퀄리티에 영향을 주기 때문에 상당히 중요한 영역이야. 만일 자주 깜박하거나 덜렁거리는 성격이라면 그런 부분을 보완할 수 있도록 두세 번 체크하는 습관을 들이거나 메모하는 습관 등을 만들어 보자. 참고로 이런 꼼꼼함은 이력서의 오타나 맞춤법 그리고 서류 등에서 단면적으로 확인되는 경우가 많으니 꼭 서류 단계에서부터 잘 챙겨. 

책임감은 그러면 어떻게 키우냐고? 게임을 끝까지 완성해 본 경험, 팀원들과 싸웠지만 프로젝트를 끝까지 끌고 가본 경험 등 무언가를 완수하기 위해 노력한다면 책임감이라는 게 어떤 건지 알 수 있을거야. 또한 그런 경험들은 면접과정에서도 책임감 있는 모습으로 충분히 보일 거고.

  • 레벨 업 부스팅, 도전 정신!

실은 신입 개개인들의 기술과 지식들은 크게 차이 나지 않는 편이야. 입사 이후 2-3년 차에 실력이 좌지우지되는데, 이때 빠르게 성장하고 싶다면 새로운 것에 도전하는 자세, 도전정신을 갖추는 것이 중요해. 끊임없이 새로운 것, 어려운 것에 도전해봐야만 실력을 늘릴 수 있어. 게임업계는 경험이 무기라고 이미 말했지? 새로운 것에 도전해본 자만이 많은 경험을 가져갈 수 있을 거야. 
💬 어디서나 빠지지 않는 소통! 더 자세히 알고 싶다고?
커뮤니케이션, 즉 소통에 대한 이야기는 오늘의 로딩팁 2호 “취업공고 뽀개기 #1. 소통”에서도 한차례 다뤘으니 한번 확인해보자. 바로 가고 싶다면 여기를 클릭

PART4. 마지막으로 팁이 있다면...?

🏃 면접에서 질문에 대해 오답을 말해도 상관없어. 다만 그 근거가 명확해야 해. 내가 어떠한 이유와 논리로 이러한 결정을 내렸는지를 잘 설명할 수 있어야 하지. 

🏃 입사 이후, 프로그래머 특성상 1인분의 역할을 하기까지 오랜 시간이 소요될 수 있어. 실제로 1-3년 사이에 그만두는 경우가 상당히 많은데, 너무 스트레스 받지 말고 자신을 잘 돌보면서 일하자! 

🏃 2D와 3D, RPG와 퍼즐 등 게임의 장르와 그래픽에 따라서 요구되는 경험이나 기술이 달라져. 그러니 자신이 향후 어떤 게임의 개발에 참여하고 싶은지 잘 생각하며 프로젝트를 선택하고 해당 커리어를 목표로 기술과 경험을 쌓자. 
이번 주의 PICK
둠 이터널
67,000 → 16,750 (75%↓) 
악마가 보이나요? 찢으세요!
좀비가 보이나요? 죽이세요!
짜릿한 고어 FPS!
세키로 : 섀도우 다이 트와이스
59,800 → 38,870 (35%↓) 
악명 높은 다크소울 개발사의 액션 어드벤처!
요새 심심했다고요?
하드코어 액션 맛집에 도전해 봅시다.
주목!
데브컴 컨퍼런스 (유료. 8/23~27)
유럽 최대 규모 개발자 컨퍼런스. '라쳇 앤 클랭크: 리프트 어파트' 인섬니악 게임즈의 VFX 아티스트인 제나 루스, '파 크라이6'의 내러티브 디렉터인 나비트 카바리 등 유명 인사들이 초빙되었다. 
넷마블 몬스터 신작 프로젝트 Bigcat 전직군 채용 중 (~마감 시)
기획 : 전투 기획, 컨텐츠 기획, 시스템 기획, 레벨 기획, 설정 기획 신입/경력 채용 중
아트 : 배경 컨셉 디자이너 신입/경력 채용 중
마치며
🦊 화군 : 실은 클라이언트 프로그래머는 PM이나 기획자와는 달리 필요한 기술과 능력, 그리고 하는 일이 명확해서 이런 설명이 필요할까 고민을 많이 했어. 하지만 현업은 언제나 지망생과의 예상과는 다르기 마련이라 이렇게 현직자들을 인터뷰해서 클라이언트 프로그래머라는 직군을 소개해봤어. 많은 도움이 되었길 바라!
💌공지사항
오늘의 로딩팁 발행 주기가 변경되었습니다.

(기존) 격주 금요일
(변경 후) 매월 15일, 30일 AM 7:00

다음 레터는 재정비 후
9월 15일 수요일 오전 7시에
발행 예정입니다.
TIP10까지 함께해 주신 구독자분들께
무한한 감사의 말씀을 드립니다!
우리 50화까지 또 함께해요😏

오늘도 레터가 맘에 들었다면? 오늘의 로딩팁 SNS 구독하기!

노션 💌 오늘의 로딩팁과 발행 정보를 한 눈에 확인하고 싶다. 
트위터 💬 발행 된 레터 내용의 요약본과 비하인드 스토리가 궁금하다.
인스타그램 💗 각종 회사의 모집 공고, 주요 게임 뉴스 등을 쉽게 알고 싶다.
네이버포스트 🍀 기존에 발행 된 레터를 좀 더 편리하게 다시 보고 싶다.
오늘의 로딩팁을 만드는 사람들
🐸 시닝 짜장면VS짬뽕, 나루토VS사스케, 황밸에서 희열을 느끼는 밸런스 기획자
🐧 두식 시스템 가동, 준비 완료! 열심히 노력하는 개발실 지킴이
🦊 화군 이제는 더 이상 풀HP로 회복안되는 PM. 언제나 상태 이상
🐬 뉴미 매일이 퀘스트! 적응하기 바쁜 개발실 새내기!
발행인 오늘의 로딩팁
이메일 주소 admin@loadingtip.com

stibee

이 메일은 스티비로 만들었습니다