나는 상당한 집돌이다. 언제부터인지도 모르게 "외출"이라는 말은 나에게 아주 낯선 단어가 되어 있었다. 한 달 내내 꼭 필요할 때만 밖에 나가는 일이 흔하고, 나간다 해도 생활은 에 가깝고, 게다가 대개는 차를 탄다. 곰곰이 생각해 보면 내가 진짜로 실내를 벗어난 지는 정말 오래되었다. AI 시대의 거품과 불안을 겪고 난 뒤 나는 나쁜 습관 하나를 얻었다. 새벽에 코드를 쓰는 것이다. 이제는 내가 살아가는 세계와 다른 "시간대"에 있는 것 같다. 오늘 아침도 열두 시가 넘어서야 겨우 일어났고, 하루에 두 끼만 먹으며, 깨자마자 서재에 앉아 컴퓨터를 열고 쓰기 시작했다. 코드를 쓰는 일 자체는 아주 재미있는 일이지만, AI 시대의 코드 쓰기는 더 이상 그렇지 않다. 오후까지 화면만 노려보았지만 아무것도 쓰지 못했고, 디자인에 대한 영감도 없었으며, 모든 것이 완벽하지 않게 느껴졌다.
밖?
그때 머릿속에 문득 오랫동안 잊고 지낸 한 가지 생각, ‘바깥’이 떠올랐다. 어떤 구체적인 장소가 아니라 아주 어렴풋한 느낌이었다. 기억 속에 햇빛, 바람, 풀밭 같은 것이 있었던 듯한데, 이제는 또렷하게 설명할 수 없었다. 설명할 수 없다는 사실 자체가 조금 마음에 걸렸다. 마침 오늘은 날씨도 좋았고 Claude도 세션 한도에 도달했기에, 노트북을 덮고 이어폰을 낀 뒤 손에 잡히는 물 한 병을 들고 문을 나섰다. 그래, MacBook Air를 들고 나갔다. 아마 장소를 바꿔 계속 쓰려는 생각이었고, 어쩌면 영감도 좀 얻을 수 있지 않을까 싶었던 것 같다.
단지 정문을 나와 길을 따라 큰길과 만나는 교차로까지 걷자, 두 고층 건물 사이로 갑자기 바람이 쏟아져 들어왔다. 나는 그 자리에 서서 잠시 멍해졌다. 「바람」!? 이런 걸 느껴 본 게 대체 얼마 만이지? 에어컨 바람도, 선풍기 바람도 아닌, 불규칙하고 온기가 있으면서도 조금은 부드러운, 아주 먼 곳에서 불어오는 바람. 소리가 있는 바람, 도시 거리의 소음과 뒤섞인 바람이었다. 그때 나는 AirPods으로 음악을 듣고 있었지만, 밖에 나와 있다는 느낌에 나도 모르게 소음 제거 기능을 껐다. 그렇게 왼손에는 물을 들고 오른팔에는 노트북을 낀 채 큰길을 따라 강변으로 걸어갔다. 이번에는 걸으면서 스마트폰 화면을 들여다보지 않았다. 왜 그랬는지는 모르겠다. 그냥 일단 강변까지 가 보고 싶었다.
보이지 않다
백 미터에서 이백 미터쯤 걸으니 강변에 도착했다. 인도 옆 돌난간은 폭이 조금 있어서 노트북 한 대를 올려놓기에 딱 좋았다. 사실 여기서 정말 코딩할 생각은 아니었다——모처럼 강변에 왔고 밖에 나온 지도 오래됐으니 우선 휴대전화로 사진을 한 장 찍었다. 찍고 나니 야외 분위기도 제법 괜찮은 것 같아서 내친김에 MacBook을 꺼내 난간 위에 올려놓았다. 화면 잠금을 풀자 편집기와 터미널이 잔뜩 떠 있었다. 왜인지는 모르겠지만 그때 눈 덮인 산이나 낚시터에서 MacBook을 펼쳐 화면 가득 통합 개발 환경과 터미널을 띄워놓고 "what can stop you coding like this"라는 문구를 덧붙이는 식의 게시물을 올리고 싶었다. 하지만 금세 포기했다. 2025년형 MacBook Air의 LCD 화면은 최대 밝기가 정말 너무 낮았기 때문이다……

화면을 여는 순간 끝났다는 걸 알았다. 의 화면 밝기는 야외에서는 도무지 부족하다. 각도를 이리저리 바꿔 보고, 역광으로도, 순광으로도, 나중에는 나 자신을 태양과 일직선에 놓아 보기까지 했지만 어떻게 해도 보이지 않았다. 솔직히 꽤 처량했다. 실내에서는 스스로를 프로그래머라고 여기다가, 밖에 나오니 화면조차 켜지 못한다는 걸 알게 된다. 됐다, 이 코드는 안 써도 그만이다. 그래도 미련이 남아 노트북을 덮고, 길 건너 나무 그늘에서 운을 시험해 보기로 했다. 난간을 떠나기 전에 강을 한 번 더 바라봤다. 멀리서 보면 사실 괜찮았다. 구름과 햇빛이 섞인 날씨 아래 수면은 여전히 기억 속 그 모습이었다. 그런데 고개를 조금만 숙여 시선을 물가 쪽으로 내리면, 수면 위에 한 겹 떠 있는 것들이 보인다 — 물이끼, 나뭇잎, 자잘한 부유물. 많지는 않지만 강물은 이미 맑지 않다. 수면은 기억보다 더 고요한데, 물가는 누가 봐도 이미 오래전부터 아무도 돌보지 않았다. 「몇 년 전 팬데믹 때도 사실 나와서 봤는데, 그때부터 이미 이랬다」 그래도 지나갈 때마다 조금은 마음이 움직인다.

첫 기억
길을 건너니 맞은편 녹지 안에 돌벽돌을 깐 작은 자리가 있었다. 거리와 광장이 만나는 모퉁이였다. 멀리서는 꽤 괜찮은 쉼터처럼 보였는데, 멀리서도 지붕이 언제부턴가 뜯겨 없어진 게 보였고, 가까이 가 보니 더 이상했다. 진작에 그런 곳이 아니게 되어 있었다. 어릴 때 여기 와 본 적이 있다. 그런데 지금은 정자의 지붕이 흔적도 없이 사라지고 콘크리트 기둥 몇 개만 서 있고, 벽은 갈라져 있다. 바닥 돌판 옆에 나무가 몇 그루 있기는 한데, 그 아래엔 이미 낙엽이 빙 둘러 쌓여 있다. 쓰는 사람도 없고 오는 사람도 없다. 앉을 자리는 그래도 남아 있지만, 돌판 위에 먼지가 한 겹 덮여 있어 손대고 싶지가 않았다. 그래도 아무거나 깔 것을 찾아, 제일 깨끗해 보이는 판을 골라 앉고 다시 노트북을 열었다. 그래도 쓰고 싶었으니까. 어쩌면 이것도 AI 시대의 좋은 점일 것이다. 바이브 코딩을 할 때는 사실 제대로 앉아서 쓸 필요가 없다. Typeless나 Wispr Flow 같은 음성 입력이면 충분하고, CLI 안의 Agent가 대신 써 주면 그만이다. 나는 한 글자도 치기 싫을 만큼 게을러졌고, 보수파로서의 마지노선도 진작에 버렸다. 「bypass permissions」면 끝이다. 코드 쓰는 것마저 하게 되었다.

이야기가 옆길로 샜지만, 그래도 역시 안 됐다. MBA의 액정 화면은 마침내 처음으로 내게 명백한 약점을 체감하게 했고, 여기서 나는 야외에서 코드를 작성하는 일을 완전히 포기했다. 어쩌면 내년의 나는 얇고 가벼운 무게를 포기할지도 모르고, 다음 컴퓨터도 노트북이라면 MBP를 고를지도 모른다. 사실 이쯤에서는 이미 돌아가서 쓰려고 했다. 가끔 나와 바람이나 쐬는 것으로 충분했다. 그래도 이미 여기까지 걸어 나왔으니 강변 도로 건너편으로 옮겨 걸어 돌아가기로 했다. 그런데 걷다 보니 조금씩 돌아가고 싶지 않아졌다. 딱히 목적지가 있었던 것은 아니다. 그저 아주 오랫동안 느끼지 못했던 무언가가 있었다. 야외 그 자체가 아직은 나를 조금 끌어당기는 듯한, 나조차 뭐라고 설명하기 어려운 감각이었다. 하지만 정말로 그것을 느껴 보려고 하자, 주변의 모든 것이 기억 속 모습과 이미 단절되어 있다는 생각이 들었다. 어디 하나 맞는 곳이 없었고, 흐릿한 기억과는 진작부터 어긋나 있었다...
숲길
강변 도로의 반대편으로 건너가 되돌아 걷다가, 주택 건물 바로 옆으로 난 작은 길로 접어들었다. 숲속 오솔길이라고 하기에는 사실 무리다. 나무는 듬성듬성 심겨 있고, 옆으로는 담 하나 너머가 바로 건물이다. 길은 아스팔트이고, 갈림길에 정자가 딸린 나무 데크가 짧게 이어 붙어 있다. 아스팔트 구간은 이미 갈라져서 틈새로 풀이 자라 있고, 노면에는 잔가지와 낙엽이 흩어져 있다. 같은 구간의 길에서 두 가지 색이 보인다. 절반은 분명 새로 포장한 티가 나지만, 그 "새것"도 적어도 삼사 년, 오 년은 지난 것처럼 보이고, 이음매에서는 그래도 끈질기게 풀이 몇 올라와 있다. 아니, 「」라고 할 것도 못 되고, 잡초 몇 줄이다.

나무 데크로 들어가 정자 앞에서 멈춰 섰다. 정자 바닥에는 나무판이 깔려 있었는데 이미 몇 장은 빠져 있었고, 밟으면 판자가 들리면서 영 미덥지 않은 소리가 났다. 못은 아마 진작에 안쪽에서 부러졌을 것이다. 나무 통로의 지붕은 투명해서 유리일 수도, 아크릴일 수도 있었다. 하지만 절반 넘게 이미 오래전부터 무언가가 잔뜩 쌓여 빛이 잘 통하지 않았다. 주변은 원래 잔디밭, 아니면 높이 약 1미터의 관목 덤불이었지만 이제는 거의 2미터까지 자라서, 그 안에 서 있으면 정말 정글 속에 들어온 듯한 착각이 들었다. 시야 한쪽에 아직 건물이 언뜻 보이지만 않았다면 말이다. 큰길에 가까운 쪽의 식생에는 한때 네모나게 다듬었던 흔적이 여전히 남아 있었지만, 가장자리는 이미 둥글게 자라 있었다. 시간은 그것을 식물이 본래 자라야 할 모습으로 천천히 되돌리고 있었다.

나는 쪼그려 앉아 나무판자가 빠진 자리 사이로 자란 풀숲을 만져 보았다. 보기에는 평범한 풀과 다를 게 없었지만, 만져 보니 말라 있었고 흙도 그리 좋아 보이지 않았다. 그런데도 풀은 나무판자 틈을 비집고 자라나 있었다. 평소에는 아마 이곳에 오는 사람도 거의 없겠지…… 사실 이런 곳들을 걷고 있으면 머릿속은 진작 텅 비어 버려 아무런 구체적인 생각도 들지 않는다. 그저 아주 오랜 시간이 흘렀다는 느낌만 들고, 평소에는 아무리 해도 떠오르지 않던 것들과 세세한 부분들, 희미한 기억들이 그곳에 다다르면 저절로 솟아오르듯 더없이 선명해진다. 그러면 여기도 변했고, 저기도 변했다고 새삼 탄식하게 된다. 기억 속의 그곳은 이미 오래전에 사라졌고, 시간이 이 모든 것을 가져가 버렸다.

도심 속
좁은 길을 빠져나오니 강변 도로가 있는 구역은 이미 벗어난 뒤였고, 공사 현장을 따라 계속 앞으로 걸었다. 도시의 건물은 진작부터 지겨울 만큼 봤다. 특히 이런 2선, 3선 도시의 주거용 건물들은 빽빽하게 들어서 있으면서도 고층 빌딩 같은 느낌은 전혀 없고, 아름다움이라고는 조금도 없다. 그래서 일부러 찍지 않았다. 대신 하늘을 좀 찍고 싶었지만, 생각보다 어려운 일이었다. 인도에 서서 휴대전화를 아주 높이 들고 도로와 가로등을 피했는데도 화면에는 나무 그림자와 맞은편 주거용 건물이 조금씩 비집고 들어왔다. 건물들이 너무 촘촘하게 지어져 있어 이 도시에서는 아무것도 걸리지 않는 깨끗한 하늘 한 조각을 찾기가 어렵다. 오늘 날씨는 사실 무척 쾌적했다. 햇빛은 있었지만 그리 강하지 않았고, 오히려 구름이 낀 날에 가까웠다. 고개를 들어 보니 구름은 빽빽하지 않고 듬성듬성 흩어져 있어 안개가 자욱한 듯한 느낌을 주면서도 넓고 넓은 빈 하늘을 남겨 두고 있었다. 구름이 참 예뻤다. 평소 「실내」에 있을 때라면 절대로 알아차리지 못할 종류의 아름다움이었다. 그렇다고 일본 애니메이션에서 내가 좋아하는 그런 하늘도 아니었다. 「그런 건 아마 현실의 일본에도 존재하지 않겠지.」

조금 더 앞으로 가자 공사 현장으로 들어서게 되었다. 공사 현장이라고는 하지만, 사실 그곳에는 이미 인부가 한 명도 남아 있지 않았다. 이 구역은 양극화가 무척 심했다. 절반의 건물은 이미 완공되어 임대 유치까지 시작했고 입주자도 있었지만, 나머지 절반에는 뼈대만 남아 있었다. 울타리는 절반쯤 철거되었고 남은 부분은 여전히 둘러쳐져 있었으나, 보아하니 누구도 공사를 재개할 생각이 없는 듯했다. 최근 몇 년간 중국의 부동산 경기는 좋지 않았고 집값은 줄곧 떨어졌다. 아마 이 단지가 완공되기도 전에 가격이 공사 진척보다 더 빠르게 내려가 버린 모양이었다. 건설업자는 도망쳤거나, 아니면 그곳에서 아무것도 하지 않은 채 버티고 있었다. 하지만 바로 그 덕분에 길이 포장되지 않은 구간은 울타리에 막혀 평소에는 들어오는 사람이 거의 없었고, 오히려 넓은 풀밭이 남았다. 오늘 집을 나선 뒤 이렇게 넓게 펼쳐진 풀을 본 것은 처음이었다. 멀리서 볼 때는 기분이 조금 좋아지기도 했다. 기억 속 풍경이라면 바로 이런 모습이어야 했다. 하지만 가까이 다가가니 또 뭔가 달랐다. 풀은 더 이상 푸르지 않았고 누렇게 마른 잎이 잔뜩 섞여 있었다. 근처에는 나무가 아예 없는데 그 잎들이 어디서 날아왔는지 알 수 없었다. 풀 자체도 비뚤비뚤 자라 있었고 만져 보니 뻣뻣하고 메말라 있었다. 그래도 결국 나는 그 위에 누웠다.

눕는 순간 안 되겠다는 걸 알았다. 땅은 콘크리트처럼 단단했고, 표면에 풀 한 겹만 깔려 있을 뿐 완충감이 전혀 없었다. 보통 잔디밭에 누울 때는 너무 축축하지 않기를 바라지만, 그렇다고 이렇게 메마르고 단단해서도 안 된다. 흙은 완전히 다져져 있었다. 몇 미터 떨어져서 보면 평범한 잔디밭과 별 차이가 없지만, 몸은 거짓말하지 않는다. 모기나 벌레조차 없었다아마 벌레들조차 이런 곳에는 오고 싶지 않은 모양이다. 그곳에 누워 눈을 감아도 자연의 소리라고 할 만한 것은 들리지 않았다. 온통 도시의 소음뿐이었다. 내연기관차의 엔진 소리. 요 몇 년 사이 전기차가 꽤 늘었지만 도로에서는 여전히 피할 수 없었다. 멀리서 걷는 사람들의 발소리. 그리고 이런 소도시의 차들은 교통법규를 별로 지키지 않는 듯, 이따금 느닷없고 귀를 찌르는 경적이 울렸다.
도시의 소음
눈을 떠도 소음은 여전히 소음이었다. 노트북을 안고 한동안 누워 있었더니 그것도 지쳐서 무심코 옆에 내려놓았다. 물도 거의 다 마셔서 마지막 남은 물을 버리고 병도 쓰레기통에 툭 던졌다. 오는 동안 휴대전화에 메시지가 많이 도착했지만 계속 거의 확인하지 않았고, 사진을 찍고 나면 곧바로 주머니에 넣었다. 이제는 한번 볼 때가 된 것 같았지만, 몇 달 전에 바꾼 17P는 이미 eSIM을 쓰고 있었고 최근 CMHK와 3HK 유심으로도 바꿨는데 중국 본토에서 로밍하면 LTE만 잡힐 뿐 5G는 그림자조차 보이지 않았으며, Apple의 수신 감도마저 유난히 형편없었다.

분명 도심인데도 신호는 두 칸뿐이고, Twitter는 새로고침되지 않았으며 음악마저 끊겨 아무것도 불러오지 못했다. 결국 Air Pods를 빼서 케이스에 넣고 음악 듣기를 포기했다. 알림 센터에는 메시지가 온 것이 보였지만 눌러도 아무것도 불러와지지 않았다. 이제 휴대전화로 시간조차 때울 수 없게 됐다. 오늘 밖에 나왔더니 노트북은 배터리가 있는데도 화면이 너무 어두워 코드를 작성할 수 없었고, 휴대전화는 신호가 잡히는데도 콘텐츠를 표시하지 못했다. 인터넷 시대에 잠시 연결이 끊긴 듯했다. 야외에서는 전자기기들이 하나같이 제구실을 못 한다. 그럼 그냥 돌아가자.

돌아가는 길에는 완전히 다른 길로 갔다. 단지 뒷문으로 돌아 들어가 지하 주차장을 지났다. 어릴 때 주차장에서 자주 놀았다. 나중에 한 번 이사를 갔는데, 어쩌다 보니 다시 돌아왔다. 주차장은 자라면서의 기억 가운데 유일하게 자주 가지 않던 곳이라 모습이 변했는지 어떤지는 알아볼 수 없지만, 냄새만은 기억한다. 어릴 적 주차장에는 아주 상쾌한 공기가 있었다. 민트와 조금 비슷하고, 짙은데도 향이라고 할 것은 없어서 밖에는 달리 표현할 말이 없었다. 거기에 지하실 특유의 서늘함이 조금 섞였다. 사실 나는 그 냄새를 꽤 좋아했다. 그런데 지금 들어가 보니 그 맑은 기운은 사라지고 없다. 남은 것은 차가운 습기뿐이고, 답답하게 공기에 들러붙어 있다. 차가 들어오면서 바람이 조금 일었다. 아마 입구에서 밀려 들어온 바람일 것이다. 그런데 그 바람도 어딘가 달랐다. 무엇 하나 예전과 같지 않았고, 어디를 보아도 모든 것이 어긋나 버렸다. 예전 모습은 이제 떠올릴 수도 없지만, 그건 분명 그 자리에 서면 바로 느껴지는 종류의 차이다.
한 시간
엘리베이터를 타고 올라가 문을 열고 집으로 돌아왔다. 커튼은 낮부터 쳐 둔 채였다. 나는 이미 오래전부터 내가 사는 곳과 다른 시간대에 사는 데 익숙해져 있었으니까. 방 안을 밝히는 것은 햇빛이 아니라 형광등에서 나오는 그 밝고 흰 빛이었다. 고르고, 한결같고, 온기가 없었다. 밖에 나가 있었던 시간은 아마 한 시간도 채 되지 않았을 것이다. 하지만 밖을 걷는 동안에는 늘 아주아주 오랜 시간이 흐른 듯했다. 긴 「꿈」을 꾼 것처럼, 그 안에서는 모든 것이 변했지만 어느 것 하나 제대로 설명할 수 없었다. 그러고는 깨어났다. 지하 주차장에서 올라온 엘리베이터를 내린 뒤 나는 다시 이 책상 앞, 이 화면 앞으로 돌아왔다. 햇빛의 열기는 때로 정말 후텁지근하게 느껴지지만, 막상 햇빛이 없으면 또 그 느낌이 그리워진다. 실내는 온도와 습도가 알맞은데도 오래 앉아 있으면 왠지 모를 피로가 생겨난다.
모든 것이 비현실적으로 느껴졌다. 멍한 사이 다시 돌아가 있었지만, 한편으로는 이미 오래전부터 돌아갈 수 없었던 것만 같았다.