현재 대학 4학년에 재학 중인 학생입니다. 고등학생 때부터 유니티를 다루어와서 대학에 와서 VR이나 게임 등을 개발하는 활동하고 있습니다.
©Vinicius "amnx" Amano
1. 유니티를 다룬다고 하지만 유니티에 있는 기능을 사용하는 수준입니다. 이것만으로는 취직은 어려워 보이는데 더 어떤 것을 공부해야 할까요?
2. 클라이언트 게임 개발자가 목표입니다. 멘토님 이런 경우 컴퓨터그래픽스를 공부하는 게 도움이 될까요? Open GL을 생각하고 있습니다.
3. 신입 필수 역량이란 게 있을까요?
미래가 걱정되고 불안합니다. 멘토님의 조언을 듣고 싶습니다!
안녕하세요.
클라이언트 게임 개발자를 목표로 공부하고 있군요. 게임 개발자가 되기까지 여러 난관이 있겠지만 하나씩 해결하다 보면 충분히 실현 가능한 꿈입니다. 미래는 누구나 불안합니다. 불확실성이 가득하니까요. 어떤 방향으로 가야 할지 가이드라인이 세울 수 있다면 불안이 기대감으로 바뀔지도 모르겠네요. 각설하고 질문에 대한 답변을 드리도록 하겠습니다.
‘유니티를 다룬다는 건 어떤 의미일까요?’ 면접장에서 이런 질문이 나온다면 답하실 수 있을까요? 클라이언트 프로그래머는 유니티의 기능을 활용해서 C#으로 구현을 하는 일을 합니다.
다시 정리하면 유니티의 활용도 역량을 평가하는 중요한 항목이지만 우선순위가 더 높은 기술은 코딩이지요. C#, C++과 같이 객체지향 언어의 활용 능력이 더욱 중요하다고 볼 수 있습니다.
그뿐만 아니라 학부 기초 소양인 자료구조와 알고리즘도 중요합니다. 요즘은 기업에서 코딩 테스트를 서류 다음의 채용 과정으로 넣고 있어서 꾸준히 공부해야 할 항목이 아닐까 싶네요.
클라이언트 개발자라는 직군에도 포지션이 다양합니다. 엔진을 다루는 흔히 말하는 그래픽스 프로그래머와 게임의 요소를 구현하는 콘텐츠 프로그래머로 나뉘기도 합니다.
그래픽스는 OpenGL이든 DirectX이든 상관없습니다. 어느 것이든 공부하며 그래픽스의 기본 소양을 쌓으면 됩니다. 거기에 쉐이더까지 공부하면 더욱 좋겠네요.
콘텐츠 프로그래머는 게임의 기능인 아이템, 길드, 업적 등 UI, UX와 관련된 업무를 담당합니다. 여기에 필요한 NGUI, UGUI의 컴포넌트 사용법을 익히고 기능을 확장하는 경험을 쌓는다면 좋은 결과가 있을 것 같습니다.
©Lee Campbell
그래픽스를 공부하려면 선형대수는 필수입니다. 벡터와 행렬, 삼각함수를 모르는 상태에서 물체의 이동과 회전, 스케일의 값을 제대로 구하기가 쉽지 않을 겁니다. 학부 수업에서 배우는 이산수학도 도움이 될 겁니다. 시간이 흘러 이제 책 추천은 어렵고, 유튜브, 구글 등에서 선형대수 공부 방법을 한 번 찾아보면 어떨까요?
으레 그렇듯 신입에게는 많은 것을 기대하지 않습니다. 학부에서 배운 기초 지식과 문제 해결 능력이 어떤지 파악하는 데 집중합니다. 네트워크, 운영체제, 객체지향 프로그래밍, 자료구조, 알고리즘, 코드 컨벤션. 싱글턴, 옵저버 패턴 등등. 학부에서 전공 과목으로 배운 내용을 얼마나 충실히 수행했는가를 묻습니다.
여기에 경쟁력을 더하려면 기본 지식을 바탕으로 실제 유니티로 프로젝트를 진행했는지가 관건이겠네요. 프로젝트를 진행했다면 혼자 했는지, 아니면 다른 학생들과 함께 팀을 이루어서 진행했는지 묻겠죠. 그 과정에서 어떤 어려움이 있었고 어떻게 문제를 해결했는지, 구현 과정뿐만 아니라 커뮤니케이션에서 문제가 없었는지도 중요하게 체크할 겁니다.
아마 면접장에서 이 질문을 받는다면 기억나는 게 없을 지도 모릅니다. 그러니 더욱더 GitHub를 이용해서 자신의 코딩을 업로드하고 그에 관련된 일지를 쓰는 습관을 들이셨으면 좋겠습니다. 취업에 분명 도움이 되리라고 생각합니다.
앞으로 남은 1년 반의 시간은 취업을 향해 나아가는 순간일 겁니다. 그러나 취업이 끝나도 커리어가 끝나고 인생이 끝나는 건 아닙니다. 학습 습관을 제대로 만들어 놓으면 대기업에 취업하지 못했다 하더라도 다음을 도모할 수 있습니다. 그 습관이 불안함을 잠재울 겁니다. 시작하는 이 순간을 응원합니다.