3/8 판교 긴급 출장 24시

전 제주에 사는 원격근무 프리랜서 프로그래머입니다. 십수 년 월급쟁이 생활을 하다가, 여차여차해서 프리랜서가 됐어요. 처음에는 직장인이 아니라는 데서 생기는 이런저런 상황들이 어색했는데, 이제는 그럭저럭 관찰하고 반응하며 지내고 익숙해진 것 같습니다. 이 글은, 어쩌다 갑작스레 판교로 출장을 다녀오고 나서 적는 이런저런 개인적 이야기입니다. 별다른 지식의 공유나 일관된 주제는 없겠지만, 남의 일기 읽어보는 재미는 있을지도 모르겠군요.

내가 일하는 곳

혼자 일하는 나는 어디서 일하든 인터넷이 연결돼 있으면 된다. 작은 노트북 하나 들고 나가 바다가 보이는 카페에 가기도 하고, 도서관에 가기도 하고, 지인의 배려로 쓰게 된 멋진 작업실에도 간다. 그날그날 어디에 갈지는 기분에 따라 정한다. 그리고 이따금, 날씨가 좋은 날엔 작은 오토바이를 폴폴 몰고 나가서 일하고 오기도 한다.

좋아 보이는가? 자랑처럼 보이겠지만... 음, 자랑 맞다. 쏴리~! 암튼, 한동안 이런 자유를 만끽하며, “리모트 워크”나 “디지털 노마드”에도 관심을 두었던 적이 있었다. 근데 글쎄, 난 리모트 워크의 장점이나 디지털 노마드 라이프에 그다지 큰 관심은 없는 것 같다. 한 사무 공간에 모여서 일하는 일반적인 방식과, 각자 떨어진 위치에서 일하는 것 둘 다 가능한 일이고 둘 다 장단점이 있는 것이지 어느 한쪽이 더 낫다거나 앞으로의 바람직한 근무 형태라거나 하는 주장은 하고 싶지 않다. 내게 있어 정작 중요한 것은, ‘어디에서 일하느냐’가 아니라, ‘무슨 일을 하는가’인 것 같다. 무슨 일을 하는지 중요한 문제에 초점이 맞춰지면 나머지는 부차적이라고 생각한다. 굳이 리모트 워크에 대한 내 입장이 뭐냐고 묻는다면,

어디서 일하든 무슨 상관이람?!
나름의 개똥철학

멋진 일과 밥벌이 이론 (The Sex & Cash Theory)

창의적인 사람은 못되지만, 억지로라도 “Sex and Cash Theory”를 내게 끼워 맞춰 보자면, 내가 프리랜서로 Java 개발을 해서 버는 돈이 곧 Cash이고, Clojure로 개인 프로젝트 웹 개발을 하는 것이 Sex쪽인 것 같다. 클로저 개발 놀이를 즐겁게 하고 있고, 이걸로 꼬물꼬물 개인 프로젝트를 진행하고 있지만, 이것으로 밥벌이를 할 수 있을지는 미지수이다. 그러나 자바 개발은 내가 돈벌이로 할 수 있는 일 가운데 가장 기대 수익이 큰 일이다. 그래서 Netty로도 개발하고 Akka로도 개발한다.

작년에 프리랜서 일로 두어 서버를 개발해서 납품(?)했고, 요새는 그 돈을 까먹으며 잘 지내고 있다. 재계약이 어찌 될지는 모르겠지만, 당분간은 수입 없이 지낼 것 같다. 직장인일 때 월급은 따박따박 규칙적으로 들어오지만, 이제는 그렇지 않다.

수입이 없는데도 생각한 만큼 불안하지는 않다. 정작 월급이 안정적으로 통장에 꽂힐 때도 커리어나 미래에 대한 불안은 늘 있었다. 그런 측면에서 본다면 오히려 안정적이랄까? 적어도 지금은 하고자 하는 일에 가까워지고 있으니까. 말도 안 되는 자기합리화일지 모르겠지만.

탐라도서관에서 일하다 받은 연락

제주시에는 한라도서관이 소장도서도 많고 잘돼있다. 신간 도서 신청/수령 절차도 좋고, 일하는 직원분들도 참 친절하다. 그러나, 열람실에서 다른(?) 공부를 하는 행위를 “비정상적 도서관 이용 행태”라고 규정한다. 그렇다고 누가 나서서 막는 것은 아니지만, 노트북을 열고 일하기는 좀 불편한 분위기다. 책 빌려보는 도서관으로써는 정말 좋아하지만, 여기서 일을 하지는 않는다.

그러나, 노형동에 있는 탐라도서관은 달랐다. 2층에는 개인 노트북을 사용하는 공간이라서 동영상 강의를 보며 공부하는 학생들이 많았고, 3층에는 각자 책을 들고 와서 독서실로 이용하는 분위기였다. 오호, 이런 분위기라면 일을 해도 그다지 눈치 보이지 않겠군. 이제부터 종종 이용해야겠다고 생각했다.

저 많은 학생들 대체 무슨 공부를 하는 걸까? 공무원 시험? 자격증 시험? 뭘지 모르지만 그 학구열이 드높았다. 그리고 혼자 일하면 아무래도 사람들을 볼 일이 없는데 수많은 사람 틈에 있으니 왠지 모르게 기분이 좋았다, 풋풋한 학생들 틈에서 나까지 싱그러워지는 느낌이랄까.

Git Packfiles 구조 공부중

암튼, 난 그 군중에 묻혀서 Git 저장소 내부 구조를 공부했다. 한가지 아이디어에 파묻혀 미간을 찌푸리고 있을 때, 고객사 선배 형에게서 메시지가 왔다. 띠링~

고객사로부터의 연락

Akka에서 JPA로 레코드 가져오려면 블럭킹 콜 일어나는 거 아냐?

응? 조금 얘기를 나눠보니, 작년에 Akka로 뼈대를 개발해 공급한 그룹 메시징 서버가, 현업 팀의 열혈 개발 작업의 결과로 이제 사내에 실 서비스로 적용됐는데, 종종 장애가 발생하고 있어서 이런저런 해결 방안을 모색 중인 것이었다. 사내에서 직원들이 쓴다기에 별걱정 안 했는데, 동시접속 수가 수천이란다. 역시 직원이 참 많은 회사다. 하긴 내가 과거 근무하던 D사도 자회사까지 다 합치면 2천 명 가까이 근무했으니까...

아무튼, 선배 형은 온라인으로 해결을 도와 달라고 부탁했지만, 조금 더 듣다 보니 감이 왔다. ‘아, 이거 단순히 온라인으로 봐서는 도움이 될 상황이 아니로구나.’ 경력이 길어진다고 개발 실력이 비례해서 늘지는 않지만, 눈치는 비례해서 는다.

상황이 심각한가요?

왜 물었을까? 당연히 상황이 좋지 않으니 연락했겠지.

응, 내가 오죽하면 너에게 연락을 했겠냐?

선배 형은 미안하다고 오지 말라고 했지만, 난 서둘러 비행기 표를 끊었다. 나도 리모트 워크에 꽤 긍정적인 입장이지만, 이런 상황에서는 아무래도 직접 여러 사람과 함께 바로바로 반응하며 분위기도 파악해가며 모여서 일하는 것이 낫다. 그리고 해결에 도움이 될지 안 될지 몰라도, 일단 적어도 최대한의 노력과 정성은 보여야 할 상황이었기에, 곧바로 공항으로 향했다. 어쩌면 해결할 자신이 없었기에 애써 서둘러 올라간 건지도 모르겠다.

별다른 출장 준비물은 없었지만, 노트북과 전원 어댑터는 들고 나왔기에 도서관에 있던 그대로 바로 출발했다. 안 그래도 최근에 개발자로서 자신감을 잃게 된 작은 사건이 있었기에 위축된 상태인데, 또 다른 위기를 맞은 거다. 게다가 Akka는 작년에 개발하고 나서 머릿속에서 지워버렸는데, 다시 보자니 막막했다. 비행기에서라도 기억을 더듬어 두려고, 매뉴얼을 미리 다운로드 받아, 비행기에 올라탔다.

Git 공부하다 말고, 갑자기 Akka 관련 메모를 옆페이지에 적게 됐다

다행히 비행기가 크게 흔들리지 않았다. 비행기 안에서 이런저런 메모를 해가며 가서 시도해 볼 일을 고민했다. 장애 현장에 가면 이래저래 바쁘고 산만해서 숙고하기 힘드니까, 비행기에서 미리 생각할 시간을 확보한 건 괜찮은 시도인 것 같았다.

김포에서 판교까지는 9호선 급행으로 신논현역까지 가서 6800번 버스를 타고 갔었는데, 이번에 새로 눈에 띈 교통편이 있었다. 고속터미널역에서 내려 9007번 버스를 타면 이동시간이 더 짧다. 버스가 곧바로 고속도로를 타고 판교IC까지 직행이다. 강남역 쪽이 서울 사람 구경(?)하기는 좋고, 이동 시간은 이번 코스가 짧다. 12:40쯤 출장을 결정하고 13:45분 비행기를 탔고 16:30에 판교의 고객사 사무실에 도착했다. 계획에 없던 제주-판교 출장치고는 나쁘지 않은 이동 시간이다.

현업 팀의 대응 상황

이미 현업 팀의 시니어 개발자들이 여럿 달려들어, 해결을 돕고 있었다. 이미 주요 문제점과 예상 해결방안을 다 갖고 있었고, 난 그저 설명해주는 내용을 경청했다. 메신저 파트 담당 시니어 K는 상황을 총체적으로 파고들었고, 담당은 아니지만 시니어 L은 JVM과 시스템 리소스 측면에서 접근해서 분석했고, 또 다른 시니어 S는 Akka에 달려들어 각종 문제를 설정과 소스 레벨에서 해결하려 하고 있었다. 담당 주니어 K는 며칠을 집에 못 간 것인지 대충 가늠해볼 수 있는 모습으로 여러 시니어와 얘기하며 작업하고 있었다.

내가 도착하자, 이런저런 상황을 친절하게 공유해주며, 내가 끼어들 자리를 마련해주었다. 구성원 중 여럿이 개인적 친분이 있는 관계라서이기도 했겠지만, 개개인이 마인드가 문제 해결 중심이라 가능한 일이다.

예전에 D사 근무 시절에, 한 1년 남짓 CTO 직속 잉여 인력으로 사내 전체 여러 곳에서 발생하는 문제 상황에 용병처럼 투입된 적이 여러 번 있는데, 간혹 텃세가 있는 현업 팀 개발자를 만나면 상황이 꽤 피곤해졌다. 대부분은 함께 얼굴 스치며 알고 지낸 사이라서이기 때문일지, 서로 허물없이 문제 해결에 집중하는데, 간혹 입사한 지 얼마 되지 않은 경력 사원들이 자기 영역(?)을 지키려 하곤 했다. 자기 팀에서 발생한 문제를 다른 팀 사람이 파헤치며 해결하려 드는 것이 모종의 자존심을 건드리는 건가 보다. 심리적으로 그럴 수 있음을 이해하지만, 문제 해결에는 큰 도움이 되지 않는 마인드이기에 존중하기 어려웠다.

아무튼, 같은 회사 사람들끼리도 그런 동물적 텃세가 있는 판에, 이번 경우처럼 나 같은 외부 프리랜서에게도 낄 자리를 열어주는 것은, 그만큼 깨어있고 문제 집중/해결 능력이 뛰어난 개발자들이기 때문이라고 여겼다. 어쨌건 문제를 해결하고자 모인 것이니까.

잘 들어보니, 현업 팀에서 이미, 문제 되는 블럭킹 콜 부분들은 파악했고, 코드를 수정하면 되는 상황인데, 그 작업이 신속히 진행되기는 어려워 보였다. 방향은 보였지만 시간이 필요한 일. 게다가 이미 투입된 서버가 불규칙하게 퍼지고 있는 상황에서는 더더욱 개선 작업에 집중하기 어렵다. 그래서 노리게 된 것은, 그 장애 빈도와 가능성을 낮출 수 있는 간단한 미봉책. 적어도 장애 나는 상황을 회피해주거나, 그 주기를 크게 늘려 놓으면 진짜 해결책에 집중할 시간을 벌 수 있다.

책략(요새 드라마 ‘육룡이 나르샤’를 즐겨보느라 이런 단어가 떠오른다)을 말했더니, 현업 개발자들도 가능성 있다며 고개를 끄덕여 준다. 좋아, 이 방향으로 가보자. 이걸로 장애 상황은 해결해 놓고 나서 진짜 해결책에 집중해보자.

미봉책 구현

담당 개발자 K와 함께 그 책략을 구현하기 위해 짝 프로그래밍에 돌입했다. 옆자리에 관찰자로 앉아서 미주알고주알 훈수를 두며 작업을 시작. 나 같으면 귀찮아할지도 모르는데, 차근히 함께 잘 작업해주었다. 이미 며칠 밤을 새운 담당자가 때때로 간단한 문법 오류를 내거나 멍해지는 상황에 한마디씩 거드는 것만으로도 출장 간 값은 하게 된 것 같았다.

그러면서 옆에서 개발 배포 과정을 지켜볼 수 있었는데, 베테랑 개발자들이 많은 팀답게 작업 플로우가 잘 구축돼 있었다. 배포 서버나 스테이징 서버들도 잘 갖춰져 있어서, 작업한 코드를 관리화면에서 클릭하면 자동 빌드/배포되는 모습이 아주 아름다웠다.

그건 그렇고, 서둘러 올라오느라 숙소도 안 잡고 왔다. 잠깐 살펴보니, 평소 이용하던 강남역의 숙소를 당일 특가로 예약할 수 있었다. 오예! 강남지역 숙소들의 가격 경쟁이 치열해서인지, 평소보다 저렴한 가격이다. 내 딴에는, 서너 시간 만에 이 미봉책을 메꿔두고 22시 전에 숙소로 들어가서 즐겨보는 드라마 본방을 사수하겠다는 마음을 먹었다.

함께 밤을 새우는 동료들

그러나 역시나 그런 당찬 바램은 이루어지지 않았다. 22시가 23시가 되고, 24시 대중교통 막차마저 끊기고 말았다. 미봉책 구현이 로컬서버와 스테이징 서버까지는 문제없이 작동했는데, 실 서버에서만 정상 작동하지 않는 문제로 한참을 방황했다.

스테이징 서버와 리얼 서버와의 차이는 없겠지만, 혹시나 있어서 영향이 있을지 모르는 이런저런 가능성을 파헤쳐가며 머리를 쥐어뜯게 되었는데, 결국 최종적으로 파악한 원인은 우리가 작성한 코드에 있었다. 수면이 부족한 상태에서 짜는 코드는 참 위험하다. 그리고 거의 언제나 그렇듯, 환경이나 다른 부분의 문제보다는 내 코드의 문제를 먼저 의심해야 한다.

그렇게 밤을 새우는 동안, 현업 팀 동료들은 직접 작업을 돕거나, 아니면 적어도 자리에 앉아서 무언의 응원을 보내 줬다. 건강한 팀의 징후였다. 사실 합리적으로 따지면, 자기 담당 업무도 아니고, 실질적으로 도움이 될 부분이 있는 것도 아니니, 각자 일에 집중한 뒤 일찍 퇴근하는 게 맞을 수도 있겠으나, “팀”이라는 게 그런 게 아닌 것 같다. 함께 있어 주고, 음료수나 간식이라도 사주며 힘내라고 해주는 모습을 옆에서 보자니 참 보기도 좋고, 부럽기까지 했다.

그래, 나도 한때 이런 팀에서 함께 일했었지.

일부러 모두가 의무적으로 남아 있을 필요는 없지만, 상황에 따라 여건이 된다면 남아서 자기 일이라도 하는 것이 응원이고 팀워크인 거다. 옆에서 칼퇴근한다고 뭐라 할 일은 아니지만, 함께 있어 주면 고마운 그런 것. 장애는 힘겨운 시련이지만, 이렇게 함께 겪고 나면 돈독해지는 동료 의식은 약이 된다.

그런 부러운 모습을 지켜보는 한편, 내 속을 긁는 한가지 쓰라림이 있었으니, 아까 결제한 환불 불가, 당일 특가 숙박비. 아, “어차피 밤새울 바에야 그 돈이라도 아끼는 건데”라는 사사로운 생각을 떨치기 어려웠다. 고객사 팀에서는 장애를 해결하느라 며칠 밤을 새우며, “오늘은 집에 갈 수 있을까?”를 생각하는데, 난 첫날에 이런 쓰라림을 느끼다니, 외주 프리랜서는 프리랜서인가보다. 그래서 외주 개발 프로젝트는 자체 개발 프로젝트 대비, 결과가 좋기 어렵다. 내 것이냐 아니냐가 여러 과정과 결과에 드러나는 정성에 큰 영향을 미치니까 말이다.

그런 나로서는 다행히도, 그리고 며칠 집에 못 간 담당 개발자에게도 다행으로 새벽 5시가 되니 얼추 작업이 마무리됐다. 이 임시방편이 효과를 본다면, 내일은, 아니 오늘은 장애 없이 지나갈 것이고, 그러면, 나도 뭔가 도움이 된 거고, 현업 팀도 그간의 고생에서 잠시 벗어나 문제 해결에 집중할 수 있게 된다. 그러면 나도 제주로 맘 편히 돌아갈 수 있고 말이다.

밖으로 나와서 같은 방면으로 가는 사람들과 함께 택시를 타고, 숙소로 돌아갔다. 서울 날씨 참 끔찍이 춥구나. 그래도, 훈훈한 팀워크를 옆에서나마 바라보며, 뭔가 한 건의 일을 하고 퇴근하는 오랜만의 경험 덕에 마음은 춥지 않았다.

잠깐의 취침 후 아침

비지니스 호텔을 쉬어가는 모텔처럼 짧게 이용한 뒤 체크아웃 했다. 하루 신었던 양말은 뒤집어 신어봐야 별 효과가 없고, 속옷은 뒤집어 입으면 나름의 효과(?)가 있다. 오래전 홀로 살던 시절 빨래가 밀린 상황에, 출근할 때가 돼서야 새 속옷이 없음을 알게 됐을 때나 써먹던 방법인데, 이 나이에 다시 쓰게 될 줄이야. 마침 숙소 맞은 편에 있는 유니클로에 들러, 속옷과 할인중인 겨울옷 하나를 챙겨들고 버스에 올라탔다. 아무리 마음이 훈훈하더라도 추운 건 추운 거니까.

출근해보니, 다행히 아직 별문제가 없다고 한다. 나름대로 호전 된 것. 출근하고 나서나마 갈아입은 속옷처럼 상황도 참 뽀송뽀송하다.

판교의 점심시간

고객사에는 구내식당이 훌륭해서, 굳이 밖에 나가서 비싼 밥을 사 먹을 이유가 없는 환경이다. 그래도 간밤에 고생했다며, 밖에 나가서 비싼(?) 밥을 먹으란다. 점심시간에 판교테크노밸리 거리를 오가다 보면 옛 동료들을 여럿 만나게 된다. 아직 같은 회사에 있던, 다른 회사로 옮겼든, 이 동네에 근무하는 사람들이 워낙에 많으니까 말이다.

장애 상황이 호전되어 기쁘면서도, 또 오후가 되면 어떨지 모르는 약간의 불안함을 마음에 둔 채, 식당으로 걸어가는 길, 옛 동료 P를 만났다. 굳이 눈이 마주친 것은 아니기에 그냥 지나칠까 하다가, 그래도 오랜만에 반가운 마음이 들어 이름을 불렀다.

OO님! 안녕하세요~ 잘 지내시죠? 아 네 그럼 잘 지내죠. 언제 올라 오셨어요? 언제 내려 가세요? 다음엔 올라 오실 때 연락 한번 주세요. 아 네 다음엔 식사라도, 아니 커피라도 한잔하시지요.

참 어려운 얘기다, 어디까지가 진심이고 어디까지가 인사치레일까? 그 잠깐의 고민을 함께 식사하러 가고 있는 사람들에게 얘기했더니, S씨가 명쾌히 답변해 주었다.

그건, 다음에 연락을 해보면 알 수 있지요.

전화를 해보면 그 억양으로 알 수 있다는 것. 하하 그렇다, 그렇지. 문제는 이미 그렇게 알게 되고 나면 뻘쭘해질 수 있는 거라, 사전에 알 방법이 없을까 하는 점인데, 아직 확실한 답은 모르겠다. 그저 인사치레로 넘기는 것이 안전한(?) 처사일지도 모르겠다.

그래도, 한번 식사쯤은 제안해 볼 만큼의 반가운 마음은 있는 것이다. 진짜로 식사를 함께할 것인지는 그다음 문제이지만 말이다. 다음에라는 것이 다음 번인지 다음 생을 의미하는지는 여러 상황에 따라 다른 거니까.

24시간이 지나고

오후가 돼서도 다행히 별일은 없었다. 임시방편이 통했다! 언제 내려갈지 몰라 비행기 표도 편도로 끊고 올라왔는데, 이대로라면 오늘 내려갈 수도 있겠다 싶었다.

비록 미봉책이고 결국 모든 준비와 작업은 현업 팀에서 했지만, 나름의 출장 값은 했다. 비용이 지급되는 상황도 아니고 난 외주 프리랜서에 불과하지만, 선배 형의 팀은 모두가 날 동료로서 대우해줬고 단지 근무 조건만 프리랜서인 동료로 느끼게 해주었다. 거기에 나도 자연히 외주 개발자 입장보다는 조금 더 다가서서, 이래저래 거들 수 있었다. 뭐 사실 애초에 이런 비용까지 고려해서 계약했던 것이니까, 당연히 A/S 차원에서 올라가야 하는 것이기도 했고.

그리고 나로서는 최근 잃었던 자신감을 조금이나마 찾을 수 있었다. 방편이나마 도움이 됐다는 점이, 나도 “쓸모 있음”을 확인할 수 있었으니까. 아마도 나중에 나이 들어 은퇴해서 아무 일도 하지 않는다면 그런 점이 가장 힘들 것 같다. 별 쓸모없는 사람이라는 느낌처럼 우울한 게 또 있을까?

아, 어쩌면, 그 자신감을 잃었던 일 때문에, 별일 아닌 일을 이렇게 거창하게 적고 있는지도 모르겠다, 아무리 작은 일이라도 자신감을 되찾을 수 있는 일이 필요했고, 또 그런 일이 있다면 애써 더 강조하고 싶은 그런 심리에서 말이다. 사실 모든 장애 대응과 조사 , 그리고 준비 대부분은 현업 팀에서 다 했고, 난 그 옆에 살짝 숟가락을 얹었는데, 마치 내가 다 멋지게 해결한 양 글을 쓰고 있는 꼴이라니.

어쨌건, 그런 내 개인적 상황에서 보자면 이래저래 소득이 더 컸던 출장이었다.

돌아오는 길

적당한 때가 됐다는 판단에, 고객사에서 나왔다. 이제 방편은 통했고, 남은 진짜 작업은 현업 팀의 몫인 거다.

그렇게 나오니 제주행 비행기 시간까지 조금 여유가 있다. 나가서 근처 옛 동료들 불러서 커피나 얻어 마실까? 아니면 강남 쪽에서 일하는 옛 보스분들에게 들러볼까? 잠시 고민을 하다가, 그냥 공항으로 갔다. 혹시 불편한 연락을 하게 되는 건 아닐까 하는 소심한 걱정은 버리고, 맘 편히 혼자 밥을 먹고 혼자 몇 가지 쇼핑을 하고, 라운지에서 쉬기로 했다.

식당에서 혼자 밥 먹는 것은 왠지 모르게 불편한 구석이 있는데, 그런데도 이게 더 마음이 편했다니,

나란 인간, 참 소심한 인간.

그 소심한 계획대로 나름의 즐거움을 만끽하고 돌아오는 비행기를 타니, 역시 주변에는 제주 여행을 떠나는 사람들의 모습이 가득해 보였다. 특히 대학생쯤으로 보이는, 잘 어울리는 커플의 모습이 눈에 들었는데, 평범한 외모인데도 빛이 난다. 그저 젊음만으로도 저렇게 빛이 나는 건데, 왜 별도의 튜닝(?)들을 하는 걸까? 그리고, 난 왜 어릴 때 연애하며 제주 여행 한번 못 가봤을까 하는 생각이 들더라. 나야 한 손에 딸내미 선물을 사 들고 집으로 돌아가는 평범한 아저씨지만, 이들의 즐겁고 설레는 기운이 전해져 나까지 들뜬다.

— 끝 —

Like what you read? Give 김대현 a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.