이 작품에 등장하는 모든 인물, 이름, 집단, 사건은 허구이며 실존하는 것들을 기반으로 하지 않았습니다.
Author: flowkater
에피소드 2: 허무한 성공 - 1
[토요일, 오후 2:47] 박 팀장 - 처가댁에서
핸드폰이 울렸다. 오늘만 네 번째다.
화면을 보지 않아도 누군지 안다. 부서장님이다.
거실에서 장인어른께서 소파에 앉아 TV를 보고 계셨다. 점심은 이미 끝났다. 다들 먹었다. 나만 빼고. 첫 번째 전화가 왔을 때 숟가락을 들었고, 두 번째 전화가 왔을 때 국을 한 모금 떴고, 세 번째 전화가 왔을 때 밥상에서 일어났다. 장모님께서 랩을 씌워 놓으셨다. 미역국이었다.
“잠시만요.”
작은방으로 들어갔다. 장인어른께서 나를 힐끗 보셨다. 뭔가 말씀하시려다 안 하셨다. 장모님도 부엌에서 나를 보셨다. 아무 말씀 없으셨다. 그게 더 죄송했다.
문을 닫고 전화를 받았다.
“예, 부서장님.”
“팀장님, 아까 그 건 확인됐어요?”
아까 그 건. 대행업체에서 요청한 API 응답 시간 관련 이슈다. 특정 조건에서 3초 이상 걸린다는 민원이 들어왔다. 한 시간 전에도 같은 질문을 받았다.
“아직 확인 중입니다. 제가 직접 맡은 파트가 아니라서 담당자한테 연락해 보고…”
“아니, 팀장님이 그걸 모르면 어떡해요?”
목소리가 날카로워졌다. 익숙한 톤이다.
“해당 모듈은 하 과장 담당이라서요. 정확한 원인 파악을 위해서는…”
“담당이 누군지 물어본 게 아니잖아요.”
말이 끊겼다. 부서장님이 한숨을 쉬는 소리가 들렸다.
“팀장님, 팀장이 팀원들 업무를 다 파악하고 있어야 하는 거 아니에요? 기술적인 건 몰라도 된다고 생각하세요?”
”…죄송합니다.”
“지금 프로젝트 막판인 거 알죠? 다음 주가 최종 릴리즈인데, 대행업체에서 문의 오면 팀장이 바로 답변할 수 있어야 하는 거 아니에요?”
“예.”
“근데 담당자한테 물어봐야 안다고요?”
목소리가 한 톤 더 올라갔다.
“그럼 팀장님은 뭐 하는 사람이에요?”
가슴이 뜨거워졌다. 뭐라고 대답해야 할지 몰랐다. 지금 여기는 장인어른 댁이다. 거실에서는 장인어른께서 TV를 보고 계시고, 안방에서는 아이들이 아내랑 놀고 있다. 밥상에는 내 밥이 랩에 싸여 식어가고 있다.
“바로 확인해서 연락드리겠습니다.”
“그래요. 빨리요.”
전화가 끊겼다.
핸드폰을 내려다봤다. 손에 땀이 나 있었다. 창밖으로 고층 아파트 창문 너머 다른 아파트 동들이 보였다. 멀리 산이 보였다. 하늘은 맑았다. 평화로운 풍경이었다. 나와는 상관없는 풍경 같았다.
하 과장한테 전화를 걸었다. 신호음이 울렸다. 한 번, 두 번, 세 번. 받지 않았다. 네 번, 다섯 번. 음성 사서함으로 넘어갔다.
김 대리한테 전화를 걸었다. 두 번 만에 받았다.
“예, 팀장님.”
“김 대리, 지금 통화 가능해?”
“예, 말씀하세요.”
“API 응답 시간 이슈 있잖아. 특정 조건에서 3초 넘게 걸린다는 거. 그거 원인이 뭔지 알아?”
잠깐 침묵이 흘렀다.
“그건… 제가 맡은 파트가 아니라서 정확히는 모르겠습니다. 하 과장님이나 이 과장님 쪽 모듈인 것 같은데요.”
”…그래.”
전화를 끊었다. 다시 하 과장한테 전화를 걸었다. 역시 안 받았다. 문자를 보냈다. “하 과장, 전화 좀 부탁해요. 급한 건.”
핸드폰을 쥐고 앉아 있었다. 방 안은 조용했다. 시계 초침 소리만 들렸다. 똑. 똑. 똑.
5분이 지났다. 10분이 지났다. 답이 없었다.
방문이 살짝 열렸다. 아내였다.
“여보, 밥 먹어. 다 식겠다.”
아내가 내 얼굴을 봤다. 말을 멈췄다. 나는 아무 말 없이 핸드폰만 쥐고 있었다. 아내는 뭔가 느낀 것 같았다. 고개를 끄덕이고 문을 닫았다. 발소리가 멀어졌다.
핸드폰이 다시 울렸다. 부서장님이다. 20분밖에 안 지났는데.
“예, 부서장님.”
“확인됐어요?”
“아직… 담당자가 전화를 안 받아서…”
“토요일인데 전화를 안 받아요?”
”…”
“팀장님이 평소에 팀 관리를 어떻게 하길래 주말에 전화도 안 받아요?”
목이 막혔다. 평소에 팀 관리. 그 말이 가슴에 박혔다.
내가 뭘 잘못한 건가. 토요일에 쉬라고 한 게 잘못인가. 처가댁 오기 전에 단톡방에 “이번 주는 푹 쉬어요”라고 올렸다. 석 달 동안 주말마다 나오게 해서 미안했다. 그게 잘못인가.
“죄송합니다. 다시 연락해 보겠습니다.”
“그리고요, 팀장님.”
부서장님 목소리가 잠깐 멈췄다. 본론을 꺼내기 전의 그 특유의 침묵이었다.
“내일 대행업체에서 개발팀이랑 같이 테스트하자고 연락 왔어요.”
내일. 일요일이다.
“내일이요?”
“예. 릴리즈 전에 전체 기능 점검하고 싶다고. 지금 이슈도 있고 하니까, 팀원들 다 나와서 대응해야 할 것 같아요.”
다 나와야 한다. 일요일에.
이번 주도 매일 야근했다. 팀원들한테 이번 주말만은 쉬라고 했다. 처가댁 오기 전에 단톡방에 올렸다. “이번 주는 푹 쉬어요.” 그 메시지가 떠올랐다.
대답이 안 나왔다. 목구멍에 뭔가 걸린 것 같았다. 울컥했다. 참았다.
”…알겠습니다.”
“내일 아침 아홉 시까지 와요. 대행업체 사람들도 그때 온대요.”
”…예.”
잠깐 침묵이 흘렀다. 내가 뭔가 더 말해야 할 것 같았다.
“그… 팀원들한테는 제가 한 명씩 전화해서 얘기해 보겠습니다.”
“뭐요?”
“이번 주말은 쉬라고 제가 얘기했어서요. 갑자기 나오라고 하면…”
“팀장님.”
부서장님 목소리가 날카로워졌다.
“지금 회사 일이 중요한 거예요, 팀원들 기분이 중요한 거예요? 나오라고 하면 나오는 거지, 왜 한 명씩 전화를 해요?”
”…”
“그렇게 하나하나 신경 쓰니까 팀원들이 주말에 전화도 안 받는 거 아니에요?”
얼굴이 화끈거렸다. 반박하고 싶었다. 그게 무슨 상관이냐고. 토요일에 쉬는 게 당연한 거 아니냐고. 하지만 입이 열리지 않았다.
”…알아서 하겠습니다.”
“그리고요.”
부서장님 목소리가 갑자기 부드러워졌다. 톤이 확 바뀌었다. 이런 전환이 더 무섭다.
“이번 프로젝트 끝나면요, 팀원들 유급 휴가 며칠 줄게요. 성과급도 넉넉하게 챙겨줄 테니까. 지금은 좀 참고 회사 목표에 집중해요. 알았죠?”
유급 휴가. 성과급. 넉넉하게.
그 말들이 귀에 맴돌았다.
속으로 희망회로를 돌려본다.
‘끝나면 휴가 간다고 했으니까.’ ‘성과급 나오면 아이들 데리고 여행 가자.’ ‘며칠만 더 버티면 된다.’
”…예, 알겠습니다.”
“그럼 내일 봐요.”
전화가 끊겼다.
핸드폰을 내려놓았다. 손이 떨렸다. 다시 하 과장한테 전화를 걸었다. 신호음. 신호음. 안 받았다.
방문이 살짝 열렸다. 틈 사이로 작은 얼굴이 보였다. 딸이었다.
”…”
딸이 나를 쳐다봤다. 네 살짜리 눈이 동그랗게 떠져 있었다. 뭔가 말하려는 것 같았다. 아빠, 밥 먹어. 그런 말. 하지만 말이 나오지 않는 것 같았다. 내 표정을 보고 있었다. 평소와 다른 아빠 얼굴을.
나는 억지로 웃어 보려고 했다. 입꼬리가 올라가지 않았다.
딸이 문을 닫았다. 발소리가 멀어졌다. 뛰어가지 않고 천천히 걸어갔다.
가슴이 답답했다. 딸한테 무슨 표정을 보여준 거지. 네 살짜리가 아빠 표정 보고 그냥 돌아갔다. 뭔가 물어보지도 않고.
다시 하 과장한테 전화를 걸었다. 이번에는 받았다.
“예, 팀장님.”
“하 과장, 내일 출근 가능해?”
”…내일이요? 일요일인데요?”
“대행업체에서 테스트하자고 해서. 팀원들 다 나와야 할 것 같아.”
전화기 너머로 한숨 소리가 들렸다. 길었다.
“팀장님, 저 내일 개인 일정이 있어서요. 한 달 전부터 잡아둔 거라…”
”…그래?”
“죄송합니다. 진짜 다른 날은 다 되는데, 내일은 어려워요.”
”…알았어. 어쩔 수 없지.”
전화를 끊었다.
김 대리한테, 이 과장한테, 정 대리한테, 윤 사원한테 차례로 전화했다. 다들 알겠다고 했다. 목소리에 피로가 묻어 있었다. 윤 사원은 “예”라고만 대답했다. 신입이라 거절을 못 하는 거겠지.
하 과장이 안 나온다고 했을 때 조금 고마웠다. 이상한 감정이다. 거절해도 되는 거라는 걸 보여준 것 같아서. 나는 왜 못 하지.
방에서 나왔다. 거실로 갔다. 장인어른께서 자리에 앉아 계셨다. TV가 켜져 있었다. 소리는 줄여 놓으셨다. 장모님께서 부엌에서 뭔가 하고 계셨다. 아이들 웃음소리가 안방에서 들렸다.
장인어른께서 나를 힐끗 보셨다. 또 시선을 돌리셨다. 뭔가 물어보고 싶으신 것 같았다. 요즘 회사 어때, 바쁘지, 그런 말. 하지만 안 하셨다. 사위 눈치를 보고 계셨다.
그게 더 죄송했다. 장인어른께서 사위 눈치를 봐야 하는 상황이 됐다는 게.
“밥 먹을게요.”
“그래, 앉아.”
식탁에 앉았다. 랩을 벗겼다. 미역국이 식어 있었다. 장모님께서 부엌에서 나오셨다.
“데워줄까?”
“아닙니다. 그냥 먹을게요.”
숟가락을 들었다. 밥을 입에 넣었다. 맛이 느껴지지 않았다. 장모님께서 정성껏 차려주신 건데. 젓가락질이 느려졌다.
장인어른께서 TV를 보고 계셨다. 장모님께서 부엌으로 들어가셨다. 나는 혼자 식탁에 앉아 식은 밥을 먹었다.
핸드폰이 또 울렸다. 주머니에서 진동이 느껴졌다. 밥상 앞이었다. 장인어른께서 계신데.
화면을 봤다. 부서장님이다.
”…죄송합니다. 잠깐만요.”
일어나서 다시 방으로 들어갔다. 뒤에서 아무 소리도 안 들렸다. 장인어른도, 장모님도 아무 말 없으셨다.
문을 닫고 전화를 받았다.
“예, 부서장님.”
“하 과장 연락됐어요?”
“예. 근데 내일 출근이 어렵다고 합니다. 개인 일정이 있어서…”
“뭐요?”
“한 달 전부터 잡아둔 일정이라고…”
“아니, 지금 그게 중요해요? 회사 일이 중요해요, 개인 일정이 중요해요?”
”…”
“하 과장이 담당하는 모듈에서 문제가 생긴 건데, 본인이 안 나오면 누가 해요?”
“다른 팀원들이 봐서…”
“다른 팀원들이 하 과장만큼 알아요?”
모른다. 그 모듈은 하 과장이 처음부터 끝까지 짰다. 다른 사람이 보려면 코드 파악하는 데만 반나절이다.
“팀장님이 다시 전화해서 나오라고 하세요.”
”…예.”
전화가 끊겼다.
하 과장한테 다시 전화를 걸었다. 세 번 만에 받았다.
“예, 팀장님.”
“하 과장, 미안한데…”
”…”
“내일 좀 나와줄 수 있어? API 이슈가 하 과장 담당 모듈이라서. 부서장님께서…”
전화기 너머로 한숨 소리가 들렸다. 아까보다 더 길었다.
”…알겠습니다.”
“미안해. 정말 미안해.”
“괜찮습니다.”
괜찮지 않다는 거 안다. 목소리에 다 묻어 있었다.
전화를 끊었다.
방 안이 조용했다. 창밖으로 저녁 노을이 보였다. 고층 아파트 창문들이 주황빛으로 물들어 있었다.
이게 뭐 하는 짓인가 싶었다.
한 달 전부터 잡아둔 일정을 취소하게 만들고. 주말에 쉬라고 해놓고 다시 나오라고 하고. 팀원들한테 전화해서 죄송하다고 하고. 부서장님한테 전화받고 또 팀원들한테 전화하고.
나는 뭐 하는 사람인가.
속으로 희망회로를 돌려본다.
‘이번 프로젝트만 끝나면.’ ‘유급 휴가 준다고 했으니까.’ ‘성과급 나오면 다들 괜찮아질 거야.’
그런데 그 불안감은 가시지 않았다. 부서장님 말을 믿어도 되나. 끝나면 정말 쉴 수 있나. 성과급은 정말 나오나.
생각만 해도 피곤했다.
방문이 열렸다. 아내였다.
“여보.”
”…응.”
“아이들 아빠 보고 싶다고 하는데. 잠깐 나와.”
”…응. 금방 갈게.”
아내가 문을 닫았다.
일어났다. 거실로 나갔다. 아이들이 뛰어왔다.
“아빠!”
큰애가 내 다리를 안았다. 작은애가 뒤따라왔다. 아까 방에서 내 표정 보고 돌아갔던 딸이다. 이번에는 웃고 있었다.
“아빠, 놀아줘.”
“응. 놀아주지.”
아이들 손을 잡았다. 따뜻했다.
내일은 또 회사에 가야 한다. 일요일인데. 팀원들도 나온다. 하 과장도 일정 취소하고 나온다. 대행업체 사람들이 온다. 부서장님이 내려다보고 있다.
그래도 지금은.
지금 이 순간만은.
아이들 손을 잡고 있으니까.
조금은 괜찮았다.
[수요일, 오전 9:31] 김 대리 - 사무실에서
끝났다.
어제 저녁 일곱 시에 최종 릴리즈를 완료했다. QA 통과, 스테이징 확인, 프로덕션 반영. 마지막 커밋 메시지를 “Final release v1.0.0”이라고 적었다. 엔터를 누르는 순간 손끝이 저렸다.
석 달이었다. 주말 출근, 야근, 새벽 퇴근. 그게 끝났다.
모니터를 봤다. 빈 화면이었다. 커서가 깜빡거렸다. 뭔가 쳐야 할 것 같은데 칠 게 없었다. 석 달 동안 매일 코드를 쳤다. 아침에 출근하면 키보드에 손을 올리고, 밤에 퇴근할 때까지 코드를 쳤다. 손가락이 자동으로 움직였다. Ctrl+C, Ctrl+V. 복사, 붙여넣기. 변수명 바꾸기. 또 복사, 붙여넣기.
지금은 칠 게 없다.
터미널 창을 열었다. git log를 쳤다. 커밋 히스토리가 쭉 올라왔다. 내 이름이 박혀 있는 커밋들. 석 달 동안 쌓인 것들.
스크롤을 내렸다. 커밋 메시지들이 눈에 들어왔다. “Fix bug”, “Update feature”, “Hotfix”, “Fix bug again”, “asdf”. 다 비슷비슷했다. 뭘 고쳤는지 기억도 안 났다. 그냥 고치라고 해서 고쳤다. 버그가 나오면 잡고, 기능 추가하라면 추가하고.
입사 초기에는 커밋 컨벤션이 있었다. feat, fix, refactor. 접두어를 붙이고, 내용을 명확하게 적고. 그때는 다들 그렇게 했다. 지금은 아무도 신경 안 쓴다. 급하면 production 브랜치에 바로 푸시하기도 한다. 코드 리뷰 없이. 테스트 없이. 그냥 올리고, 문제 생기면 그때 고치고.
처음에 그걸 봤을 때 좀 놀랐다. 전 회사에서는 상상도 못 할 일이었다. 지금은 나도 그렇게 한다. 급하니까. 시간이 없으니까.
열 달 전에 이 회사에 입사했다. 대기업 계열사. 면접 때 기술 문화 얘기를 많이 들었다. 코드 리뷰가 철저하다고. 테스트 커버리지 80% 이상 유지한다고. 기술 부채 관리도 잘 된다고.
그래서 왔다. 여기라면 개발자로서 성장할 수 있을 것 같았다.
면접에 들어왔던 박 팀장님이 했던 말이 아직도 기억난다. “조직과 개발자의 성장을 최대한 일치시키기 위해 노력합니다.” 그 말이 좋았다. 진심으로 들렸다. 지금도 그 말이 거짓이라고 생각하지는 않는다. 팀장님은 아마 진심이었을 거다. 그냥 현실이 안 따라주는 것 같다.
전 회사에서는 코드 리뷰에서 칭찬받았다. 설계가 깔끔하다고. 테스트 코드를 잘 작성한다고. 오픈소스 컨트리뷰션도 몇 번 했다. 유명한 라이브러리에 PR을 올렸다. 메인테이너가 “Great work!”라고 코멘트를 달았다. 며칠 뒤에 머지됐다. 그때 기분을 아직도 기억한다. 내 코드가 전 세계 개발자들이 쓰는 라이브러리에 들어갔다. 작은 기여였지만 의미가 있었다.
요즘은 퇴근하면 아무것도 안 한다. 예전에는 집에 가서도 사이드 프로젝트를 했다. 새로운 기술을 공부했다. 기술 블로그에 글을 썼다. 지금은 퇴근하면 침대에 눕는다. 유튜브를 틀어놓고 멍하니 본다. 뭘 봤는지 기억도 안 난다. 그러다 잠든다.
GitHub 잔디가 텅텅 비어 있다. 회사 계정 말고 개인 계정. 마지막 커밋이 언제였는지 기억도 안 난다. 입사하고 나서 한 번도 안 한 것 같다.
터미널 창을 닫았다. 빈 화면이 다시 나타났다. 커서가 깜빡거렸다.
고개를 들어 사무실을 둘러봤다. 다들 비슷했다. 이 과장이 의자에 기대앉아 천장을 보고 있었다. 뭔가 생각하는 건지 그냥 멍한 건지 모르겠다. 맞은편에서는 정 대리가 마우스를 느릿느릿 움직이고 있었다. 화면에는 메일함이 떠 있었다. 윤 사원은 자리에 앉아 있긴 한데 키보드에 손을 올리지 않고 있었다. 다들 뭔가 해야 할 것 같은데 뭘 해야 할지 모르는 표정이었다.
하 과장 자리를 봤다. 하 과장도 모니터를 멍하니 보고 있었다. 화면에 뭐가 떠 있는지는 안 보였다.
일요일에 하 과장은 못 나왔다. 개인 일정이 있다고 했다. 팀장님이 토요일 저녁에 단톡방에 올렸다. “부서장님 말씀으로는 프로젝트 끝나면 유급 휴가랑 성과급 챙겨주신다고 합니다.” 그 메시지가 있어서 그나마 다들 나온 것 같았다. 없었으면 어땠을지 모르겠다. 일요일 아침에 사무실에 도착했을 때 다들 기분이 안 좋아 보였다. 당연하다. 주말인데.
대행업체 사람들이 아홉 시에 왔다. 전체 기능 테스트를 시작했다. 한 시간쯤 지났을 때 문제가 터졌다. API 응답 시간. 특정 조건에서 3초 이상 걸렸다. 대행업체 담당자 표정이 굳었다. 팀장님이 나를 불렀다. 하 과장 담당 모듈인데 하 과장이 없으니 내가 봐달라고.
하 과장은 원래 실력이 좋다. 입사했을 때 코드를 처음 봤는데, 하 과장이 짠 모듈은 구조가 깔끔했다. 변수명도 명확하고, 함수 분리도 잘 되어 있었다. 나중에 들었는데 예전에는 사내 기술 세미나에서 발표도 했다고 한다. 요즘은 그런 거 안 한다고 했다. 시간이 없어서.
그런 하 과장이 인덱스를 안 걸었다. 데이터베이스 쿼리 최적화. 기본 중의 기본이다. 하 과장 실력이면 당연히 아는 건데. 몰라서 안 한 게 아닐 거다. 그냥 시간이 없었겠지. 급하게 만들고, 테스트하고, 배포하고. 그 와중에 놓친 거겠지. 나도 그랬을 거다. 아니, 나도 그랬다.
밤새 코드를 뒤졌다. 원인을 찾았다. 인덱스 걸었다. 응답 시간이 3초에서 0.3초로 줄었다.
대행업체 사람들이 “오, 빨라졌네요”라고 했다. 그게 전부였다.
그게 엊그제 일이다. 이틀 전.
허전했다. 뭔가 남아야 할 것 같은데 남는 게 없었다.
하 과장이 기지개를 켜면서 말했다. 아까까지 모니터만 보고 있다가 처음으로 입을 열었다.
“야, 이제 휴가 언제 쓸 거야?”
이 과장이 천장 보던 시선을 돌리며 대답했다.
“부서장님이 유급 휴가 준다고 했잖아. 나 다음 주에 쓸까.”
“나도. 석 달 만에 쉬는 거다.”
정 대리가 끼어들었다. 메일함 화면을 끄고 의자를 돌렸다.
“성과급은 언제 나와요?”
“곧 나오지 않을까? 프로젝트 끝났으니까.”
하 과장이 웃으면서 말했다. 일요일에 못 나온 것 때문에 요즘 분위기 띄우려고 애쓰는 것 같았다.
“부서장님이 넉넉하게 챙겨준다고 했잖아.”
윤 사원도 슬쩍 이쪽을 쳐다봤다. 뭔가 물어보고 싶은 것 같았지만 입을 열지는 않았다. 신입이라 눈치를 보는 거겠지.
나도 기대하고 있었다. 솔직히. 돈 때문만은 아니다. 열 달 동안 뭘 했나 싶었다. 복사 붙여넣기. production 브랜치에 바로 푸시. 테스트 없이 배포. 그래도 열심히 했다. 밤새 디버깅하고, 주말에 나와서 남의 코드 고치고. 그게 의미 있었다는 걸 확인받고 싶었다.
열 시쯤 팀장님이 부서장실에서 내려오셨다. 표정이 묘했다. 좋은 건지 나쁜 건지 읽기 어려웠다.
(Continue..)
댓글