데일리 퀘스트

토요일 낮 열두 시, 작업실 모니터 네 대가 동시에 켜져 있었다.

진우의 왼쪽 화면에는 테이블 스키마. 오른쪽에는 API 초안. 나래의 왼쪽에는 폰 목업. 오른쪽에는 유니티가 아니라 이번엔 그냥 웹뷰. 사이드 프로젝트는 가벼워야 한다고 그녀가 우겼다. 진우는 동의하면서도 인덱스부터 걸었다.

"유저가 두 명인데 인덱스가 필요해?"

나래가 물었다. 그의 회색 후드만 입고 있었다. 어제 합의된 치트. 후드 아래로 허벅지가 보였다. 속옷은 없었다. 스펙 미팅의 복장이 어느새 규칙이 된 것이었다.

"습관."

"습관이 오버엔지니어링의 입구야."

"입구에 문 다는 게 내 일이지."

나래가 목업을 돌렸다. 오늘의 과제, 큰 글씨. 아래에 수락 버튼. 완료 버튼. 실패 시 '버그 리포트 작성'이 회색으로 비활성화되어 있었다.

"실패는 내가 누르는 게 아니지?"

"서버가 타임아웃 하면 자동으로 열려. 네가 발뺌하면 내가 수동으로 열어."

"발뺌이라는 단어 스펙에 넣어. 좋아."

그들은 점심을 거르고 김밥을 나눠 먹으며 스프린트 보드를 만들었다. 일주일 단위. 규칙 슬롯 다섯 개. 데일리 퀘스트 하나. 주간 보스, 라는 이름을 나래가 붙였다. 진우는 주간 보스를 '집중 플레이'로 바꾸고 싶어 하다가 그냥 뒀다. 그녀가 지은 이름이 더 게임 같았다.

오후 네 시, 로컬 서버가 떴다. 나래의 폰에 알림이 울렸다.

[오더] 오늘의 과제: 작업실 의자에서 무릎 꿇고 십 분. 손은 무릎. 말은 금지.

나래가 화면을 봤다. 입꼬리가 올라갔다.

"네가 지금 발행한 거야?"

"응. 스모크 테스트."

"스모크 테스트에 내 무릎을 넣었어."

"재현 가능한 환경이 필요해서."

나래는 한숨을 크게 쉬고, 의자에서 내려와 카펫에 무릎을 꿇었다. 후드 자락이 바닥에 닿았다. 손은 무릎. 고개는 안 숙였다. 진우를 봤다. 말은 금지라서 눈으로만 욕했다.

진우는 타이머를 켜지 않았다. 서버가 세고 있었다. 그는 스키마를 수정하는 척하면서 그녀를 봤다. 입술이 붙어 있는 나래는 평소보다 더 말을 하고 싶어했다. 그게 얼굴에 다 드러났다. 오 분쯤 지나자 허벅지가 미세하게 떨렸다. 일곱 분, 그녀가 입을 열려고 했다. 진우가 손가락을 들어 가로챘다. 말은 금지. 그녀는 이를 갈았다.

십 분. 폰이 진동했다.

[오더] 퀘스트 완료. 보상: 선택권 없음. 다음 명령 대기.

"선택권 없음이 보상이야?"

나래가 참았던 말을 한꺼번에 쏟았다.

"보상의 정의를 네가 너무 넓게 가져가."

"일어나."

나래가 일어났다. 무릎이 붉었다. 어제 산 방석은 아직 배송 중이었다. 진우가 그녀의 손목을 잡아 자기 의자로 이끌었다. 무릎 사이에 서게 했다. 후드 밑으로 손이 들어갔다. 허벅지 안쪽. 뜨거웠다. 손가락이 더 위로 가자 나래가 숨을 들이마셨다.

"말도 안 했는데 이렇게 젖어."

"말이 금지하니까 몸이 떠든 거지. 버그 아냐. 의도된 동작이야."

진우의 손가락이 보지 입구를 스쳤다. 미끄러웠다. 클리토리스를 원으로 문질렀다. 나래가 그의 어깨를 짚었다. 의자가 살짝 돌았다.

"여기 앉을래."

"퀘스트 아닌데."

"사이드 퀘스트."

나래가 후드를 벗었다. 알몸. 작업실 형광등 아래서 유두가 이미 서 있었다. 진우의 바지를 내리고, 콘돔을 서랍에서 찾아 직접 씌웠다. 서투른 척하면서 정확하게. 그리고 그의 허벅지 밖으로 다리를 벌리고 앉았다. 자지가 들어가는 속도는 그녀가 정했다. 끝까지. 둘 다 숨을 참았다.

"이게 완료 버튼이야."

나래가 속삭였다. 허리만 움직였다. 천천히. 진우의 손이 그녀의 엉덩이에 올라갔다. 어제 자국은 없었다. 오늘은 치지 않았다. 안을 채운 채로 그녀를 내려다봤다. 나래가 앞뒤로 미끄러질 때마다 후드가 아닌 맨살이 그의 티셔츠에 닿았다.

"빨리."

진우가 말했다.

"내가 속도 담당이야. 클라이언트니까."

"서버가 타임아웃 한다."

"타임아웃 걸어 봐."

진우가 허리를 위로 밀었다. 나래가 소리를 냈다. 작업실 문이 열려 있었다. 거실로 그 소리가 흘렀다. 아무도 없었다. 그래도 그녀는 손을 자기 입에 갖다 댔다. 진우가 그 손을 떼었다.

"여기선 숨기지 마."

나래가 그의 목을 감고 더 세게 앉았다. 살이 부딪혔다. 진우가 유두를 입에 물고 혀로 굴렸다. 나래의 안이 조여 왔다. 그가 엄지로 클리토리스를 눌렀다. 나래가 떨었다.

"가도 돼?"

오늘은 물었다. 진우가 그 물음을 귀하게 받았다.

"가."

나래가 그를 끌어안은 채로 갔다. 짧은 비명. 안이 맥을 쳤다. 진우가 그 맥을 이기지 못하고 따라갔다. 의자가 한 칸 밀렸다. 모니터 네 대가 그들을 비추고 있었다. 스키마와 목업과 알몸.

나래가 그의 어깨에 이마를 댔다. 빼지 않은 채로.

"완료 버튼을 내가 눌러도 돼."

"눌러."

나래가 뒤로 손을 뻗어 폰을 집어, 완료를 눌렀다. 알림이 짧게 울렸다. 진우의 폰에도 같은 진동이 왔다.

[오더] 나래가 퀘스트를 완료했습니다. 경험치 +10. 다음 스프린트까지 3일.

"경험치가 왜 있어."

진우가 물었다.

"내가 넣었어. 게임이면 숫자가 있어야지. 숫자는 중독이거든."

나래가 눈을 깜빡였다.

"레벨 업하면 네가 칭찬하는 거."

진우는 그 기능을 지우지 않기로 했다. 칭찬을 시스템에 넣는 건 과했지만, 그녀가 숫자를 좋아한다는 건 새로운 데이터가 아니었다.

저녁에 그들은 첫 스프린트의 규칙을 다섯 개로 줄였다.

하나. 현관 무릎 삼십 초.

둘. 평일 속옷은 진우가 정함.

셋. 자위는 허가제.

넷. 식후 설거지는 나래. 단, 진우가 요리한 날만.

다섯. 롤백은 언제든. 앱보다 입이 우선.

다섯 번째를 나래가 적었다. 진우가 고개를 끄덕였다. 그 한 줄이 다른 네 줄보다 크다는 걸, 둘 다 알고 있었다.

"레포 권한."

나래가 노트북을 자기 쪽으로 끌어당기며 말했다.

"클라이언트는 내가 짠다며."

"어드민도."

"어드민은 나야."

"읽기 권한만이라도. QA 못 하면 내가 어떻게 버그 잡아."

진우는 잠시 생각했다. 나래에게 쓰기 권한을 주면 메인에 이상한 게 올라올 확률이 백에 팔십이었다. 그래도 사이드 프로젝트의 클라이언트 담당을 막는 건 더 이상했다.

그는 그녀를 `collaborator`로 추가했다. 권한: write.

나래가 그 메일을 받고 웃었다. 아주 짧게. 진우는 그 웃음의 레이어를 아직 읽지 못했다.

밤 열 시, 데일리 퀘스트가 하나 더 발행됐다. 진우가 소파에서 발행했다. 나래는 설거지를 하고 있었다.

[오더] 설거지 끝나고 침실. 옷 없이. 엎드려. 기다림.

나래가 장갑을 벗으며 고개를 돌렸다.

"기다림이 몇 분이야."

"명시 안 했어."

"명시 안 한 건 버그야."

"기능이야. 네가 견디는 시간을 내가 정하려고."

나래는 그릇을 마지막 하나 닦고, 후드를 벗어 세탁 바구니에 던지고, 침실로 갔다. 엎드렸다. 베개에 볼을 붙였다. 문이 열린 채로. 진우는 바로 따라 들어가지 않았다. 설거지 물을 잠그고, 불을 끄고, 폰으로 서버 로그를 확인했다. 퀘스트 상태가 `in_progress`. 그는 일부러 사 분을 더 있었다.

침실에 들어갔을 때 나래의 발끝이 움츠러들어 있었다. 기다림이 먹힌 몸. 진우가 침대 가장자리에 앉아 그녀의 엉덩이를 쓸었다. 나래가 허리를 들었다. 그는 올리지 말라고 하지 않았다. 그 자발성을 좋아했다.

"오늘은 손만."

나래가 신음처럼 말했다.

"불만이야, 요청이야."

"요청. 존나 불만 섞인 요청."

진우가 손가락을 넣었다. 두 개. 나래가 이미 열려 있었다. 낮의 것이 덜 식어 있었다. 그는 천천히 긁었다. 엄지는 클리토리스를 피해 다녔다. 나래가 침대를 찼다.

"거기."

"스펙에 거기는 없어."

"핫픽스 해."

진우가 웃고, 엄지를 올렸다. 나래의 허리가 접혔다. 손가락 속도가 붙었다. 물 소리가 났다. 나래가 베개에 얼굴을 묻고 갔다. 짧게. 진우가 빼지 않고 그 끝을 눌러 주었다. 나래가 손목을 잡았다. 너무 예민해서. 그는 그때 멈췄다.

손을 씻고 돌아와 옆에 누웠다. 나래가 그의 가슴에 볼을 붙였다.

"앱, 쓸 만해."

"아직 알림도 못 생겼어. 푸시는 내가 수동으로 보냈거든."

"그 수동이 더 좋더라. 네가 나를 보고 보낸 거잖아."

진우는 그 말을 저장해 두었다. 나중에 자동화하면 그 감각이 어떻게 변하는지, 그 밤에는 궁금하지 않았다.

나래가 거의 잠들 때 중얼거렸다.

"내일 클라이언트에 히든 커맨드 넣을게. 이스터에그."

"넣지 마."

"넣어 보고 리뷰 받아."

"리뷰 전에 머지하지 마."

"응."

그 응이 너무 빨랐다. 진우는 들었지만, 주말의 나른함 속으로 그 속도를 흘려보냈다.

거실에서 미니 PC 팬이 작게 돌고 있었다. 오더의 첫 서버. 유저 둘. 퀘스트 세 개 완료. 실패 제로.

실패가 제로인 로그를, 나래는 마음에 들어 하지 않았다. 실패가 있어야 버그를 심을 구멍이 생기니까.

그녀는 눈을 감고, 내일 넣을 함수 이름을 정했다.

`mutateCommand`.

주석은 이렇게 달 예정이었다.

`// TODO: 테스트용. 나중에 지울 것.`

나중에 지우지 않을 거라는 건, 함수를 짓는 사람이 제일 잘 아는 법이었다.