14년째 게임 프로그래머로서 일을 해오면서 여러 사람들에게 게임 프로그래머가 되려면 어떻게 해야하나? 뭘 공부해야 하나? 이런 질문을 많이 받았다.
이 질문에 대한 대답이 시간이 지날수록 계속 변화하다가 몇년 전부터는 일관된 답변을 할 수 있게 되었는데, 그 답변은 바로
'국,영,수를 중심으로 공부하라는 것이다.'
국어가 필요한 이유는 프로그래머라는 직업이 일반일들에게 비추어지는 것과 다르게 대단히 소통이 중요한 직업이기 때문이다. 무언가를 만들기 위해서 그 무언가에 대한 이해가 충분해야 좋은 소프트웨어를 만들 수 있기 때문에 그 무언가를 이해하기 위해서 당연히 소통은 필수 불가결이다. 또한 내가 생각하고 있는 해결방법을 다른 프로그래머에게 설명할때도 마찬가지다.
회사에서 일을한다는 것은 저비용 고효율이 목표이기 때문에 이러한 소통에서 문제가 생겨서 시간이 늘어난다는 것은 게임 개발처럼 인력 중심의 업종에서 당연히 제작비 증대로 이어지므로 소통의 능력이 뛰어나다는 것은 비용 절감의 핵심이라 할 수 있다.
따라서 국어를 공부하는 것은 중요하다. 물론 학교에서 국어 공부를 하는 것처럼 공부를 할 필요는 없다. 가장 좋은 공부 방법은 책을 많이 읽는 것이다. 전공서 이외의 서적을 많이 읽다보면 자신도 모르게 어느새 말하는 능력과 상대방의 말을 이해하는 능력이 향상되고 있다는 것을 느낄 수 있을 것이다. 일년에 50권 4년 동안 200권의 책을 읽으면 자기 스스로 느낄 수 있을만큼 달라져 있을 것이다.
영어가 중요한 이유는 당연히 전산학을 선도하는 나라가 미국이고 미국의 모국어가 영어이기 때문이다. 최근에는 Know How가 아니라 Know Where라는 말이 있을 정도로 무언가를 개발하기 위해서 필요한 지식들을 인터넷에서 구하기 쉽다. 그렇지만 대부분의 문서가 영어이므로 영어를 잘하는냐 못하느냐는 발전의 속도를 결정하는 중요한 요소이다.
영어의 공부 방법에 대해서는 말을 해줄 수 있는 것이 없다. 스스로도 아직 영어가 많이 부족한데 영어 실력의 향상을 가져다준 방법을 찾지 못했기 때문이다.
수학이 중요한 이유는 당연히 컴퓨터가 수리논리학에 의해서 탄생된 논리 기계이므로 그 근간을 이해하는 것이 무엇보다 중요한 것이다. 또한 게임 프로그래머로서 클라이언트 프로그램이나 3D 엔진 프로그래밍을 하고 싶다면 그 분야의 도메인의 핵심이 기하학, 선형대수, 해석학등 수학이기 때문이다.
수학 공부의 가장 좋은 방법은 역시 문제를 푸는 것이다. 문제를 풀기 위해서는 당연히 그 문제에 포함된 수학의 정리와 정의에 대한 이해가 있어야하고 어느 순간에 그 정리와 정의를 적용할 것인가에 대한 직관력을 키워주기 때문에 실제 프로그램 문제를 해결할 때도 많은 도움을 준다.
이상이 좋은 게임 프로그래머가되기 위해서 공부해야할 것들에 대한 나의 대답이다.
댓글 없음:
댓글 쓰기