ORIGINAL FICTION
제36화 — 밤새 돌아가는 것
지난 화 끝부분 다시 보기
첫 고객 시스템의 최종 야간시험은 금요일 밤에 시작됐다.
이유는 단순했다.
고객이 주말 동안 실사용 데이터를 돌려보겠다고 했기 때문이다.
Helioxen 직원 여섯 명 중 네 명이 사무실에 남았다.
대니얼도 남으려 했다.
팀장이 말했다.
“대표님은 가셔도 됩니다.”
“왜요?”
“저희가 돌리는 거니까요.”
“문제 생기면?”
“전화드리죠.”
대니얼은 불편했다.
“첫 고객입니다.”
“알고 있습니다.”
“첫 밤이고.”
“그것도요.”
대니얼이 서버실을 봤다.
팬 소리.
온도센서.
작업대기열.
첫 시스템이 고객 데이터를 실제로 처리하고 있었다.
몇 달 동안 만든 것.
그걸 두고 집에 간다?
이선이 옆에서 말했다.
“가.”
“당신도 있잖아요.”
“난 피자 먹으러.”
“그럼 저도.”
“댄.”
대니얼은 한숨을 쉬었다.
“두 시간만.”
팀장이 포기한 표정을 지었다.
“두 시간.”
첫 한 시간은 평온했다.
대기열이 차고.
노드가 하나씩 작업을 가져갔다.
온도가 올라갔다.
스케줄러가 일부 작업을 다른 노드로 옮겼다.
피크전력도 예상범위 안.
대니얼은 모니터에서 눈을 떼지 않았다.
한 시간 삼십 분.
첫 오류.
작업 하나가 중단됐다.
대니얼이 바로 자리에서 일어났다.
“왜?”
개발자가 로그를 봤다.
“입력파일 문제 같습니다.”
“시스템 문제 아니고?”
“확인 중.”
대니얼은 화면 옆으로 다가갔다.
“여기 메모리—”
팀장이 손을 들었다.
“대표님.”
“네.”
“두 시간 약속.”
“아직 두 시간 안 됐습니다.”
“오류는 저희가 봅니다.”
대니얼은 입을 다물었다.
개발자들이 로그를 확인했다.
대니얼은 뒤에서 기다렸다.
기다리는 시간이 더 힘들었다.
십 분.
십오 분.
입력파일의 특정 옵션이 문제였다.
고객이 쓰던 오래된 형식.
변환도구가 일부 값을 잘못 읽었다.
수정.
재시작.
작업이 다시 돌아갔다.
대니얼이 말했다.
“이런 형식 전부 테스트했어야 했습니다.”
팀장이 대답했다.
“맞습니다.”
“왜 안 했죠?”
“샘플이 없었습니다.”
“고객한테 받았어야죠.”
“받아달라고 요청했습니다.”
“언제?”
팀장이 대니얼을 봤다.
“대표님 검토대기 메일에 있었습니다.”
대니얼의 입이 닫혔다.
또 자신.
이선이 조용히 피자를 씹었다.
대니얼이 말했다.
“앞으로 고객자료 요청은 제 승인 없이 하세요.”
“이미 그렇게 바꿨습니다.”
“언제?”
“지난주 권한회의 때.”
대니얼은 헛웃음이 나왔다.
팀은 이미 고치고 있었다.
문제는 자기 머릿속이 아직 못 따라간다는 것이었다.
두 시간째.
대니얼은 결국 사무실을 나왔다.
엘리베이터 버튼을 누르는데 뒤에서 팀장이 말했다.
“대표님.”
대니얼이 돌아봤다.
“전화 안 하면 성공한 겁니다.”
“그게 좋은 건지 나쁜 건지 모르겠네요.”
“좋은 겁니다.”
대니얼은 집으로 갔다.
잠은 못 잤다.
새벽 한 시.
휴대전화 확인.
아무 연락 없음.
두 시.
없음.
세 시.
없음.
세 시 십칠 분.
전화가 울렸다.
대니얼은 침대에서 거의 튀어올랐다.
“네.”
이선이었다.
“안 자?”
“무슨 문제입니까?”
야간시험이 62퍼센트에 도달했을 때 대니얼의 손이 멈췄다.
진행률 표시.
62%.
숫자 하나.
그런데 통제실이 겹쳤다.
첫 대형 편향임무.
목표의 62퍼센트.
전 세계가 환호했고, 자신만 웃지 못했던 날.
누군가 옆에서 말했다.
“대표님?”
대니얼이 현실로 돌아왔다.
팀장이 진행률 화면을 보고 있었다.
“괜찮습니까?”
“네.”
“안색이…”
“그냥 피곤해서.”
거짓말이었다.
대니얼은 물을 마셨다.
화면은 63퍼센트로 넘어갔다.
그제야 숨을 조금 편하게 쉬었다.
숫자는 숫자일 뿐이었다.
이 시스템은 소행성 편향체가 아니다.
62퍼센트에서 멈춘 것도 아니다.
그런데 몸은 기억보다 먼저 반응했다.
그는 그날 처음으로 특정 숫자도 기억의 방아쇠가 될 수 있다는 걸 알았다.
이선은 눈치챘지만 묻지 않았다.
대신 피자 한 조각을 건넸다.
“먹어.”
“배 안 고픕니다.”
“그래도.”
대니얼은 받아들었다.
한 입 먹고 화면을 봤다.
64퍼센트.
65.
시스템은 계속 갔다.
그 단순한 진행이 이상하게 위로가 됐다.
테스트가 끝난 다음날, 대니얼은 결과보고서에 62라는 숫자가 들어간 그래프를 한참 보다가 그냥 넘겼다.
과거가 현재의 모든 숫자에 의미를 붙이게 두고 싶지 않았다.
앞으로 수많은 62퍼센트를 보게 될 것이다.
그때마다 무너질 수는 없다.
“문제 없어.”
“그럼 왜 전화했어요?”
“네가 계속 전화기 보고 있을 것 같아서.”
대니얼은 말이 없었다.
이선이 웃었다.
“잘 돌아가. 자.”
“온도는요?”
“정상.”
“오류율.”
“하나 수정하고 없음.”
“전력.”
“예상보다 조금 낮아.”
대니얼은 눈을 감았다.
“알겠습니다.”
“그리고.”
“네.”
“전화 끊고 자.”
통화 종료.
대니얼은 정말로 눈을 감았다.
몇 분 뒤 또 떴다.
그래도 이번에는 휴대전화를 잡지 않았다.
아침 일곱 시.
팀장이 사진을 보냈다.
작업대기열이 비어 있었다.
밤새 예정된 계산이 전부 끝났다.
메시지 한 줄.
Completed.
대니얼은 그 단어를 오래 봤다.
2046년에는 ‘완료’라는 단어보다 ‘지연’, ‘부족’, ‘실패’를 더 많이 봤다.
지금은 작은 시스템 하나가 밤을 버텼다.
아침 사무실에 도착하자 직원들은 피곤한 얼굴로 커피를 마시고 있었다.
대니얼이 말했다.
“수고했습니다.”
한 개발자가 물었다.
“대표님도 주무셨어요?”
“조금.”
이선이 폭로했다.
“세 시에 전화 받자마자 목소리 맑던데.”
웃음.
대니얼은 모른 척했다.
팀장이 결과표를 보여줬다.
전체 작업시간.
기존 대비 2.18배 빠름.
중단 작업 하나.
재실행 성공.
전력비 포함 예상 운영비.
고객 요구조건 안.
완벽하지 않았다.
그런데 제품이었다.
연구실 벤치마크가 아니라.
사람이 실제 일을 맡길 수 있는 시스템.
대니얼이 결과표를 보며 말했다.
“다음은 가속기—”
팀장이 바로 말했다.
“오늘은 하지 마세요.”
대니얼이 입을 다물었다.
사람들이 웃었다.
그도 웃었다.
“좋습니다.”
그날 오전만큼은 다음 버전을 말하지 않았다.
첫 시스템이 밤새 돌아갔다는 사실만으로 충분했다.
야간시험 뒤 팀은 다음날 오전을 쉬기로 했다.
대니얼은 처음에는 반대했다.
“결과정리해야 합니다.”
팀장이 말했다.
“오후에 하죠.”
“기억 생생할 때—”
“대표님.”
대니얼이 입을 다물었다.
사람들은 밤을 샜다.
자기도 예전에는 그걸 당연하게 여겼다.
2046년의 마지막 몇 년 동안은 모두가 잠을 줄였다.
그때는 선택지가 없었다.
지금은 있었다.
“오후 두 시.”
대니얼이 말했다.
사람들이 돌아갔다.
대니얼만 사무실에 남았다.
이선이 문 앞에서 말했다.
“너도.”
“전 괜찮습니다.”
“그래서 더 가.”
대니얼은 결국 집에 갔다.
세 시간 잤다.
오후 회의에서 실수 하나를 바로 잡았다.
아침까지 남아 있었다면 놓쳤을 문제.
그는 마지못해 인정했다.
휴식도 오류율을 낮추는 기술이었다.
팬과 냉각만 시스템 안정성을 만드는 게 아니었다.
사람도 과열된다.
그리고 사람은 서버처럼 경고등을 명확하게 켜주지 않는다.
다음 시험부터는 야간근무 뒤 휴식시간도 계획표에 들어갔다. 대니얼은 마지못해 승인했고, 팀은 웃었다.
그날 밤 대니얼은 62퍼센트 화면을 캡처해두지 않았다.
예전의 자신이라면 기록했을 것이다.
이번에는 일부러 흘려보냈다.
모든 기억을 붙잡고 있을 필요는 없었다.
대니얼은 다음 시험표에 ‘사람 휴식’ 항목도 넣었다. 장비와 마찬가지로 사람도 계속 최고출력으로 돌릴 수는 없었다.
그날 오후 시험결과를 다시 보면서 대니얼은 한 줄을 추가했다.
Sustainable speed beats exhausted speed.
팀장은 그 문장을 보고 고개를 끄덕였다.
읽은 화로 기록했습니다. 다음 화는 바로 이어집니다.