[개드립 소설] 4. MS오피스 고액 커미터
소설 4부: MS오피스 고액 커미터
4-1장: 정직한 시간
문 수석의 작업이 시작되었다.
그런데 팀원들의 눈에 비친 광경은 기시감 그 자체였다. 문 수석은 매일 오전 화이트보드 앞에 팀원들을 세워두고 치열한 미팅을 거듭했다. 오후에는 현업 담당자들과 마주 앉아 수천 줄의 프로시저 속에 상형문자처럼 박힌 로직들을 비즈니스 언어로 번역해냈다. 저녁이면 자리로 돌아가 코드를 짰다. 화이트보드에는 사각형이 하나둘 그려졌고, 사각형 사이를 잇는 화살표에는 비즈니스 용어가 채워져 갔다.
"HashMap에 담긴 'disc_rate'가 마케팅의 '할인율'입니까, 정산의 '비율'입니까? 비결정적인 언어는 시스템의 불확실성을 키울 뿐입니다."
그의 말투는 정제되어 있었고, 강조점은 정확했다. 그리고 그것은 팀원들이 1년 전에 이미 본 광경이었다. 우진이 콘퍼런스에서 돌아와 팀 회의에서 펼쳐 보였던 도식과 너무나 닮아 있었다. 계층을 나누고, 용어를 정의하고, 인터페이스를 쪼개는 그 일련의 의식. 성치훈이 "아이고, 또 시작이네"라며 코웃음 친 바로 그 장면의 재방송이었다.
팀원들 사이에서 소곤거림이 번졌다. "저거 우진 님이 했던 거랑 뭐가 다른 거야?" 아무도 대답하지 못했다. 우진 자신조차도.
그렇게 한 달이 흘렀다.
---
어느 오후, 슬랙에 커밋 알림이 떴다. 메시지는 담백했다.
[refactor: 결제 정산 로직을 프로시저에서 애플리케이션으로 이관]
팀원들은 숨을 죽이고 공유된 코드를 열었다. 우진은 첫 화면을 마주하자마자 숨을 들이켰다. 그것은 기술적 감탄이 아니었다. 도망치고 싶은 생리적인 거부감이었다.
프로젝트 익스플로러를 가득 채운 미로 같은 파일의 숲. 화면에 나열된 수십 개의 파일 목록은 1년 전 자신을 파멸로 몰아넣었던 '8개 파일의 저주'가 더 거대해진 환영이었다. 인터페이스로 파편화된 도메인과 수많은 추상화의 계단들. 필드 하나를 고치기 위해 수십 개의 파일을 열고 닫아야 했던 그 무력한 시간들이 강제 소환되었다.
수천 줄의 HashMap이 사라진 자리를 지독하게 정교한 아키텍처가 메우고 있었다. 성치훈이 비웃던 그 '소 잡는 칼'이 더 거대해져 돌아와 시스템의 목을 겨누고 있다는 기시감. 우진은 주먹을 꽉 쥐었다. 해방의 예감이 아니라, 똑같은 비극이 더 정교하게 반복될지도 모른다는 본능적인 우려였다.
성치훈은 공유된 코드를 흘끗 보더니 고개를 저었다. "거봐. 딱 우진이 짜던 그거잖아. 파일만 더 많아졌지."
아무도 반박하지 못했다.
---
4-2장: 2주 후
커밋으로부터 2주째 되는 날, 최윤석 재무 팀장이 문 수석의 자리로 들이닥쳤다.
"수석님, 정산 차액분 결재 로직 수정해달라고 요청드린 지 벌써 사흘째입니다. 내일 오전까지 안 되면 이번 달 결산 못 끝냅니다!"
문 수석은 엑셀 명세서를 훑어보며 대답했다. "팀장님, 말씀하신 건은 정산 상태 머신을 새로 정의해야 합니다. 최소 3일은 집중해야 무결성을 보장할 수 있습니다."
"3일요?" 최 팀장의 목소리가 올라갔다. "성 부장은 10분이면 하던 걸 무슨 머신인가 미신 같은 타령입니까!"
누군가의 입에서 터진 웃음이 사무실을 갈랐다. 곧 여기저기서 참지 못한 킥킥거림이 번졌다. 최 팀장은 웃음소리에 기세가 올라 말을 이었다.
"우리는 내일 결산 마감이에요. 당장 숫자가 안 맞으면 제가 경영진한테 뭐라고 보고합니까!"
문 수석이 담담하게 대답했다. "그 건은 엑셀로 계산하세요. 정산 로직 개선은 별도로 일정 잡아 진행하겠습니다."
"엑셀요? IT 회사에서 엑셀로 재무를 보라고요?"
최 팀장의 얼굴이 붉어졌다. 시스템이 버젓이 돌아가고 있는데, 그 시스템을 만든 사람이 엑셀을 쓰라고 한다.
성치훈은 빈 종이컵을 손가락 끝으로 짓이기며 그 광경을 지켜보고 있었다. 그의 시선은 문 수석의 화면과 재무팀의 뒷모습을 바쁘게 오갔다. 책상을 까닥이던 손가락이 멈추지 않았다. 문 수석이 "엑셀로 하세요"를 내뱉는 순간, 치훈은 외투를 챙겨 자리에서 일어났다. 고개를 저으며 엘리베이터로 향하는 걸음은 사장실이 있는 층에서 멈췄다.
사무실에는 다시 무거운 침묵이 가라앉았다. 문 수석은 여전히 무표정한 얼굴로 화이트보드 앞에 섰다.
우진은 그 뒷모습을 보며 마른침을 삼켰다. 1년 전, 마케팅팀 이현주 대리가 자기 자리 앞에 서서 "왜 이렇게 오래 걸려요?"라고 물었을 때의 그 표정이 떠올랐다. 지금 최 팀장의 얼굴이 그때 이현주의 얼굴과 겹쳤다. 그리고 화이트보드 앞에 서 있는 문 수석의 뒷모습 자리에 1년 전의 자기 자신이 보였다. 주변 사람들에게 자신도 저렇게 보였을 것이다. 목이 뜨거워졌다.
30분 뒤, 치훈이 사장실에서 내려왔다. 그런데 오늘 돌아온 치훈의 표정은 달랐다. 그는 아무 말 없이 자리에 앉아 모니터 전원을 켰다가 다시 껐다. 박종수 팀장이 다가와 조심스럽게 물었다.
"대표님 뭐라고 하셨어요?"
치훈은 빈 종이컵을 한참 들여다보다 입을 열었다.
"...보자고 하시더라. 좀 더 보자고."
박 팀장이 멈칫했다. 치훈이 말을 이었다.
"연봉이 얼마짜린 줄 알아? 그 양반 데려오려고 대표가 직접 세 번이나 만났어. 경영진 회의에서 결제 정상화 건으로 보고까지 올라간 거야. 이게 우진이 때랑 같냐고."
박 팀장은 대답하지 못했다. 치훈은 외투를 다시 벗어 의자에 걸치며 낮은 목소리로 중얼거렸다.
"그래, 쉽게 안 빠지지. 이건."
사무실은 퇴근 시간이 지났지만 아무도 먼저 일어서지 않았다.
그때 옆자리의 신입이 우진에게 고개를 돌렸다. 목소리를 낮췄지만 숨기지는 못한 흥분이 섞여 있었다.
"우진 님, 저 문 수석님 코드 봤는데... 솔직히 무섭지 않으세요? 저거 결국 우진 님이 했던 거랑 같은 패턴 아닙니까? 인터페이스 쪼개고, DTO 나누고. 파일만 더 많아진 거잖아요."
우진은 모니터에서 시선을 떼지 않은 채 잠시 가만히 있었다. 입꼬리가 미세하게 올라갔다. 1년 전이었다면 얼굴이 빨개지며 아키텍처의 의의를 장황하게 설명했을 것이다. 지금은 아니었다.
"글쎄. 나도 저거 해봤거든."
그 한마디에 신입은 할 말을 잃었다. 우진은 의자를 돌려 자기 화면으로 돌아갔다. 더 보탤 말은 없었다. 해봤고, 망했다. 설명할 필요가 없었다. 설명할 수도 없었다.
며칠 뒤부터 누군가 문 수석 대신 'MS오피스 고액 커미터'라고 불렀다. 누가 먼저 붙였는지는 아무도 몰랐다.