오전 여덟 시 삼십 분까지 두 시간 이십삼 분.
평소라면 그 시간에 내가 할 일은 출근길 지하철에서 졸기, 편의점에서 삼각김밥 사기, 팀장에게 '네, 확인하겠습니다'라고 답장하기였다. 이 세 가지는 내가 개발자가 된 뒤 가장 충실하게 반복한 의식이었다. 그런데 오늘의 업무는 4,183건의 미귀가 기록이 강제로 정산되는 일을 막는 것이었다.
연봉협상 때 이런 업무가 포함돼 있다는 설명은 듣지 못했다.
영병원 별관 앞의 공기는 차가웠다. 밤새 내려앉은 물기가 주차장 흰 선 사이에 고여 있었다. 건물 안에서는 아직 존재하지 않아야 할 오래된 복도에서 소독약 냄새가 흘러나왔다. 한시우가 접속 장비를 내려놓자 그 냄새도 옅어졌다.
"여기서 계속 붙잡고 있으면 안 돼요." 남기혁 형사가 말했다. "기술적인 기록과 실제 피해 신고는 따로 모읍시다. 이 일에 연루된 사람들이 전부 한 장소에 있어야 할 이유도 없어요."
유나는 연락망을 정리했다. 부산의 권수진, 대전의 물류센터 노동자 대표, 서울의 가족 상담 창구. 모두 지난 퇴근망 사건에서 알게 된 사람들이었다. 우리는 같은 숫자가 나타났다는 이유만으로 이전 피해자 전원이 다시 피해를 입었다고 발표하지 않기로 했다. 대신 각자가 직접 확인한 이상 기록을 받아 보기로 했다.
서아가 화이트보드에 두 줄을 적었다.
'지난달 기억 청구 4,183건.'
'오늘 출근망 미귀가 4,183건.'
"같은 사람일까?" 내가 물었다.
"모르지. 두 목록의 건수가 같다는 것만 알아." 그녀는 숫자 사이에 등호 대신 물음표를 그렸다. "네가 좋아하는 조인 문법으로 치면 키가 없잖아."
"그렇지. 이런 조인 쿼리는 운영에 올리면 안 되지."
강문석은 단말기에서 익명화된 비교용 해시 목록을 추출했다. 원본 이름과 주소는 피해자의 동의나 적법한 절차 없이 우리가 열람할 수 없었다. 그래서 먼저 두 장부가 실제로 같은 레코드 집합인지 비교했다. 장비의 데이터가 현실의 진실을 보장하지는 못했지만, 적어도 어떤 주장을 할 수 없는지는 알려 줄 수 있었다.
결과가 나타나자 나는 한동안 말을 하지 못했다.
[공통 식별 참조: 4,012]
[출근망에만 존재: 171]
[기억 청구에만 존재: 171]
"숫자는 같지만 전부 같은 명단은 아니네." 유나가 중얼거렸다.
"누가 171명을 바꿔 끼운 셈일까요?" 나는 말했다가 곧 말을 고쳤다. "아니, 171개 기록. 이게 서로 다른 171명이라는 증거는 없으니까."
한시우가 고개를 끄덕였다. "교체인지, 삭제된 사람의 후속 기록인지도 몰라요. 나중에 결재 흔적을 봐야 해요."
시간은 오전 여섯 시 사십칠 분이었다. 여섯 시에 열린 출근망은 정상 시간처럼 흘렀지만, 그 위에 얹힌 대기 장부만 분 단위로 빠르게 새로 고쳐지고 있었다. 누군가 수를 조정하고 있었다. 오늘 아침의 시스템은 단순한 유령 프로그램이 아니었다.
그때 내 휴대전화가 울렸다. 어머니였다.
"도겸아, 밥 먹었니?"
"아직요. 바빠서요."
"어제도 같은 말을 했어."
어머니는 그 말 뒤에 잠깐 멈췄다. 그분의 기억은 아직 빈곳이 많았다. 어떤 날은 나를 아들로 알아봤고, 어떤 날은 오래 알던 이웃처럼 공손하게 인사했다. 오늘은 운 좋게 내 이름을 불러 주셨지만, 그 사실에 너무 큰 의미를 붙이지 않으려고 했다.
"엄마, 끝나고 같이 먹어요."
"끝나고가 몇 시인지 말해 줘. 기다리는 사람한테는 그게 중요해."
그 말에 나는 창문 너머의 잿빛 하늘을 보았다. 아버지가 여전히 퇴근하지 못했다는 말을 들은 뒤로, '끝나고'라는 말은 쉽게 할 수 없었다.
"아직 몰라요. 알게 되면 바로 전화드릴게요. 기다리시게 하지 않을게요."
"그래. 그럼 나는 먼저 먹을게. 너도 꼭 먹어."
통화가 끝나자 유나가 편의점 봉투를 건넸다. 김밥 두 줄과 미지근한 우유였다.
"나중에 쓰러지면 환자 하나 더 늘어." 그녀가 말했다.
"의학적 조언이에요?"
"상식적 조언이야."
나는 김밥 하나를 입에 넣었다. 참치마요였다. 세상이 멈춰도 참치마요가 맛있다는 사실은 다행스러웠다.
오전 일곱 시 십이 분, 부산에서 첫 제보가 왔다. 교대 근무를 마치고 집에 돌아온 간병인 송미경의 근무 시스템에 '귀가 보류'가 표시됐다는 것이다. 송미경은 실제 집에 있었고, 가족과 통화도 했다. 하지만 업체 프로그램에서는 그녀가 병실을 떠난 적이 없는 사람으로 처리됐다. 그 영향으로 동료가 다음 교대 근무를 등록할 수 없었다.
"귀가가 보류돼도 사람이 물리적으로 사라지지는 않는 거군요." 내가 말했다.
"적어도 이 사례에서는요." 남 형사가 말했다. "그 말을 모든 사례로 확대하지 마세요."
우리는 현장에 강제로 조작된 출근·퇴근 기록과 정상 근무 기록을 분리 저장하도록 안내했다. 업체도 안전 문제 때문에 협조했다. 시스템을 삭제하거나 서버를 뜯어고치라는 말은 하지 않았다. 관련 자료가 없어지면 원래 근무한 사람들이 임금과 휴식권을 증명하기 더 어려워질 테니까.
오전 일곱 시 삼십오 분, 4,183이라는 숫자가 4,184로 바뀌었다.
"하나 늘었어요!" 강문석이 말했다.
나는 화면을 들여다봤다. 새 행은 이름이 없었다. '대기 주체 000'이라는 식별자만 있고, 시작 시각이 1998년 6월 13일 오후 여섯 시로 표시됐다. 방금 추가된 기록인데 시작 날짜는 스물여덟 해 전이었다.
서아가 곧바로 추적 정보를 남겼다. "현재 시각에 등록됐다고 해서 그때 새로 태어난 기록은 아닐 수 있어. 지연 동기화일 수도 있잖아."
"하지만 누가 동기화를 눌렀는지는 있겠죠?"
강문석이 고개를 저었다. "관리자 식별키는 보이는데 사용자 인증 과정이 빠졌어요."
화면 한쪽에 붉은 글씨가 떴다.
[정산 대상 재계산: 4,184]
[관리 승인키: HAN-JH-1998]
한정호. 그 이름이 다시 나타났다.
하지만 나는 이제 관리자 키에 적힌 이름만 보고 범인을 정하지 않기로 했다. 아버지의 종료 요청을 반려한 키도 한정호였다. 그것이 진짜 한정호가 눌렀다는 뜻은 아니었다. 오늘 아침에 벌어진 모든 일의 책임을 1998년의 낡은 직원증 하나에 밀어 넣는다면, 시스템이 하는 짓과 다를 바 없었다.
오전 일곱 시 오십 분에는 작은 소동도 있었다. 대전 물류센터에서 근무를 마친 직원이 출입증을 찍자 경비 단말기가 경고음을 냈다. ‘근무 종료가 확인되지 않았습니다.’ 직원은 놀라 멈췄고, 뒤에서 기다리던 사람들이 줄을 섰다. 경비원은 당황했지만 출입문을 잠그지 않았다. 실제 출입은 건물의 보안 절차와 현장 책임자가 판단할 일이지, 정체 모를 장부가 혼자 결정할 일이 아니었기 때문이다.
"문제가 생기면 사람부터 붙잡아 놓기 쉽죠." 연락을 받은 유나가 말했다. "그런데 일 끝나고 집에 가려는 사람한테는 제일 잔인한 방식이야."
우리는 담당자에게 화면 오류가 무엇인지 기록하게 하고, 별도 수기 출입 확인 방법을 확인하도록 안내했다. 그 직원이 원한다면 자신의 상황을 직접 진술할 수 있게 했다. 시스템이 틀린 사람의 하루를 증명하게 만들지 않도록, 업체 쪽에서 오작동 사실을 함께 기록하는 것이 중요했다.
서아는 협조 요청을 보낸 시각과 답변을 하나씩 적었다. 내가 장부의 거대한 숫자만 보며 초조해할 때, 그녀는 그 숫자를 한 사람의 귀가 문제로 바꾸어 읽게 했다.
"방금 그 직원 이름 알아?" 그녀가 물었다.
"아직 몰라. 동의받은 범위 안에서 확인 중이래."
"좋아. 이름이 없어도 제보를 받을 수 있고, 이름을 모른다고 그 사람이 없는 건 아니니까."
그녀는 화면 옆에 노란 포스트잇을 붙였다. '증거가 부족할 때 당사자의 권리를 줄이지 말 것.' 그 짧은 문장은 어떤 관리자 매뉴얼보다 정확했다.
나는 갑자기 전날 팀장이 보냈던 메신저를 떠올렸다. '내일 출근 가능?' 그 메시지에는 아직 답하지 않았다. 현실 회사의 출근 요청과 영병원의 강제 출근은 다른 문제였지만, 적어도 이번에는 내 의사를 말할 수 있었다. 나는 답장을 썼다. '개인 사정으로 연차 중입니다. 장애 관련 인수인계 문서는 공유했습니다.' 그리고 전송 버튼을 눌렀다.
한시우가 내 화면을 힐끗 보더니 웃었다. "세상에서 가장 무서운 시스템을 상대하면서 회사 연차도 챙기는군요."
"이거 안 챙기면 현실에서 먼저 잘립니다."
잠깐 웃음이 돌았다. 웃을 수 있는 시간이 몇 초라도 있으면 그 시간에는 아직 우리가 사람이라는 느낌이 들었다.
오전 여덟 시 십 분. 대기 기록이 4,183으로 돌아왔다. 조금 전 추가된 000번 주체는 사라지지 않았다. 대신 다른 행 하나가 목록에서 빠졌다. 그 행을 열람하려 하자 읽기 전용 화면이 나타났다.
[삭제 사유: 귀가 완료]
[귀가 확인 증인: 없음]
"증인이 없는데 귀가 완료라고요?"
서아가 손목시계를 봤다. "이게 더 무서워. 누군가 실제로 집에 돌아온 것처럼 기록을 정리하고 있어."
나는 표의 마지막 줄에서 손을 뗐다. 삭제된 행이 어떤 사람인지 알지 못했다. 그런데 누군가는 그 사람에게 귀가했다는 도장을 찍었다. 이것은 기록 정리가 아니었다. 아직 확인되지 않은 누군가의 하루를, 가장 쉬운 방식으로 끝났다고 선언하는 일이었다.
오전 여덟 시 이십팔 분, 시우가 우리에게 실험용 화면을 열어 보였다. 현실 기록을 수정하지 않는 격리 복제본이었다. 정산이 어떤 순서로 작동하는지 알아볼 마지막 기회였다. 우리는 동의를 받은 시험용 더미 계정 하나만 올려 놓았다.
8:29:59.
화면이 꺼졌다 켜졌다.
[08:30 정산 개시]
[미귀가 4,183건: 귀가 처리 또는 대리 근무로 전환]
[처리 책임자: 한정호]
실험용 더미 계정의 결과는 '귀가 처리'가 아니었다.
[미귀가 사유: 본인 확인 불가]
[대리 근무 후보: 현장 입회자 차도겸]
"잠깐만. 왜 제가 나와요?"
유나가 내 옆에서 말했다. "이번에는 네가 출근하는 게 아니야. 다른 사람을 대신 집으로 보내려고 너를 쓰려는 거야."
그리고 복제본에 없던 새로운 안내문이 실제 단말기에도 나타났다.
[현장 입회자가 대리 귀가에 동의하면 전체 정산을 즉시 완료할 수 있습니다.]
내 손이 화면 앞에서 멈췄다. 4,183명을 구할 수 있다는 말과 내 이름을 내놓으라는 말이 같은 버튼에 적혀 있었다.
제71화 댓글 0
댓글·공감·신고는 로그인 후 이용할 수 있습니다. 이전 익명 댓글은 그대로 표시됩니다.
댓글을 불러오는 중입니다.