개발자가 미술관에 작품을 걸면 생기는 일

국립현대미술관에 내가 만들던 게임이 걸렸다. 정확히 말하면 내가 처음부터 만든 게임은 아니다. 내가 합류하기 전부터 오랫동안 만들어져 온 《서울 2033》이고, 나는 그 과정의 일부를 함께했다.
그래도 매일 모니터 속에서 보던 화면이 미술관의 한쪽 벽을 차지하고 있는 모습은 꽤 낯설었다. 개발자로 일하면서 내가 만든 것은 수없이 배포됐지만, 대부분은 업데이트 목록 한 줄이나 화면의 작은 변화로 남는다. 그렇게 만들어진 것이 물리적인 공간에 놓이고, 사람들이 그 앞에 멈춰 서서 바라보는 경험은 처음이었다.
익숙해서 더 이상 특별하게 보이지 않던 화면을 누군가는 하나의 작품으로 보고 있었다. 묘한 기분이었다.

한 사람의 불편함에서 시작된 변화
《서울 2033》이 전시에서 소개된 이유 중 하나는 모바일 접근성이었다. 시각장애가 있는 사용자도 스크린 리더를 이용해 게임을 플레이할 수 있도록 오랫동안 접근성을 개선해 온 사례였다.
그 시작은 거창하지 않았다. 게임을 플레이한 한 사용자가 스토어에 리뷰를 남겼다. 보이스오버 접근성을 조금만 더 고려해 달라는 내용이었다.
텍스트로 쓰인 이야기는 비교적 잘 읽혔지만, 체력이나 돈처럼 이미지로 표현된 정보는 그렇지 않았다. 누군가에게는 한눈에 읽히는 아이콘이 다른 누군가에게는 그저 '이미지'라는 정보로만 전달됐다. 같은 화면을 보고 있어도 모두가 같은 정보를 얻는 것은 아니었다.
돌이켜보면 당연한 이야기인데, 개발할 때는 의외로 쉽게 잊는다. 내가 볼 수 있고, 누를 수 있고, 이해할 수 있다는 이유로 다른 사용자도 비슷한 방식으로 제품을 사용할 것이라고 생각하게 된다. 사용자는 언제나 우리가 상상한 것보다 넓게 존재한다.
내가 회사에 합류했을 때는 이미 많은 부분이 개선된 뒤였다. 그래서 그 시작을 내 성과처럼 이야기할 수는 없다. 대신 그 과정을 알게 된 뒤부터 내가 화면을 보는 방식도 조금씩 달라졌다.
이미지는 어떻게 읽혀야 하는지, 포커스는 어떤 순서로 이동하는지, 모달을 열었을 때 스크린 리더가 무엇을 먼저 읽는지 직접 확인하기 시작했다. 접근성 도구를 켜고 화면을 확인하는 일이 특별한 작업이라기보다 개발 과정의 하나로 자리 잡았다.
기술적으로만 보면 대부분은 아주 작은 결정들이었다. 하지만 누군가에게는 그 작은 차이가 게임을 계속 플레이할 수 있느냐 없느냐를 가를 수도 있었다. 그 사실을 알고 나면 이전과 같은 방식으로 화면을 보기 어려워진다.
만드는 사람에게 보이지 않는 것들
접근성을 고민하면서 제품을 만드는 일이 조금 다르게 보이기 시작했다. 개발자는 자연스럽게 눈에 보이는 문제를 해결한다. 기능을 만들고, 오류를 고치고, 성능을 개선한다. 그런데 실제 사용자 경험은 눈에 잘 띄지 않는 부분에서 훨씬 쉽게 무너지기도 한다. 버튼 하나가 제대로 읽히지 않거나, 포커스가 예상하지 못한 곳으로 움직이거나, 화면에 존재하는 정보가 누군가에게는 전달되지 않는 것처럼.
이런 문제들은 제품을 만드는 사람에게는 잘 보이지 않는다. 직접 그 환경에 놓이지 않는 한 발견하기 어렵기 때문이다.
그래서 좋은 제품에 필요한 것은 모든 사용자의 상황을 처음부터 완벽하게 예측하는 능력이 아니라고 생각하게 됐다. 그보다는 내가 아직 보지 못한 사용자가 있다는 사실을 잊지 않는 태도에 가깝다.
한 번에 완벽한 제품을 만들 수는 없다. 대신 누군가의 불편함을 발견했을 때 그것을 예외적인 상황으로 밀어두지 않고, 제품이 조금 더 많은 사람에게 닿을 방법을 계속 찾을 수는 있다. 그 과정에서 제품의 경계도 조금씩 넓어진다.
미술관에서 다시 생각한 것

처음 개발자가 되고 싶다고 생각한 고등학생 때는 지금보다 이 직업을 단순하게 바라봤다. 기술로 무언가를 만들면 누군가의 불편함을 해결할 수 있다고 생각했다. 내가 만든 것이 사람에게 실제로 쓰이고, 그 사람의 경험을 조금이라도 바꿀 수 있다는 사실이 좋았다.
일을 시작한 뒤에는 그런 생각을 자주 하지 않게 됐다. 현실의 개발은 훨씬 구체적이다. 일정이 있고, 버그가 있고, 요구사항이 바뀌고, 배포가 끝나면 곧바로 다음 일이 시작된다. 그 과정 자체가 싫었던 것은 아니다. 다만 하루하루 해결해야 할 문제를 따라가다 보면 내가 왜 개발을 좋아했는지까지 생각할 여유는 많지 않았다.
그런데 미술관에서 《서울 2033》을 보고 있자니 오래전에 했던 생각이 문득 떠올랐다. 게임이 미술관에 걸렸다는 사실 때문만은 아니었다.
한 사용자가 자신의 불편함을 이야기했고, 누군가는 그것을 듣고 제품을 바꿨다. 그런 작은 결정들이 여러 해 동안 쌓이면서 이전에는 충분히 닿지 못했던 사용자도 같은 게임을 즐길 수 있게 됐다. 그리고 시간이 지나 그 과정 자체가 하나의 사례로 남았다.
그게 꽤 좋았다.
작은 결정들이 제품을 만든다
개발자로 일하다 보면 눈에 띄는 결과를 만들고 싶어진다. 큰 기능을 출시하고 싶고, 어려운 문제를 해결하고 싶고, 내가 한 일이 명확한 성과로 남기를 바라기도 한다. 물론 그런 일도 중요하다.
하지만 시간이 지날수록 실제 사용자 경험은 훨씬 작은 결정들의 합에 가깝다고 생각한다. 제대로 읽히는 한 문장, 자연스럽게 이어지는 화면의 흐름, 사용자가 망설이지 않아도 되는 인터랙션, 누군가에게는 보이지 않았던 정보를 보이게 만드는 작은 수정. 하나만 떼어놓으면 대단한 일처럼 보이지 않는다. 그래도 이런 결정들이 계속 쌓이면 결국 제품이 주는 경험이 달라진다.
Small currents shape the shore.
작은 흐름이 해안의 모양을 바꾸듯, 제품도 결국 매일 내리는 작은 결정들이 만든다고 믿는다.
개발을 오래 할수록 기술이나 성과보다 이런 순간들을 더 오래 기억하게 되는 것 같다. 내가 만드는 것이 누군가에게 조금 더 나은 경험으로 남는 것. 아마 내가 계속 이 일을 하고 싶은 이유도 거기에 가깝다.