Showing Posts From

주말

주말 문자: '혹시 확인 가능하신가요?'의 무서움

주말 문자: '혹시 확인 가능하신가요?'의 무서움

주말 문자: '혹시 확인 가능하신가요?'의 무서움 토요일 오후 3시 27분 침대에 누워 있었다. 넷플릭스 틀어놓고 폰으로 커뮤니티 보는 중. 딱 이 타이밍에 진동이 왔다. 슬랙 알림. "김개발님, 혹시 주말인데 죄송하지만 확인 가능하신가요?" 심장이 쿵 내려앉는다. 토요일이 끝났다. 정확히는 3시 27분에.메시지 내용은 안 봐도 안다. "급한 건 아닌데" 로 시작하는 글은 100% 급하다. "시간 되실 때" 라고 쓴 건 "지금 당장" 이란 뜻이다. 물음표 하나가 주말을 파괴한다. 확인하지 말까, 확인할까 5초간 고민한다. 안 본 척? 불가능하다. 이미 슬랙이 '읽음' 표시를 띄웠을 수도 있다. 설령 안 읽어도, 내일 출근하면 "어제 메시지 못 보셨어요?" 가 기다린다. 확인하면? 주말이 증발한다. "네 확인해볼게요" 라고 답장하는 순간, 나는 출근 상태가 된다. 침대는 책상이 되고, 휴식은 업무가 된다. 결국 확인한다. 안 할 수가 없다.내용을 본다. "고객사에서 데이터 조회가 안 된다고 하는데, 혹시 서버 확인 부탁드려요. 급하진 않은데 월요일 전에 해결되면 좋을 것 같아서요." 급하지 않다고? 월요일 전이면 오늘 아니면 내일이다. 이게 급하지 않은 거면 뭐가 급한 건데. 노트북을 켠다 한숨이 나온다. 침대에서 일어난다. 거실로 간다. 노트북 가방을 집는다. 무겁다. 마음이 더 무겁다. 전원을 켠다. 부팅 소리가 주말 종료 알람처럼 들린다. VPN 접속. 비밀번호 치는 손가락이 무겁다. 아내가 거실로 나온다. "왜? 뭐 일 있어?" "응... 좀 급한 거래." 미안하다는 말은 안 한다. 이미 몇 번을 겪었으니까. 아내는 한숨만 쉬고 들어간다.모니터링 툴을 연다. 그라파나, 키바나, 센트리. 로그를 본다. 에러는 없다. 데이터베이스 접속한다. 쿼리 날린다. 결과는 정상이다. 10분 지났다. 문제가 없다. 슬랙에 답장한다. "확인했는데 서버는 정상입니다. 혹시 어떤 화면에서 어떻게 조회하셨는지 알 수 있을까요?" 답장이 온다. 20분 후에. "아 고객사가 캐시 문제였나봐요. 새로고침하니까 되네요. 감사합니다!" 캐시. F5 한 번이면 되는 걸로 내 토요일 오후가 날아갔다. 그래도 끌 수가 없다 노트북을 닫아야 한다. 알고 있다. 근데 안 닫힌다. "혹시 또 문자 오면?" 이라는 생각이 든다. 이미 노트북 켜놨으니까, 그냥 좀 더 보는 게 낫지 않나. 슬랙 채널을 훑는다. 어제 올라온 메시지들. 지라 티켓도 확인한다. 새로 등록된 버그 3건. PR도 하나 올라와 있다. 후배가 올린 거. "주말엔 안 봐도 되는데..." 라고 생각하면서 클릭한다. 코드를 본다. 리뷰를 단다. "이 부분 null 체크 필요할 것 같아요." 댓글 남기고 나서 후회한다. 주말에 왜 리뷰를 달았지. 후배가 주말에 수정하면 어떡하지. 너무 늦었다. 이미 후배가 답글을 달았다. "오 감사합니다! 수정했어요." 주말 근무가 전염된다. 저녁이 되어도 시계를 본다. 6시 반. 아내가 저녁 먹자고 한다. "응, 곧 갈게." 노트북은 아직 켜져 있다. 슬랙 알림은 여전히 켜져 있다. 치킨을 시켰다. 아내랑 같이 먹는다. 근데 폰은 식탁 위에 있다. 화면이 보이는 각도로. 진동이 올 때마다 시선이 간다. "업무 채널 아니겠지?" 확인한다. 다행히 스팸 문자다. 치킨 먹으면서도 긴장한다. 주말인데 주말이 아니다. 아내가 말한다. "너 맨날 주말에도 폰 보더라. 그냥 알림 끄면 안 돼?" 끌 수 있으면 진작 껐다. 문제는 알림이 아니다. 내 머릿속이 문제다. 알림 꺼도 "혹시 급한 거 왔으면?" 이라는 생각이 든다. 30분마다 슬랙 확인한다. 아무 메시지 없으면 다행이다. 근데 또 30분 후에 확인한다. 이게 주말 근무보다 피곤하다. 차라리 일하는 게 나을 것 같다는 생각이 든다. 일요일도 마찬가지 일어나자마자 폰을 본다. 슬랙 확인. 다행히 메시지 없다. 근데 안심이 안 된다. "아직" 없는 것뿐이다. 샤워하면서도 폰을 가까이 둔다. 혹시 진동 소리 못 들을까봐. 점심 먹고 카페 간다. 아내랑. 노트북은 안 가져왔다. 의지의 한국인. 근데 폰은 있다. 핫스팟 켜면 된다. 만약 급한 일 생기면 노트북 가지러 집 갔다 오면 된다. 왕복 30분. 충분히 가능하다. 카페에서 2시간 있었다. 슬랙 17번 확인했다. 메시지는 없었다. 돌아오는 길에 생각한다. "오늘은 조용하네. 내일 월요일이 걱정이다." 주말이 끝나가는데 안도감이 든다. 이상하다. 주말이 끝나는 게 다행이라니. 월요일 출근 9시에 출근한다. 컴퓨터 켠다. 슬랙 연다. 주말 메시지 쭉 확인한다. 토요일 메시지: 캐시 문제 해결. 일요일 메시지: 없음. 결국 토요일 그 한 건이었다. 그 한 건 때문에 주말 이틀을 긴장하며 보냈다. 치킨 먹을 때도, 카페 갈 때도, 자기 전에도. 동료가 말한다. "주말 잘 쉬었어?" "응, 뭐 그럭저럭." 거짓말이다. 하나도 안 쉬었다. 그 문자의 정체 "혹시 확인 가능하신가요?" 이 문장이 무서운 이유를 안다. 급하다는 뜻이다. 근데 급하다고 안 쓴다. 완곡하게 물어본다. 선택권이 있는 것처럼. 실제로는 선택권이 없다. "아니요, 확인 불가능합니다" 라고 답할 수 있나? 못 한다. 절대로. 그래서 더 무섭다. 거절 불가능한 부탁. 그게 물음표로 포장되어 온다. "죄송하지만" 이라는 말도 들어간다. 미안해하면서 부탁한다. 거절하기 더 어렵다. "주말인데" 라고 명시한다. 본인도 알고 있다. 주말이란 걸. 근데 보낸다. 그만큼 급하다는 뜻이다. 결국 이 문장은 명령이다. 물음표로 끝나는 명령문. 경력이 쌓일수록 신입 때는 달랐다. 주말 메시지 오면 선배가 처리했다. "내가 볼게, 넌 쉬어" 라고 했다. 지금은 내가 제일 시니어다. 주말 메시지는 내게 온다. 후배들한테 떠넘길 수도 있다. 근데 안 한다. 왜냐하면 나도 당했으니까. "김개발님이 봐주시면 빠를 것 같아서요." 이 말의 뜻: 다른 사람은 못 한다. 너만 가능하다. 책임감이 주말을 잡아먹는다. 연봉이 오를수록 주말은 짧아진다. 시니어라는 타이틀의 대가. 신입 때는 주말에 연락 없었다. "경력 쌓으면 편해지겠지" 라고 생각했다. 틀렸다. 반대였다. 대응 방법들 방법을 찾아봤다. 커뮤니티에. "알림 끄세요." 끄면 불안하다. 이미 답했다. "회사 핸드폰 따로 쓰세요." 회사가 안 준다. 개인 폰에 슬랙 깔아야 한다. "퇴근하면 슬랙 로그아웃하세요." 해봤다. 30분 버티다가 다시 로그인했다. "업무 시간 외 연락 금지 문화 만드세요." 어떻게? 나부터 지키질 못한다. 해외 사례도 봤다. 프랑스는 '연결되지 않을 권리' 가 법으로 있다. 부럽다. 한국은 '확인 가능하신가요' 가 문화다. 결국 답은 없다. 회사를 옮겨도 마찬가지다. 어디를 가도 '혹시 확인 가능하신가요' 는 있다. IT 업계의 숙명. 24시간 운영, 24시간 대기. 진짜 무서운 건 적응한다는 거다. 처음엔 화났다. 주말인데 왜 연락하냐고. 지금은 그냥 확인한다. 당연하다는 듯이. 주말에 메시지 안 오면 이상하다. "오늘은 조용하네?" 라고 생각한다. 평화로운 주말이 불안하다. "월요일에 터지는 거 아니야?" 걱정한다. 이게 무섭다. 주말 근무를 당연하게 받아들이는 나. 동기들이랑 술 마셨다. 한 친구가 말했다. "너 주말에도 폰 계속 보더라. 슬랙이야?" "응, 습관이야." "끄면 안 돼?" "끄면 불안해." 친구가 웃었다. "너 중독됐다." 맞다. 중독이다. 일 중독이 아니라 불안 중독. 그래도 안 볼 수는 없다. 현실적으로 생각한다. 무시하면 월요일이 지옥이다. 처리 안 된 이슈가 쌓인다. 주말에 30분 일하면 월요일 3시간 아낀다. 그게 더 낫다. 효율적이다. 이렇게 합리화한다. 아내한테 설명했다. "지금 안 하면 월요일에 더 힘들어." 아내가 말했다. "그럼 월요일은 언제 또 힘드냐?" 대답 못 했다. 맞는 말이다. 월요일 처리하면 화요일 급한 게 온다. 화요일 처리하면 수요일 급한 게 온다. 끝이 없다. 주말에 미리 처리하는 건 해결이 아니다. 그냥 이슈를 당겨오는 것뿐이다. 이상과 현실 이상: 주말엔 완전히 쉰다. 현실: 주말엔 반쯤 쉰다. 노트북은 안 켜도 폰은 확인한다. 긴급한 것만 처리한다. 근데 모든 게 긴급하다. 타협한다. "토요일엔 확인만, 일요일엔 아예 안 봐." 지켜진 적 없다. "오전엔 확인 안 해, 오후에만." 이것도 안 된다. 오전 10시에 확인한다. "자기 전엔 절대 확인 안 해." 누워서 확인한다. 마지막으로. 결국 다 확인한다. 규칙은 깨지라고 있는 거다. 내 규칙은. 다른 직군은 디자이너인 아내는 주말에 연락 없다. "너희는 급한 거 없어?" "있지. 근데 주말엔 안 해." "그럼 월요일에 늦는 거 아니야?" "늦으면 늦는 거지. 주말인데." 부럽다. 개발자는 다르다. 서버가 죽으면 매출이 죽는다. 버그가 터지면 고객이 떠난다. "월요일까지 기다려주세요" 가 안 통한다. 그래서 주말에도 대기한다. 소방관처럼. 경찰관처럼. 근데 우리는 수당도 없다. 마케터 친구도 비슷하다. "주말엔 캠페인 안 돌려. 평일에만." 기획자 친구는 더하다. "주말? 당연히 쉬지. 왜?" 우리만 이렇게 사는 건가. 아니다. 다른 개발자들한테 물어봤다. 똑같다. 다들 주말에도 확인한다. 이게 정상인가, 비정상인가. 업계 전체가 이러면 정상인 건가. 언제까지 10년 차 선배한테 물었다. "선배도 주말에 확인해요?" "당연하지." "언제까지 해야 돼요?" "나도 모르겠다. 아직도 하고 있으니까." 희망이 없다. 은퇴할 때까지? 이직해도? 프리랜서 돼도? 서버가 돌아가는 한, 우리는 대기한다. 365일, 24시간. 실제로 일하는 건 아니어도, 대기는 한다. 이게 개발자의 숙명이다. 코드는 자면서도 돌아간다. 그래서 우리도 자면서 깬다. 폰 진동 소리에. 토요일 오후 3시 27분의 공포 다시 그 순간으로 돌아간다. 침대에 누워 있다. 평화롭다. 진동이 온다. 슬랙이다. "혹시 확인 가능하신가요?" 이 문장이 눈에 들어오는 순간, 주말이 끝난다. 정확히 3시 27분에. 앞으로 몇 시간이 남았는지는 중요하지 않다. 이미 출근 모드로 전환됐다. 뇌가 깨어난다. 휴식 모드 종료. 어떤 이슈일까. 심각한 건가. 빨리 처리 가능한가. 생각이 돌아가기 시작한다. 주말은 시간으로 측정되지 않는다. 메시지 하나로 시작되고 끝난다. "혹시 확인 가능하신가요?" 이게 주말 종료 알람이다.다음 주말도 똑같을 것이다. 그다음 주말도. 근데 확인은 할 거다. 안 볼 수가 없으니까.

주말 치킨 배달이 유일한 낙인 남자

주말 치킨 배달이 유일한 낙인 남자

주말의 유일한 낙, 치킨 배달이 오는 그 순간 금요일 퇴근 시간, 나는 벌써 내일 주말 계획을 생각한다. 아니, 계획이라고 하기도 뭐한데, 그냥 루틴이다. 정해진 루틴. 마치 프로덕션 배포 절차처럼 변하지 않는, 그리고 변할 수 없는 루틴 말이다. 회사에서 나오면서 슬랙은 무음으로 돌린다. 월요일 아침까지는 거의 안 봐도 된다는 걸 이제 알았다. 진짜 급한 일이면 전화를 하겠지. 지금까지 그런 일은 없었고, 앞으로도 없을 거다. 아무튼 그렇게 자유로워진다. 금요일 저녁, 차를 몰고 집으로 향하면서 나는 이미 누군가를 기다리고 있다. 아내다. 아니다. 아내가 아니다. 아내는 주말도 일이 많다. UI 디자이너라는 게 그런 건지, 아니면 그냥 업계가 그런 건지 모르겠지만, 토요일 오후쯤이면 출근한다. "기획이 밀렸어"라는 메시지와 함께. 나는 이미 여러 번 봤다. "금요일에 더 할 수 있었잖아"라고 말하고 싶지만, 남편으로서의 기본 소양이 아직 남아있어서 그냥 "알았어, 늦지 말고 와"라고 답한다. 얄미운 건, 내가 그렇게 말하면 정말 늦다는 것이다. 그럼 나는?토요일 아침 10시. 늦잠이 내 주말의 시작이다. 평일에는 7시에 일어난다. 아내도 7시 30분쯤 일어난다. 양치질하고 세안하고 옷 입고 정신없이 집을 나간다. 하지만 토요일은 다르다. 토요일 아침 7시 알람을 설정해놨지만 나는 멍을 때린다. "한 시간 더"라고 생각한다. 그 "한 시간 더"가 얼마나 행복한가. 알람이 또 울린다. 8시 30분. 이제 일어나야 한다는 생각이 들지만, 여전히 침대에서 나갈 이유가 없다. 핸드폰을 집어 들고 회사 단톡방을 본다. 아, 어제 배포한 버그에 대한 메시지가 5개 있다. "나중에 본다"라고 중얼거리고 다시 눈을 감는다. 그렇게 또 한 시간이 지난다. 10시. 정신을 차린다. 아내는 벌써 나갔다. 샤워실에서 나오면서 "점심까지만 와, 저녁은 늦을 것 같아"라고 했다. 고개를 끄덕였던 것 같은데 정확히 기억나지 않는다. 어차피 내 계획에는 영향을 주지 않는다. 일어나서 화장실 가고, 세수하고, 냉장고를 연다. 지난주에 샀던 두유, 계란, 상한 것 같은 김치. 밥? 없다. 빵? 없다. 그럼 뭐 먹지? 아, 치킨이다. 아직 이른 시간이지만 벌써 배달 앱을 든다 스마트폰을 집어 들고 배달 앱을 킨다. 10시 35분. 한 시간쯤 있으면 배달받을 수 있는 시간이다. 나는 이미 이 시간들을 백분율로 계산한다. 조리 시간 20분, 배달 시간 15분, 기다리는 시간의 여유 20분. 11시 25분쯤이면 초인종이 울린다. 화면을 넘긴다. 어제 먹던 그 닭다리 세트? 아니면 오늘은 순살? 두 가지를 섞어주는 혼합 세트도 있다. 나는 항상 같은 것을 본다. 그 가게. 별점 4.8. 리뷰 7천 개. "역시 여기지"라고 중얼거린다. 사이드 시스템 구축할 때처럼 결정을 내린다. 순살+다리 조합, 소스는 간장, 치즈는 추가. 콜라 2리터. 이걸 본다고 해서 뭔가 건강해지는 건 아니지만, 나는 마치 영양소 계산을 하는 것처럼 "단백질... 칼슘..."이라고 중얼거린다. 수량을 선택하고 주소를 확인한다. 집 주소. 당연히 집 주소다. 결제한다. 버튼을 누르는 그 순간, 약간의 신비로운 설렘이 생긴다. "주문이 접수되었습니다. 가게에서 준비 중입니다." 알림 메시지. 이제 시작이다. 나는 화면을 계속 본다. "요리 중 70%"... "요리 중 90%"... 그리고 마침내 "배달원이 픽업했습니다."11시 10분. 이제부터는 기다림의 순간이다. 게임을 할까? 유튜브를 볼까? 아니다. 나는 배달원의 위치를 추적한다. 지도에 빨간 마크가 움직인다. 우리 동네 골목을 누비고 다닌다. "벌써 여기까지 왔어?"라고 중얼거린다. 마치 실시간 로그를 모니터링하는 것처럼. "배달 예상 시간 5분" 알림이 뜬다. 그 5분이 길다. 진짜로. 세상에 가장 긴 5분은 커피를 기다리는 시간이고, 그 다음이 치킨 배달을 기다리는 시간이다. 나는 현관 문 앞으로 간다. 신발을 신는다. 빼낸다. 다시 신는다. 이게 정상적인 행동일까? 모르겠다. 하지만 이건 루틴이다. 그리고 초인종이 울린다. 나만의 극장에 오신 것을 환영합니다 배달원은 손에 따뜻한 포장을 들고 서 있다. "감사합니다"라고 말하고, 그는 "감사합니다"라고 답한다. 문을 닫는다. 현관에서 거실로 온다. 콘크리트 바닥이 아닌, 정말로 따뜻한 집의 공간이 거기 있다. 소파에 앉는다. 박스를 열지 않는다. 아직 천천히 먹고 싶다. 영화를 킨다. 넷플릭스다. 뭘 볼까? 이미 본 시리즈 목록을 스크롤한다. "가디언즈 오브 갤럭시"는 벌써 10번 이상 봤다. "쇼생크 탈출"도 마찬가지다. 결국 나는 다큐멘터리를 켠다. "동물의 세계" 같은 거. 음소거 하고 자막만 켜놓아도 되는 종류의 콘텐츠다. 배경음이 필요할 뿐이다.이제 박스를 연다. 김이 모락모락 나온다. 그 냄새. 프로젝트를 성공적으로 마무리했을 때의 그 쾌감과는 다르지만, 어떤 의미에서는 비슷한 만족감이 있다. 정말이다. 나는 닭다리를 집는다. 한입 물어뜯는다. 바삭하다. 바삭한데 속은 말랑하다. 간장 소스가 입에 퍼진다. 소금기와 단맛의 균형. 이거다. 이게 내가 원하던 거다. 누군가는 나를 보고 뭐라고 할까? "주말에 또 치킨이야?", "항상 같은 거 먹네", "이게 웰빙이냐"... 하지만 지금 이 순간에는 그런 목소리들이 들리지 않는다. 음소거된 다큐멘터리에서 수사자가 얼룩말을 사냥한다. 이건 자연의 법칙이다. 나도 이 법칙을 따르고 있을 뿐이다. 내 먹이 사슬에서, 치킨은 정점이다. 두 시간이 흐른다. 박스는 비워진다. 콜라는 반쯤 마셔진다. 나는 소파에서 움직이지 않는다. 움직일 이유가 없다. 냉장고에서 나온 아이스크림을 집어 들고, 침대까지 걸어가는 거 말고는. 폰을 집는다. 단톡방을 본다. "개발이 뭐 어려운데, 이거 간단하게 할 수 있잖아?"라는 기획자의 메시지가 보인다. 월요일에는 이걸 보고 분노해야 하는데, 지금은... 그냥 "내일이 아니니까 괜찮아"라고 생각한다. 사이드 프로젝트를 한 번 시작해볼까 하는 생각도 든다. 하지만 이건 아까 봤던 생각이고, 앞으로도 끝까지 생각으로만 남을 것 같다. 완벽한 루틴의 또 다른 이름 누군가는 주말을 낭만적으로 보낸다. 산에 오르고, 영화관에 가고, 카페에서 새 책을 읽는다. 하지만 나는? 나는 집에 있다. 소파에 누워있다. 가끔은 이게 정상일까 생각한다. 34살 남자가 주말에 할 일이 치킨 배달뿐일까? 하지만 지금은 그렇게 생각하지 않는다. 평일에는 남편이고, 직장인이고, 테크 리드고, 누군가의 코드 리뷰어다. 점심시간 30분이 내 자유다. 연속으로 15분 화장실 들어가는 게 반항이다. 회의 중에 유튜브를 보면서 "아 그거요"라고 답하는 게 내 자존감 유지 방법이다. 하지만 토요일은? 토요일은 내 것이다. 아내가 없고, 업무 메시지도 없고, 기획자의 황당한 요청도 없다. 그냥... 나. 그리고 따뜻한 치킨. 그리고 누군가의 방해받지 않는 자유로움. 이게 뭐 대단한 걸까? 다른 사람들 보기에는 그냥 평범한 토요일일지도 모른다. 하지만 나한테는? 이건 지켜내야 할 가장 소중한 루틴이다. 월요일이 오면 다시 시작된다. 시스템은 작동하고, 코드는 배포되고, 회의는 계속되고, 기획자는 또 "이거 간단하죠?"라고 묻는다. 하지만 그 때도 상관없다. 왜냐하면 나는 이미 알기 때문이다. 다음 토요일이 오면, 또 이 루틴이 반복된다는 것을. 10시 늦잠, 11시 25분 초인종, 2시간 소파. 변하지 않는 프로덕션 절차처럼. 그리고 이게 나를 일요일 밤 일찍 자는 죄책감도, 월요일 아침의 기진맥진함도 잠시 잊게 해준다. 아내는 10시 반쯤 된다고 했다. 나는 "알았어"라고 답한다. 아직 치킨 냄새가 살짝 남아있다. 냉장고에 콜라 반병이 남아있다. 내일도 이 자유로움이 계속되길 바란다.주말의 진정한 사치는 비싼 것이 아니라, 누구의 방해도 받지 않는 그 한두 시간이 아닐까.

주말 슬랙 알림 공포증: 무음 설정의 비극

주말 슬랙 알림 공포증: 무음 설정의 비극

주말 슬랙 알림 공포증: 무음 설정의 비극 가을이 들어서니 퇴근길이 조금 더 편해졌다. 해가 일찍 지니까 야근을 하지 않는 이상 어두운 건물을 빠져나올 수 있다는 뜻이니까. 어제도 그랬다. 금요일 6시 딱 맞춰 자리에서 일어났고, 모니터를 끄고 슬랙을 열었다. 상태 메시지를 "자리 비움"에서 "주말 모드"로 바꾸고, 손가락이 거기서 멈췄다. 슬랙 알림 설정 화면. 그 초라한 체크박스들이 나를 바라보고 있었다. 금요일 저녁, 결정의 순간 보통 금요일 밤이 되면 이 문제가 터진다. 혼자만의 싸움이 아니라, 개발자라면 누구나 겪는 그 오래되고도 끝나지 않는 문제. "슬랙 무음으로 할 거야, 아니면 소리 켜둘 거야?" 회사 지친다고 늘 투덜대던 선배 개발자 김상현이는 올해 초 이렇게 말했었다. "나? 그냥 핸드폰 내려놔. 금토일 슬랙 안 본다. 죽고싶지 않으면." 그의 얼굴에선 반은 농담이고 반은 진지함이 묻어났다. 나는 한참을 생각했다. 그게 가능할까? 정말?나는 그정도까진 못하겠다고 생각했다. 온전히 손을 놓는 건 너무 무섭다. 배포 이슈라도 터지면? QA 팀에서 급한 버그를 발견하면? 아니면 시스템이 다운되면? 일단 한 번 "음소거" 버튼을 눌렀다. 휴대폰의 슬랙 앱을 열어서 알림을 모두 끐다. "세상이 아무리 떠들어도 나는 모를 일"이라는 생각으로. 그런데 마음이 놓이지 않는다. 30분을 버티더니 다시 설정 화면으로 돌아갔다. 조용할 땐 너무 조용하고, 그 조용함 속에서 내 상상만 자꾸 살아난다. 우리 서비스 메인 데이터베이스가 지금 이 순간 죽어가고 있는 건 아닐까? Redis 캐시가 터졌을지도 모르지? 아니면 저 신입 개발자 이준호가 실수로 프로덕션에 직접 핫픽스를 푸시했거나. 음... "도움말"이 라는 설정으로 바꿔봤다. 긴급 메시지만 울리게. 하지만 슬랙에서 "긴급"의 정의가 뭔지는 아무도 명확히 알지 못한다. 결국 일요일 자정을 넘길 무렵, 나는 이 설정들을 전부 다시 기본값으로 되돌렸다. 음성 알림, 배지, 데스크톱 알림 전부. "차라리 좀 울리는 게 낫지." 이렇게 중얼거리며. 월요일 아침의 악몽 실제로 그런 일이 터진 건 3주 전이었다. 정확히는 지난 8월 셋째 주 토요일이었다. 금요일 오후 4시쯤에 우리 팀에 신규 배포가 들어갔다. 여름 행사 특수 기간을 대비하는 배포였고, 내가 리뷰한 PR 3개, 다른 팀원들이 리뷰한 PR 4개가 포함되어 있었다. 보통 배포는 금요일 오전에 하는 게 회사의 암묵적인 룰인데, 이번엔 기획팀 요청으로 오후에 했다. "마지막 데이터 정합성만 한 번 더 체크하려고요."라는 명목 아래. 배포 후 한 시간 정도 모니터링을 하고 나서 나는 좀 이상한 느낌이 들긴 했지만, 에러 로그도 없고 응답 속도도 괜찮아 보였다. 금요일 6시. 회사를 나왔다. 토요일은 아내가 일찍 집에 올 예정이라서 카페를 한 바퀴 돌고 회사 근처 마트에 들렀다가 집으로 돌아갔다. 첫 번째 무음 설정을 했다. 휴대폰에서. "주말이야, 조용해지자." 토요일은 정말 조용했다. 슬랙이 울리지 않았다는 게 아니라, 나는 그걸 들을 수 없도록 설정했으니까. 아내랑 영화도 봤고, 점심에 밖에서 밥도 먹었다. 일요일도 비슷했다. 치킨을 시켜먹고, 개인 노트북으로 쓸데없는 깃허브 레포지토리도 만들어 봤다가 포기했다. 휴대폰은 책상 한구석에 놔뒀다. 월요일 아침 7시 40분. 회사로 출근하는 지하철 안에서 휴대폰의 알림을 다시 켰다. 아이폰 화면에 한 번에 터져나온 슬랙 알림. 빨간 배지에 "47"이라고 떠있었다. 47개. 토요일 오후 2시부터 일요일 밤 11시까지, 거의 36시간 동안 온 메시지들. 내 얼굴이 확 굳었다. 슬랙을 열었다. [12:47] 팀장: 배포 후 데이터 정합 이슈 감지. 회원 경험치 산정에 문제 있는 것 같음. 확인 부탁 [12:59] 이준호: 김개발님 계신가요? [13:15] 팀장: 김개발님 일하시나요? 응답 부탁 [13:47] QA담당자: 심각해보이는데 배포 롤백할까요? [14:02] 팀장: 긴급 회의실 1번방 입장 부탁 [14:15] 팀장: 김개발님 연락 안 되네요. 우선 롤백 결정 [14:33] CTO: 앞으로 변경사항 발생했을 때 담당 개발자 연락 안 되면 팀장이 직접 롤백하기로. 공지 예정 [14:47] 이준호: 형... 왜 연락이... [15:22] QA담당자: 롤백 완료. 원인 파악 필요. 코드 리뷰 다시 해야 할 것 같음 후속 메시지는 토요일 밤부터 일요일 내내 이어졌다. 동료들이 원인을 찾아내려고 한 흔적들, 몇 가지 추측들, 그리고 점점 우울해지는 톤. 내 손이 떨렸다. 원인은 결국 월요일 아침 회의에서 밝혀졌다. 내가 승인한 PR 중 하나였다. 신규 기능을 추가할 때 캐시 무효화 로직을 제대로 넣지 않아서, 기존 데이터와 새 데이터가 섞여서 나왔던 거였다. 코드만 봐도 한 30초면 문제를 찾을 수 있는 수준이었다. 나는 그날 오후 3시경 PR을 승인했고, 리뷰하면서 커피를 마셨고, 그때 화면에 다른 창을 띄웠었다. 그래서 그 부분을 놓쳤다. 팀장은 차분하게 말했다. "배포 전에 충분한 모니터링 시간이 없었고, 금요일 오후 배포가 그래서 위험한 거다. 근데 역시 배포 담당자가 주말에라도 연락은 돼야 할 것 같아. 그게 프로페셔널이니까." 내가 "죄송합니다"라고 말하는 동안, 마음속으로는 다른 생각이 맴돌고 있었다. "아, 그래. 내가 무음으로 설정하지 말았어야 했나?"트루 스토리: 다른 동료들은? 그 이후로 나는 다른 팀원들과 아주 솔직한 대화를 나눴다. "너희 금토일 슬랙은 어떻게 해?" 결과는 놀랍게도 다양했다. 먼저 박세진 선배. 15년차 벡엔드 개발자다. 그이는 "핸드폰 자체를 집에 안 가져가"라고 했다. 회사 휴대폰 따로, 개인 휴대폰 따로. 퇴근하고 회사 핸드폰을 락커에 둔다는 뜻이었다. "그렇게라도 해야 미쳐 안 된다고." 그 다음은 신입 이준호. 그이는 "뭐 어차피 내가 롤백할 권한도 없으니 음소거 해도 되겠지?"라고 했다. 면접 때는 "회사를 위해 개인 시간도 아끼겠습니다"라고 했지만, 현실은 다르다고. 밀실에서 혼잣말로 한숨을 쉬는 모습이 보였다. 그리고 QA팀의 이수영 팀장. 그이는 "그냥 개인 휴대폰엔 안 깔아. 회사 노트북이랑 회사 핸드폰은 회사 건물 밖으로 안 가져간다"고 했다. "배포 담당자랑 팀장만 음성 알림을 켜. 나머지는 배지만 켜서 나중에 확인하고, 정말 긴급하면 전화를 해." 가장 현실적인 건 아키텍처를 담당하는 김수진이었다. "배포 관리 정책을 바꿨어. 금요일 오후 배포는 원칙적으로 금지. 긴급이면 수동으로 팀장 승인 받고, 그때는 배포 담당자가 일요일 저녁까지는 깨어 있기로 계약서처럼 합의." 나는 이 대화들을 들으면서 깨달았다. 결국 "정답은 없다"는 것을. 모두가 놓친 포인트: 시스템의 문제 월요일 회의가 끝나고 나서 한 가지 더 진행된 게 있다. 신규 정책 수립이었다. CTO가 주도해서 만든 규칙:금요일 오후 3시 이후 프로덕션 배포 금지 (긴급 제외) 배포 담당자는 배포 후 최소 2시간 모니터링 필수 긴급 배포는 팀장이 반드시 동반하고, 배포 담당자 연락처 3곳 모두에 연락 배포 롤백 프로세스 자동화 (수동 롤백 시간 단축) 모니터링 대시보드 표준화 (동일한 항목을 모두가 체크)여기서 재미있는 건, 이 규칙들이 사실 "개발자의 주말을 보호하기 위한" 규칙이 아니라, "배포 이슈를 줄이기 위한" 규칙이라는 점이었다. 결과적으로 개발자 복지가 향상됐지만, 그건 부수효과였다. 내가 느낀 건 이거였다: 개발자 개인이 슬랙 음소거를 고민하는 게 아니라, 회사가 시스템을 고민해야 한다는 거. 문제는 금요일 오후 배포가 터졌을 때 개발자가 주말에 대응할 수 있는 여건이 아니었다. 문제는 배포 담당자만 원인을 알고 있어서, 다른 팀원들이 복구를 하지 못했다. 문제는 롤백 프로세스가 느려서 36시간이나 서비스가 깨진 상태로 남았다. 그 모든 게 개발자 개인의 휴대폰 음소거 설정이 해결할 수 있는 문제가 아니었다. 다음 주 월요일, 나는 슬랙 설정을 다시 만졌다. 이번엔 자신감 있게 "모든 알림 켜기"를 눌렀다. 하지만 이상하게도 마음이 불안했다. 왜냐하면 이제 토요일 오전에 알림이 울려도, 그건 시스템의 문제이지 내가 음소거를 하지 않은 문제는 아니라는 걸 알았으니까.결국 우리는 뭘 배워야 하나 지금 시점에서 돌아보면, 이 사건은 여러 층의 실수가 겹쳐진 결과였다. 첫째, 내 리뷰가 정확하지 않았다. 그건 인정한다. 오후 3시쯤 피로도가 높아진 상태에서 캐시 로직까지 한눈에 보기는 어려웠고, 나는 충분히 신경을 쓰지 않았다. 둘째, 금요일 오후 배포라는 시스템의 문제가 있었다. 팀장도, CTO도, 아무도 지적하지 않았다. "그런가보네?"라고 넘어갔다. 셋째, 배포 후 모니터링이 불충분했다. 1시간 정도만 한 후 "괜찮겠지"라고 생각했는데, 실제로는 특정한 기간대의 특정한 행동을 했을 때만 버그가 터지는 거였다. 넷째, 그리고 내가 무음 설정을 했다. 이건 앞의 세 문제를 안고도, 마지막 방어선을 없앤 셈이다. 근데 생각해보니 넷째가 가장 비난하기 쉬운 부분이어서, 결국 나만 욕먹은 거다. "휴대폰 확인 좀 해. 어른답게."라는 눈길들. 분명히 내 잘못도 있다. 50%는 내 책임이다. 근데 나머지 50%는? 그건 개발팀의 프로세스, 배포 정책, 모니터링 시스템, 회사 문화였다. 그리고 문제는, 이 50%를 개발자 개인이 해결해야 한다고 생각하는 경향이 업계 전체에 있다는 거다. "너는 열정이 있으니까, 주말도 슬랙을 체크해." "너는 시니어니까, 배포 관련 알림은 꺼도 안 된다." "너는 팀 리드니까, 팀원 문제는 언제든 해결할 수 있도록." 이런 문화들. 다들 어느 정도는 옳은 말이지만, 어느 정도는 우리를 갈아서 커피를 만드는 과정이기도 하다. 우리가 만든 새로운 규칙 회의가 계속되면서, 재미있는 일들이 생겼다. 팀원들이 하나둘 자기 생각을 말하기 시작했다. 보통 개발자들은 회의에서 조용한데, 이번엔 달랐다. 이준호: "그 금요일 오후 3시 금지 정책, 혹시 긴급 배포가 생기면 누가 판단하는 거죠?" 수진: "좋은 질문. 팀장이 하나 다 결정하기엔 너무 많으니까, 기획팀, QA팀, 개발팀 합의로." 이준호: "그럼 합의하는 과정에 제한 시간이 있어야 하지 않을까요? 왔다갔다 하다가 배포 시간이 늦어지면, 또 금요일 저녁이 될 텐데." 세진: "맞다. 결정 30분 이내. 결정이 못 나면 일단 롤백하고 월요일에 다시 배포." 김수진: "좋아. 그럼 롤백 프로세스도 표준화 해야지. 지금은 수동으로 하니까 시간이 오래 걸려." 팀장: "롤백 스크립트 만들 사람?" "..." 결국 그건 내가 하기로 했다. 하지만 이번엔 다르게 생각했다. 이 스크립트를 나만 알고 있으면 또 다음에도 나한테 물어볼 거다. 그래서 나는 문서화하기로 했고, 팀원들이 전부 롤백할 수 있도록 교육하기로 했다. "난 모르겠어"라고 말할 수 있는 환경을 만들자는 뜻이었다. 정답은 여기에 있지 않다, 하지만 8월의 일이 있은 지 지금 거의 2개월가 지났다. 금요일 오후 배포는 이제 거의 없다. 긴급으로 생기면 팀장과 CTO가 직접 와서 상황을 본다. 내 휴대폰 알림이 울려도, 그건 정말 급할 때만이다. 근데 솔직히 말해서, 나는 여전히 금요일 퇴근 후 슬랙 앱을 음소거한다. 완전히 차단하는 건 아니고, "중요" 태그가 달린 메시지들만 알람이 오도록 설정했다. 그리고 화요일부터 금요일까지는 그 설정도 안 본다. 그냥 슬랙 앱을 삭제했다. 회사 노트북은 회사에 두고, 퇴근하면서 PC를 종료한다. 아내가 최근에 물었다. "일 생각 안 하니?" 나는 "일 생각이 나면 월요일까지 기다리지 뭐."라고 대답했다. 그 대답에 아내는 웃었고, 나도 웃었다. 하지만 속으로는 이렇게 생각했다. 일이 정말 나가리면, 그건 내 책임만이 아니다. 그걸 수습할 시스템과 팀, 회사의 문제도 있다. 내가 토요일 오전 11시에 알림 하나를 못 봤다고 해서, 전체 배포 프로세스가 무너져서는 안 된다. 만약 그게 무너지는 거라면, 그건 내 휴대폰 설정이 아니라 회사의 시스템이 약한 거다. 그래서 나는 이제 다르게 생각한다. 슬랙을 음소거하는 게 죄책감이 아니라, 권리라고. 정시 퇴근이 "게으름"이 아니라 당연한 일과라고. 배포 담당자가 주말 연락이 안 돼도 롤백할 수 있는 시스템이 갖춰지는 게 "프로페셔널"이라고. 다음 달 예산 회의에서, 내가 모니터링 자동화 도구 도입을 건의하기로 했다. 그리고 배포 후 자동 테스트 강화도 건의하기로 했다. 롤백 자동화 시스템도. 왜냐하면 결국, 문제의 답은 개발자의 주말 시간에 있지 않으니까.좋은 시스템도 결국은 휴일에 음소거를 믿고 일어난다.