CodePoet / Essay
프로그래머가 그림을 배우는 방법1 / 1

머릿속에서 MSA는 그려지는데 고양이는 안 그려진다

MSA라는 말엔 설계도가 펼쳐지는데, 고양이라는 말엔 색도 질감도 없는 흐릿한 형체 하나만 뜬다는 걸 알아챈 날의 기록. 딸은 오만가지 고양이를 재잘거리는데, 나는 언제부턴가 세상을 요약만 하고 있었다 — 좋아한다는 게임조차 뜯어본 적 없이 심볼로 봤다. 설계도가 선명하고 고양이가 흐릿한 건 재능의 배치가 아니라 시간의 배치였다. 개발을 배우던 방식을 그대로 옮긴다 — 많이 보고, 역기획서로 뜯어보고, 직접 그린다. 끝그림은 나만의 그림체로 내 것을 만드는 것. 시리즈 '프로그래머가 그림을 배우는 방법' 1편.
2026-08-22 · 1회 읽음
그림깨달음감각배움시각화시리즈1편

전기가 오는 순간

개발 공부에는 두 종류의 이해가 있다. 어떤 주제는 읽자마자 붙는다. 어떤 주제는 통 붙지 않는다. 일주일을 보고, 이 주를 보고, 한 달을 봐도 안 붙어서 결국 덮어둔다. 그런 것들은 한참 지나서 온다 — 다른 대화를 하다가, 일을 하다가, 딸과 놀다가. 빡, 하고 전기가 오듯이. 아, 이거였나.

지금 이 글을 쓰는 게 바로 그 순간이다.

고양이가 안 그려진다

"MSA"라는 말을 들으면 머릿속이 바쁘다. 서비스 경계가 그어지고, 사이사이 큐가 놓이고, 설계도가 펼쳐진다. "devops"도 그렇다. 파이프라인이 흐르고 배포가 구른다. 구체적이고, 선명하다.

그런데 "고양이"라는 말을 들으면 — 흐릿한 형체 하나가 뜬다.

색이 없다. 털의 질감이 없다. 앉았는지 섰는지도 없다. 고양이라는 개념을 가리키는 표지판 같은 것 하나. 그리는 법은 더더욱 떠오르지 않는다. 나는 오래도록 이게 이상한 줄도 몰랐다. 내 머릿속 고양이는 고양이가 아니라 심볼 고양이였다.

딸은 다르다. 고양이 얘기가 나오면 옆에서 재잘거림이 시작된다. 이 고양이, 저 고양이 — 오만가지 고양이가 그 머릿속에는 다 살고 있다.

사진 찍듯 기억하던 아이

그 재잘거림을 듣다가 기억 하나가 딸려 나왔다. 어릴 적의 나는 뭔가를 보고 나면 사진을 찍듯이 기억했다. 부모님이 놀라셨다. 공부도 그렇게 했다 — 이해가 아니라 통째로 찍어서. 그래서 걱정도 같이 들었다. 이해를 해야지, 그렇게 외우면 안 된다.

그 감각이 언제 없어졌는지는 모른다. 어느 순간부터 나는 세상을 찍지 않고 요약하고 있었다. 고양이는 심볼이 되었고, 설계도만 선명해졌다.

딸은 저 감각을 잃지 않았으면 좋겠다는 마음이 먼저 들었다. 그 뒤에 다른 마음이 바로 붙었다. 나는 잃어버린 그 감각을 다시 살리고 싶다.

판 적이 없었다

그림 그리기 책을 펼친 적이 있다. 아무리 친절하게 가르쳐줘도 아, 모르겠는데 하고 덮었다. 오래 책 탓인 줄 알았다. 이번에 전기가 오면서 같이 온 답은 달랐다. 내가 공부를 안 했고, 직접 해보지 않았다.

개발 공부는 죽어라 판다. 모르면 진짜 한참을 본다. 일주일이 걸리든 한 달이 걸리든 판다. 그림은 판 적이 없다. 설계도가 선명하고 고양이가 흐릿한 건 재능의 배치가 아니라 시간의 배치였다.

(뿌옇게 읽어도 된다에서 뿌연 건 실패가 아니라 아직 안 채워진 칸이라고 적었다. 고양이 칸은 — 채운 적이 없는 칸이었다.)

메카닉만 생각했다

왜 이제 와서 그림인가. 결국 나는 내가 생각한 것을 또렷하게 구체화해서 세상에 내놓고 싶은 사람이다. 돈이 되냐 마냐는 잘 모르겠다. 그게 나의 방향이다.

게임회사에 들어갈 때도 막연히 그랬다. 내가 생각한 게임이 떠오르면 다 만들 수 있는 사람이 되어야지. 누가 만들고 싶은 게임을 말하면, 말만 듣고도 다 만들어주는 사람. 하다 보니 게임만으로는 안 됐다. 서버가 필요하고, 운영이 필요하고, 에디터, 툴, 엔진. 기획, 개발, 디자인, 운영, 사업 — 회사가 굴리는 거대한 축들을 하나씩 이해해 가며 여태 배우는 중이다. 내 안에 이걸 다 구겨넣어야 한다.

그런데 사람들은 시각에 가장 먼저 매료된다. 시각, 그리고 청각. 정작 나는 개발만 해와서 거기가 제일 약하다. 화면 뒤의 메카닉만 생각했다.

게임도 그랬다. 나는 게임을 좋아한다. 그런데 좋아한다면서, 정작 제대로 들여다본 적이 없다. 이 시스템이 왜 이렇게 맞물려 돌아가는지, 이 화면이 왜 이 색이고 이 연출인지 — 뜯어본 적이 없다. 플레이하고, 감탄하고, 지나갔다. 고양이만 심볼이 아니었다. 게임도 심볼이었다.

이게 효율적이냐고 물으면 모르겠다. 지금껏 효율을 따져서 방향을 정해본 적이 별로 없다. 해야겠다는 마음이 먼저 있었고, 그렇게 살아왔다.

능력치 상한을 적은 건 나였다

대학 때 후배 하나가 그림을 직접 그려서 게임을 만들었다. 그리던 걸 계속 그리더니 3D 모델링도 직접 했다. 결과물이 대중적이지는 않았다. 대신 그만의 것이었다. 그때 나는 속으로 재단했다. 개발자는 아무리 열심히 해도 그림은 안 되는구나. 모델링도 한계가 있고.

이제야 그 마음을 뜯어보면, 재단만 있던 게 아니었다. 안타까움이 섞여 있었다. 언더독이라고 해야 하나 — 그런 노력과 의지를 가진 사람이 이기는 모습을 보고 싶었다. 결과물이 의지를 따라와 주지 않는 게 아쉬웠다. 그런데 그건 내 서사였지 후배의 것이 아니었다. 후배는 만족했을지도 모른다. 자기 것을 만들고 있었으니까. 스스로 행복했다면 그거면 된 거다. 그 의지는 지금도 존경한다.

그리고 그 아래, 이제야 보이는 게 하나 더 있다. 나는 해보지도 않은 채 평가부터 했다. 부끄러움이었다. 선을 그은 건 후배 쪽이 아니었다 — 시작도 안 한 채 능력치 창에 상한부터 적어넣고 산 건 나였다. 그때 나도 그렇게라도 시작했다면, 지금 공부할 폭이 조금은 좁았을 것이고, 아트분들과 나누는 대화도 조금은 쉬웠을 것이다. 그러니 지금은 일단 부럽다.

일단 많이 보기로 한다

사실 아트 공부를 어떻게 해야 하는지도 모른다. 방법부터 모르는 게 지금의 정직한 자리다. 그런데 가만 보면 나는 방법을 처음 찾는 게 아니다. 개발을 어떻게 배웠는지는 안다. 모르는 주제가 나오면 레퍼런스를 한참 읽었다. 남이 짠 코드를 뜯어봤다. 그리고 직접 짰다. 그대로 옮기면 된다.

많이 본다. 고양이의 색을, 털의 질감을, 앉은 모양을 — 요약하지 않고 오래 본다. 뜯어본다. 좋아하는 게임의 시스템을 역기획서로 적어 보고, 화면의 연출을 한 장면씩 뜯는다. 남의 코드를 읽으며 구조를 배우던 그대로. 그리고 직접 그린다.

끝그림은 멀리 있다. 나만의 연출, 나만의 그림체로 내 것을 만드는 사람. 감각이 있는지 없는지는 모른다. 해보면 알게 될 것이다. 어떤 주제는 바로 붙고 어떤 주제는 한 달이 걸리듯이, 이것도 언젠가 전기가 올 때까지.

일단 오늘은, 고양이부터 오래 보기로 한다.

이 글에 남긴 포스트잇0

아직 포스트잇이 없어요. 첫 자리를 남겨보세요.

이어 읽을 글
감정은 신호였다될지 안 될지 모르는 일을 기한 안에 해내야 하는 요즘, 가장 고약한 건 모르는 걸 모르는 상태였다. 사람에게는 AI에 없는 센서가 있다 — 감정이다. 화남·슬픔·억울함·감동은 내가 모르던 무언가가 근처에 있다는 신호이고, 모델이 loss로 배우듯 사람은 감정으로 모름을 감지한다. 감정을 신호로 읽기 시작하자 마음의 힘듦과 해야 할 일·해야 할 말이 갈라졌다 — 재촉하는 사람의 불안도 같은 신호였다. 그리고 사람도 환각한다 — 모른다는 걸 모른 채 아는 해법으로 문제의 본질을 덮는다. 부딪혀야 신호가 온다.지워도 되는 것위에서도 아래에서도 기대가 다 나에게로 모이는데, 목록의 한 줄도 자를 수가 없던 밤. 지울 게 없어서가 아니라 지워도 되는 게 뭔지 몰라서였다. 물속에서야 순서가 보였다 — 진작 못 자른 게 아니라, 이제야 자를 수 있게 된 것이었다.이제부터 나는 최맹보다홍명보가 화면에 'FIGHT' 한 단어만 띄우고 '싸워'를 반복하던 국가대표팀 다큐 장면이 밈이 됐다. 웃다가 뜨끔했다 — 명확한 결과물이 안 그려질 때 나도 팀 앞에 큰 그림 하나 걸어놓고 '싸워'라고 하고 있었으니까. 개발자로 살던 내가 리더가 되며 나를 버렸다. 홍명보가 2024년 취임 회견에서 '저는 저를 버렸습니다'라고 했던 것처럼(2014년엔 '대한민국이 날 버렸어'라며 버림받은 쪽이었지만). 옳게 짜인 구조보다 리소스 효율·목적·결과물로 판단하는 자리로 옮기자, 오래 나를 붙들던 꺼림칙함이 남았다 — 이거 이렇게 해도 되나. 분류학을 들여다보다 그 정체를 알았다. 그 불편함은 코드에 새겨진 진실이 아니라, 여러 자리의 시각을 한꺼번에 켜둔 채 아직 어느 축으로 결정할지 못 정한 상태에서 나는 잡음이었다. 이걸로도 되고 저걸로도 되는데 한쪽이 공수가 더 들면 동작하는 걸로 간다. 장기적 문제는 다른 축이 던지는 질문이고, 이 규모·이 시점 축에선 답이 이미 나와 있다. 다만 어떤 꺼림칙함은 잡음이 아니라 진짜 신호다 — 그 둘을 가려내는 게 지금 내 숙제다.
dev · 2026. 9. 20.