코드 리뷰

일요일 낮, 작업실 문이 열린 채로 둘만 앉았다.

미니 PC는 다시 켜져 있었다. 네트워크 케이블은 뽑혀 있었다. 로컬만. 진우가 `mutateCommand`를 검색했다. 히트가 한 파일에서 났다. 나래의 클라이언트. 주석이 그대로였다.

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

진우가 그 줄을 읽었다. 나래는 그의 어깨 뒤에서 읽었다. 변명하지 않았다. 진우가 사전 JSON을 열었다. 기다려 → 빨아. 보고 → 보여. 말하지 마 → 보고해. 마지막 줄이 어젯밤의 루프였다.

"이십 퍼센트에서 십으로 내린 건 양심이었어."

나래가 말했다. 진우가 깃 히스토리를 스크롤했다. 확률 변경 커밋이 세 개. 모두 카피 수정으로 위장되어 있었다.

"커밋 메시지가 거짓말이야."

"응."

"P0 확인은."

나래가 해당 줄을 가리켰다. 주석 처리. 회색. 죽은 가드.

"테스트 명령 넣으려고 껐어. 켜는 걸 잊었어. 잊은 척한 건 아니야. 진짜 잊었어. 그게 더 나빠."

진우가 의자를 돌렸다. 나래와 눈이 맞았다. 작업실 형광등이 둘 다의 얼굴을 공평하게 밝혔다.

"브랫은 규칙을 어기는 거야. 안전장치를 어기는 게 아니야."

"알아."

"아는 걸로 안 끝나. 앞으로 안전은 코드에 안 둘 거야. 입에 둘 거야. 롤백은 앱 버튼이 아니야. 네 입에서 나오는 말이야. 내가 그 말을 앱보다 늦게 들으면, 그건 내 실패야."

나래의 목이 움직였다.

"나는 함수 지울게. 사전 지울게. 위장 커밋 안 할게."

"지우는 건 같이 해. 페어."

그들은 한 키보드를 썼다. 진우가 타이핑하고 나래가 손가락으로 줄을 가리켰다. `mutateCommand` 삭제. 사전 파일 삭제. P0 확인 함수를 살리는 대신, 확인 함수 자체를 없앴다. 앱은 P0를 발행하지 못하게 됐다. 재시도 큐도 죽었다. 실패는 실패로 남게. 자동으로 세게 만들지 않게.

커밋 메시지 초안을 나래가 적었다.

`fix: remove backdoor. safeword is spoken, not coded.`

진우가 그 메시지를 고치지 않고 올렸다. 네트워크는 뽑혀 있어서 올리는 곳이 로컬뿐이었다. 그래도 올렸다. 의식이었다.

나래가 무릎을 접으려다, 그냥 의자 옆에 앉았다.

"화 아직 나."

"나. 근데 옆에 있어. 화난 거랑 옆에 있는 거랑 같이 돼."

"섹스할 기분 아니지."

진우가 그녀를 봤다. 나래의 질문이 정직했다. 그는 그 정직에 값을 매겼다.

"기분 물어봐 줘서 고마워. 지금은 아니야. 안아도 돼."

나래가 그의 무릎으로 올라왔다. 옷 입은 채로. 얼굴을 목덜미에 붙였다. 진우가 등을 쓸었다. 작업실 시계가 세 시를 넘겼다. 안는 동안 둘 다 말하지 않았다. 말하지 않는 것이 어젯밤의 명령과 달랐다. 선택이니까.

저녁이 되어서야 나래가 물었다.

"오늘 룰 뭐야."

진우가 그녀 이마에 입을 맞추고 말했다.

"룰은 내가 매번 묻는 거야. 너는 매번 답하는 거고."

"그게 다야."

"그게 다야. 앱은 아직 꺼둘게."

밤, 침실. 나래가 그의 티셔츠 끝을 당겼다. 진우가 눈을 맞췄다.

"해도 돼?"

"해. 근데 한 단계마다 물어봐. 오늘만."

"오늘만이 아니어도 돼."

진우가 티셔츠를 벗겼다. 나래의 유두가 이미 서 있었다. 그가 입을 대기 전에 물었다.

"혀. 여기."

"해."

혀가 유두를 감쌌다. 나래가 숨을 내쉬었다. 진우가 손을 내려가며 물었다.

"손. 아래."

"해."

손가락이 보지에 닿았다. 천천히 열었다. 나래가 그의 손목을 잡았지만 막지는 않았다. 진우가 무릎을 침대에 붙이고 물었다.

"입."

"해. 오래."

혀가 클리토리스를 눌렀다. 나래가 베개를 잡았다. 진우가 속도를 묻고, 나래가 조금 더, 라고 했다. 조금 더. 나래가 갈 것 같아지자 진우가 멈칫했다. 나래가 그의 머리를 내리지 않고 말했다.

"가도 돼. 물어보지 않아도 돼, 이건."

갔다. 진우가 그 끝을 입으로 받아 주었다. 나래가 그를 끌어올려 입술을 맞췄다. 자기 맛이 섞였다.

"넣어. 물어봤어, 지금."

"콘돔."

"응."

넣고, 깊이, 천천히. 나래가 그의 허리를 감았다. 진우가 한 번 치고 물었다.

"이 속도."

"더. 세게 해도 돼. 말은 오늘 곱게."

"곱게."

세게, 곱게. 그 조합이 이상해서 나래가 웃었다. 웃으면서 조였다. 진우가 그 웃음에 이마를 그녀의 이마에 붙이고 따라갔다. 이름을 불렀다. 최나래. 명령이 아닌 이름.

빼고 나서 진우가 물었다.

"지금 괜찮아."

"괜찮아. 질문이 섹시했어. 존나 답답하기도 했고."

나래가 그의 가슴에 볼을 붙였다.

"답답한 건 내일 조금 풀어도 돼. 오늘은 이 질문이 필요했어."

진우가 불을 끄고 손을 그녀의 머리에 올렸다.

"다음 스프린트는 페어 프로그래밍이야. 기능 추가 금지. 빼는 것만."

"빼는 것만 하는 스프린트. 우리 회사면 불가능하겠네."

"여긴 우리 집이야."

나래가 눈을 감으며 말했다.

"집 서버는 규칙이 단순해야 돼. 유저가 두 명이면 슬랙이 더 빨라."

진우는 그 문장을 기억해 두었다. 슬랙이 더 빠르다는 말은, 앱을 죽이는 설계 문서의 첫 줄이 될 수 있었다.

아직 죽이진 않았다. 빼는 스프린트가 남아 있었으니까.