Spiele Programmiererd [ʃpiːl proɡraˈmiːrɐ]는 게임 프로그래머(Game Programmer)에 대응하는 독일 단어이다. 나는 최근 블로그의 명칭을 GitHub Pages와 Jekyll에서 default로 설정한 “Sungkuk Park’s blog”에서 해당 독일 단어로 바꾼 바 있다. 사실 “게임 프로그래머”나 “Game Programmer”나 “Spiele Programmierer”나 일상어로서는 큰 차이가 없을 것이다. “게임 개발을 위한 프로그래밍 관련 지식을 알고 있고 이를 실제 프로젝트에 적용할 수 있는 사람” 말이다. 해당 단어를 검색하는 과정에서 찾은 독일어 사이트인 https://www.spieleprogrammierer.de/에서도 “C++ für Spieleprogrammierer”이나 “3D Spieleprogrammierung”라는 키워드를 첫 페이지에서 바로 발견할 수 있었다.

그러나 나는 이 용어를 굳이 독일어로 바꾸어 나와 내 블로그를 부르는데 사용한다. 우선 “게임”과 “Games”와 “Spiele”이 엄밀하게 같은 범주의 대상을 지시하고 있다고 믿기 어렵기 때문이다. 언어에는 여러 가지 뉘앙스와 용법 상의 맥락이 작용한다. 우리는 일반적으로 축구나 야구와 같은 대상을 “게임”이라고 자주 부르지 않는다. 반면, 영미권에서는 게임을 주로 “Video games”라고 부른다. 한국에서 게임을 “비디오 게임”이라고 고쳐 부르는 사람이 있다면 그는 영미 게임 관련 텍스트의 영향을 받은 것이다. 또한, 한국어에서 “게임”은 된소리로 시작해 “께임”이라고 발음한다. 그것이 영미권은 물론 일본에서도 “게임” 내지 “ゲーム”라고 예사소리로 시작하는데도 말이다. 그래서 나는 그 세 가지, 또는 그 이상의 “게임”을 일컫는 단어의 의미 상의 차이를 환기하고 싶었다.

두 번째로, 내가 이 용어를 독일어로 바꿔 부른 이유는 내가 다른 대다수의 게임 프로그래머들과는 다른 경로로 게임을 선택했고 또 프로그래밍을 선택했기 때문이다. 나는 “전산학(Computer Science)”를 전공한 적이 없다. 학부에서 미대 부속 문학 학위인 “예술학과”를 전공했고, 20대 중반까지 전산학 관련 수업을 듣거나 코드라고 할 만한 것을 작성한 적이 한 번도 없다. 단지 20대 중반에 백수로 게임에 빠져 지내다가 혹시나 내게 맞지 않을까 하는 심정으로 게임 학원에 등록해 프로그래밍을 배운 것이 전부이다. 같이 공부하는 친구들 가운데 정말 개발 내지 프로그래밍을 즐기는 친구들이 있었다. 하지만 나는 그들과 다르다. 그들은 게임이 아니더라도 프로그래밍을 계속 하겠지만, 나는 게임을 만들 수 없다면 프로그래밍을 그만 둘 것이다. 그래서 나는 내가 게임 프로그래머가 아니라 게임 프로그래머라는 사실을 의식할 수 밖에 없다. 그래서 내게 익숙한 한국어나 영어가 아니라 낯선 독일어인 “Spiele”을 선호한 것이다.

웹 개발자 로드맵 2018이라는 Github 저장소가 있다. 독일 베를린에 거주하는 Kamran Ahmed라는 개발자가 어떤 자신의 가치를 높이고 자신이 무엇을 공부해야 하는지에 대해 순서도(flowchart)로 일목요연하게 정리한 것이다. 이 순서도는 프론트엔드, 백-엔드, 데브옵스라는 세 가지 갈래의 커리어 패스(career path)를 구분해 기술하고 있다. 게임 프로그래머도 마찬가지일 것이다. 애초에 게임 학원에서는 “클라이언트(client)”와 “서버(server)”라는 분산 컴퓨팅(Distributed computing) 모델 관점에 근거한 분류로 학생들을 나누고 따로 교육 시킨다. 이게 얼마나 옳은 교육 모델인지를 떠나, 어떤 게임 프로그래머라도 그 자신이 어떤 프로그래머가 될 것인지 때때로 고민해야 한다. 그리고 나의 경우에도, 물론 프로그래머로서 기본적인 능력을 갖추는 것이 최우선이지만, 이후에는 어디에 선택하고 집중할 것인지 결정할 수 밖에 없다.

더불어, 프로그래머는 당연히 인간이기도 하다. 내가 만난 대부분의 프로그래머들은 대부분 기술로 이루어진 엔지니어일 뿐만 아니라 각자 약점과 결핍을 안고 사는 사람들이었다. 어떤 사람은 자신감이 아주 강하고, 어떤 사람은 연애에 매우 약하고, 어떤 사람은 동료를 인격체로 대하는데 어려움을 겪었다. 그리고 무엇보다, 그들을 하나로 묶어주는 프로그래밍 이외에 매우 다양한 가치관과 업무 이외의 활동들을 영위하는 이들이었다. 따라서 하나의 프로그래머는 자신이 어떤 사람이고 어떤 삶을 살고 싶은지에 대해서도 결정해야 한다. 대부분의 시간을 원격으로 근무하며 face-to-face 커뮤니케이션과 격리된 상태로 살 수도 있고, 다양한 다른 개발자들과 교류하며 사는 방식도 있을 것이다. 어느 쪽이든 각자의 삶이 의미있는 방향으로, 자신이 원하는 방식으로 살아야 할 것이다.

그래서 나는 어떤 프로그래머이자 인간이 될 것인가? 우선 내가 되고 싶지 않은 경우들을 나열해보자. 나는 게임이든 다른 분야이든 특정 기술”만”을 아주 깊이 이해하는 기술 전문가(technical specialist)가 되고 싶지는 않다. 심지어 사회에서 그 포지션이 금전적으로 더 보상이 크다고 해도 내가 원하지 않는다. 그리고 나는 회사라는 조직 형태에 속해 회사가 풀기 원하는 문제”만”을 해결하는 사람이고 싶지도 않다. 그렇다면 나는 도대체 어떤 프로그래머(인간)가 되고 싶은가? 잠정적인 결론을 내자면 나는 게임만을 위해 내 모든 자원을 투자하고 나 자신의 성장과 조직의 성장을 이끌어 내는 Spiele Programmierer가 된다. 게임 이외의 결과물에는 관심이 없다. 물론 어떤 기술이 게임 산업에 기여하게 될 지 예측 가능한 인간은 어디에도 없다. 때문에 나는 프로그래밍의 기초와 새로운 기술 이해에도 관심을 가져야 하는 것이다. 구체적으로 어떻게 Spiele Programmierer가 될 것인가? 이는 내 삶으로 증명해 나갈 문제일 뿐이다.

<끝>