(2025.10.19 작성)
저녁 산책을 다녀온 뒤, PC 게임에 몰두하고 있는 나를 보고는 아내가 놀리듯이 말한다.
"야구 안 봐? ○○가 지고 있구나?"
"아냐. 야구엔 관심 끊었어."
"에이 ○○가 지고 있으니까 화나서 그러는 거지?"
"아냐. 게임을 해야만 하는 이유가 있어서 그래."
"???"
선문답 같은 내 대답에 아내는 살며시 웃으며 저리로 가버린다. 사실 아내가 근거 없이 말한 것은 아니다. 평소의 나였다면 거실 소파에 눌러붙어 야구를 보고 있었을 것이고, 내 응원팀이 지고 있을 때는 역전을 기대하며 다른 프로를 보고 있었을 테니까. 지금은 TV를 아예 꺼버렸으니 내 응원팀이 아주 크게 지고 있으리라 오해할 만도 하다.
하지만 ‘게임을 해야만 할 이유가 있다’라는 내 대답도 터무니없이 한 말은 아니다. 나는 수일간의 고심 끝에 ‘야구를 보지 말고 게임을 해야겠다’고 결심했고, 지금 그 결심을 실천하는 중이기 때문이다.
그런데 궁금하지 않은가?
'나는 왜 게임을 해야만 했을까?'
그 이야기를 지금부터 해보려 한다.
난 예전부터 은퇴 후의 취미 활동으로 인공지능 바둑 프로그램을 개발해 보리라 생각하고 있었다. 사실은 꼭 바둑이 아니더라도 프로그램 개발이라는 취미를 갖고 싶었다. 왜냐하면 프로그래밍을 할 때의 몰입감이 좋았고, 프로그램을 완성했을 때의 성취감도 좋았기 때문이다. 물리학 박사 학위 과정 때 취미로 이런저런 유틸리티들을 개발했었는데, 그 당시 한 자리에서 24시간 넘게 작업하고도 단지 30분만 지난 것으로 착각할 만큼 몰입의 기쁨을 맛본 적이 있다. 또한 이들 중 한 프로그램으로 '대한민국 소프트웨어 공모대전'에서 입상도 했기 때문에 성취의 희열까지 느낄 수 있었다.
몇 년 전 드디어 나는 은퇴를 하게 되었다. 이에 그동안 마음속에만 담아두었던 프로그래밍을 시작해 보기로 했다. 하지만 프로그래밍과 떨어져 산 30여 년의 세월 동안 세상은 엄청 많이 바뀌어 있었다. 우선 프로그래밍 언어부터 새로 공부해야 했다. 또한 인공지능을 위한 머신 러닝도 공부해야 했다. 거기에다 코드 개발을 위한 낯선 시스템도 익혀야 했다.
하지만 나이 탓일까, 학습 능력이 예전과는 달랐다.
이해는 느리고, 기억은 금세 사라졌다.
열심히 공부해도 다음 날이면 모든 게 희미해져, 처음부터 새로 시작해야 했다. 예전에는 문제가 생기면 밤을 새워서라도 해결을 했는데, 이제는 한번 막히면 며칠씩 제자리였다.
결국 프로그래밍은 은퇴 후 가장 해보고 싶었던 꿈이었으나, 실제로는 가장 멀게 느껴지는 꿈이 되어갔다. 그렇게 시간은 흘러가기만 했다.
올해 초 다시 프로그래밍에 대한 도전 의욕이 꿈틀거렸다. 그런데 올해는 아예 PC 앞에 가는 것조차도 하지 못했다. 내게 자유 시간이 별로 없다는 것이 가장 큰 문제였다. 그런데 이상하다. 이미 은퇴를 했고, 외부 활동도 별로 없는데 자유 시간이 없다니. 하지만 실제가 그랬다. 새벽 6시에 시작되는 나의 하루는 너무도 빨리 흘러갔다. 아침에는 부엌에서 아내를 보조하느라 바쁘고, 낮 시간엔 초단타 주식 거래로 바쁘다. 오후에는 잠시 집안일을 보고 운동을 다녀오는데 그러면 어느새 저녁이다.
저녁 식사 후에는 아내와 산책을 한다. 가끔은 나가기 싫은 날도 있으나 아내가 가장 좋아하는 시간이라, 하루라도 거를 수가 없다. 이렇게 나의 하루는 밤 8시 반쯤에야 비로소 마무리된다.
드디어 자유 시간이다. 하지만 정작 아무것도 하지 못했다. 몸이 몹시 지쳐 있기 때문이다. 소파에 앉는 순간, 모든 것이 귀찮아진다. TV 리모콘만 만지작거리며 채널을 이리저리 돌려본다. 야구 시즌이 되면 이것이 더욱 심해져, 야구 중계는 물론 하이라이트까지 보며 꼼짝을 안 한다. 그 뒤엔 유튜브나 넷플릭스로 이어진다.
“이제 일어나 프로그래밍을 해볼까”라는 생각이 잠시 스치지만, 몸은 이미 소파에 눌어붙은 듯 꼼짝하지 않는다. 말 그대로 '껌딲지'가 된 기분이다.
그렇게 매일매일이 덧없이 흘렀다. 어느새 나는 하루의 마감을 소파에 눌러붙어 TV만 쳐다보는 인간이 되어 있었다. 이렇게 전혀 생산적이지 못하고 시간만 죽이는 생활이 한동안 계속되었다.
물론 이미 은퇴를 한 이 나이에 굳이 창의적인 새로운 것을 시도할 이유는 없었다. 그냥 아무것도 하지 않고 하루하루 순간순간을 즐기며 사는 것도 충분히 의미 있는 인생이라고 생각한다. 하지만 예전의 워크홀릭 성향이 나이가 들어서도 남아있다는 것이 문제였다. 즉 몸이 말을 안 들어 소파에 눌어붙어 앉아 있지만 마음속 한편에서는 프로그래밍에 대한 갈망이 꿈틀대고 있었다. 사실 갈망의 대상이 꼭 프로그래밍만은 아니다. 그것은 그림 그리기일 수도 있고, 음악 공부일 수도 있다. 브런치 글쓰기일 수도 있다. 하지만 현시점에서는 프로그래밍에 대한 갈망이 제일 컸다.
그러다 어느 날 문득 이런 생각이 들었다.
'산책 후 제일 먼저 앉는 자리를 소파가 아니라 PC 테이블로 만들면 어떨까? 일단 PC 앞에 있다 보면 프로그래밍 작업을 하게 되지 않을까?'
그렇다면 내가 해야 할 일은 PC 앞에 나를 앉히도록 하는 유인책을 찾는 일이었다. 그러다가 생각해 냈다. 정말 아무 생각 없이 몇 시간이고 내가 몰두할 수 있는 재미거리가 PC안에 있다는 것을. 그것은 바로 PC에 기본적으로 설치되어 있는 카드 게임들이다. 일명 솔리테어, 프리셀, 스파이더 같은 게임들이다. 이 게임들의 솔루션을 찾아내려 집중하다 보면 시간은 후딱 지나간다. 이 게임들은 '시간 죽이기'에는 정말로 안성맞춤이다.
그런데 바로 이 순간이 그런 카드 게임이 필요한 순간이었다. 현재 내가 자유 시간에 하는 일이란 단지 '시간 죽이기'일뿐이었으므로.
'그래, 이왕 시간 죽이기를 할 것이라면 소파가 아니라 PC에서 하도록 하자. 그래야만 프로그래밍의 기회라도 생기리라.'
자, 이 게임 미끼 전략은 성공했을까?
결론부터 말하자면, 대성공이었다.
난 TV 대신 PC 앞에 앉아 시간을 보내기 시작했다.
그리고 그 과정에서 무려 35년 전, 나를 몹시 괴롭혔던 문제 하나를 해결했다. 그러니 그 얼마나 짜릿하지 않았겠는가?
물론 이 미끼 전략의 효과가 금세 나타난 건 아니었다. 처음엔 그저 게임만 했다.
너무 오랫동안 프로그래밍과 떨어져서 살아왔기에 선뜻 다시 시작할 수가 없었다. ‘이 나이에 굳이 어려운 공부를? 프로그래밍 말고도 재미있는 게 얼마나 많은데…' 하며 스스로를 합리화하기도 했다.
하지만 일단 PC 앞에 앉아 있다는 것, 그것이 중요했다.
그렇지 않았다면, 내가 다시 프로그래밍을 하게 될 확률은 제로였을 테니까.
게임도 오래 하면 지겨워진다. 난 그 틈을 타 35년 전, 취미로 만들었던 여러 프로그램들을 하나씩 훑어보았다. 그 시절, 개발의 재미에 푹 빠져 있던 기억들이 새록새록 되살아났다. 그러다 문득 떠올랐다.
그때 나를 괴롭혔던, 도저히 풀 수 없었던 문제 하나가.
“C-shell script 프로그램에서 엔터 키를 누르지 않고 단일 문자를 읽을 수 있는 방법이 있을까?”
그 시절 난 플라즈마 물리 현상을 추적하는 시뮬레이션 프로그램을 개발하고 있었는데, 그런 개발 작업의 효율을 높이고자 유틸리티 하나를 개발했었다. 이 유틸리티에서는 모든 명령어들을 단축키로 실행시키되, 엔터키를 안치더라도 단축 문자 하나가 입력되는 순간 실행되도록 하는 게 핵심이었다.
이 유틸리티는 그 목적에 가장 적합한 C-shell script라는 언어를 사용하여 작성됐다. 그런데 C-shell에는 내가 꼭 필요로 하는 기능 하나가 없었다. 바로 위 질문, '엔터 키 없이 단일 문자를 읽는 기능'이다.
난 어쩔 수 없이 이 기능 수행부를 C 언어를 사용하여 별도의 프로그램으로 작성해야 했다. 그 때문에 프로그램 구조가 복잡해졌고, 내 프로그램에서 간결함의 미학이 사라졌다. 결국 이 문제는 내 마음속에 찝찝한 응어리로 남았다. 그렇기에 ‘언젠가는 반드시 이 문제를 풀어내리라’는 결심이 35년 넘게 내 무의식 속에 잠들어 있었다.
그런데 이번에, 그 어려운 문제를 마침내 풀어낸 것이다.
그날도 PC 게임을 하다 말고 옛 유틸리티들을 훑어보던 중, ‘단일 문자 읽기 문제’가 떠올랐다. 그러면서 문득 이런 생각이 스쳤다.
‘혹시 챗GPT라면 해결할 수 있지 않을까?’
나는 곧바로 챗GPT에게 물었다.
챗GPT는 잠시 생각하는 듯하더니 자신 있게 코드를 내놓았다. 생각보다 복잡한 코드였다. C-shell 외에도 여러 시스템 명령어들을 절묘하게 조합한 것이었다. 실행해 보니 처음엔 작동하지 않았다. 하지만 에러 메시지를 알려주자, 이번엔 완벽하게 작동하는 코드를 만들어냈다(본 글의 커버 사진이 그 코드임). 그 순간의 짜릿함은 말로는 쉽게 표현할 수 없다. 무려 35년 동안 마음 한편에 걸려 있던 응어리가 말끔히 씻겨나가는 기분이었으니까.
이로써 내 C-shell 유틸리티들은 더 이상 별도의 C 코드를 병합할 필요가 없는 완전한 구조를 갖게 되었다. 아마 챗GPT가 없었다면, 이 문제는 평생 미제로 남았을 것이다.
물론 ‘단일 문자 읽기 문제’를 내 힘으로 직접 해결하지 못한 아쉬움은 남는다. 하지만, 요즘의 대세는 전문 프로그래머들도 AI에 의존하여 코딩을 한다고 하니, 이번 내 성과는 큰 의미가 있겠다. 35년 숙원의 문제를 해결했으니.
그런데 이번 문제 해결에서 진짜 중요한 것은, '문제 해결' 자체가 아니라 '그 과정'이었다. TV 앞에만 죽치고 앉아 있던 나를 다시 PC 앞으로 끌고 가기 위해서는 어떤 아이디어가 필요했는데, 그 아이디어를 찾아냈다는 것이 중요하다.
생각해 보면, 게임은 아무 생산성 없는 'killing time' 행위였지만, 이것으로 또 다른 'killing time' 행위인 TV를 제압하고 큰 성과를 냈다는 것이 재미있다. 이는 마치 오랑캐로 오랑캐를 제압한다는 고사성어 '이이제이'를 떠올리게 만든다.
돌이켜보면, 금번 이이제이 전략은 내 삶의 작은 지혜로 만들어낸 소확행이었다. 게임이라는 미끼로 'TV 앞 소파 껌딱지 병'을 그토록 유쾌하게 극복해 냈으니 말이다. 아울러 이것을 계기로 내가 과연 프로그래머의 세계로 입성할 수 있을는지도 궁금해진다.
끝.