brunch

사라진 김대리와 주인이 없는 버그

제1화 : 평범한 개발자에게 주어진 기묘한 특명

제2화 : 난 프런트 앤드 개발자라고!


---


김대리는 자리를 뜨고 흔적만 남았다. 사람은 떠나고 빈자리엔 다른 인간이 남는다. 언제 자신이 그 자리에 있었는지 모를 정도로 인간은 조용히 존재를 지우는 게 중요하다. 하지만 김대리는 어수선하게 자리를 떴다. 그리고 시끄럽던 이곳엔 나 혼자 남았다. 아무도 없는 텅 빈 고래뱃속 같은 회의실, 아직 예약 시간은 한 시간 가까이 남았는데, 이곳에 혼자 앉아서 나는 무엇을 찾아야 하나.


괜히 불을 꺼버렸다. 어두커니 텅 빈 공간에 나의 존재라도 꽉꽉 채워두고 싶었다. 하지만 가능한 모든 수단을 가동해도 달라지는 것은 없었다. 불 꺼진 고즈넉한 회의실과 빈 의자에 앉아서 창밖을 멍하게 바라보는 나. 하지만 나는 외로움과는 굳이 친해지고 싶지 않았다. 창밖에서 우산을 들고 뛰어가는 바쁜 사람들과 서로 떨어진 거리만큼, 시야에서 점점 사라지는 사람들의 그림자 만큼이나 나는 내 본질과 점점 멀어지는 중이었으므로, 그깟 제안서 때문에...


예약 시스템에 접속해서 예약 정보를 수정한 다음, 나는 의자를 책상 앞에 가지런하게 밀어두곤 다시 자리로 돌아갔다. 칸막이를 거쳐 내 자리로 지나가는데 김대리가 자리에 없었다. 이상했다. 분명 팀장이 호출해서 버그 수정하러 간다고 한 것 같은데, 자리를 떴다? 뭐, 커피를 마시러 잠시 바깥에 나갔거나 빗소리라도 듣고 싶어서 나갔거니 하고 금방 수긍했다. 회사라고 반드시 자리에 죽치고 앉아서 코딩만 해야 한다는 철칙이 존재하는 건 아니니까.


나는 다시 노트북 화면에 제안 요청서를 가득 띄워놨다. 벌써 몇 번째 이 문서를 전체 화면으로 놓고 방치해두고 있는지 모르겠다. 이런 제안서 작업 따위는 누군가 대신 써주면 얼마나 좋을까. 30분 만에 3천 자를 쓴다는 공시미라는 인간도 있다던데, 제안서는 소설이 아니다. 우렁 각시라도 홀연 나타나서 짠 하고 일을 끝내주면 반가우련만, 이런 일은 현실에서 절대 일어나지 않는다. 매주 로또를 사도 5등조차 안 되는 나 같은 불운한 인간에게 그런 행운이 찾아올 리가 없지 않은가.


그때 메신저 창에서 빨간 불이 깜박깜박 거렸다. 아… 나도 처리해야 할 버그 리스트가 존재했던 것이다. 제안서를 쓰게 되면 누군가 대신 내 이슈를 처리해 줄 거라 착각이라도 한 것 같다. 그런 다정하고 자상한 천사는 현실에 역시 존재하지 않는다. 인공지능이 대신 코딩을 해주는 시대는 아직 오지 않았다. 제안서는 제안서고 코딩은 코딩이다. 바빠서 제안서를 쓴다고 회사가 코딩을 하지 않아도 인사고과에 불이익을 받지 않도록 조치해 준다는 상상을 하지 말아야 한다. 그것 역시 또 하나의 냉정한 현실이다.


따라서 나는 일을 병렬적으로 처리할 필요가 있었다. 말하자면 제안서도 해내고 코딩도 해내는 것이다. 나는 두 가지 이상의 일을 동시에 해낼 수 있다고 믿는 편이다. 아무리 뇌과학자들이 인간은 싱글 태스킹만 가능하다고 입에 침을 튀겨가며 강조하더라도 어디서나 예외는 일어날 수 있으니까. 그게 내가 믿는 방식이다.


잠시 이슈관리 시스템을 열어봤다. 그리고 등록된 이슈 목록을 확인했다. 어제까지 밀려 있던, 그러니까 제안 요청서 분석을 하기 전에 QA가 등록했던 이슈와 더불어 신규로 등록된 버그 이슈가 13가지가 추가됐다. 모두 특급, 긴급이란다. 맙소사, 이런 버그 덩어리 같으니라고. 시스템을 욕하는 것이 아니다. 하릴없이 매일 버그나 양산해대는 내 보잘것없는 실력을 탓하고 있는 것이다.


내가 처리해야 할 내용은 데이터 로거와 그것에 연결된 센서의 처리들이었다. 센서는 데이터로거에 직렬로 연결되고 연결된 수백 가지의 센서값은 실시간으로 가공되어 서버에 동시다발적으로 전송되어야 한다. 그러니까 센서에서 시작된 정보가 데이터 로거를 거쳐서 서버에 이르기까지, 아주 우아하게 데이터가 라인을 타고 돌아다녀야 한다는 거다. 한 치의 오차도 없이, 아주 작은 실수조차 허용되지 않는다. 그것이 논리의 중심인 코딩의 핵심이다.


나는 우아하게 앉아서 말하자면 다리를 적당하게 꼰 자세로 고개는 15도쯤 옆으로 삐딱하게 숙이고 시선은 될 수 있으면 흐릿하게 떠봤다. 그렇게 했더니 한 결 덜 피곤한 것 같다. 거기다 더하여 미간을 최대한 찌푸리는 것이다. 말하자면 인상파 사나이가 되는 것이다. 이런 자세를 취하면 남들이 보기에 꽤 성실하게 코딩하는 사람으로 보일 테니까. 그것이 내가 직장에서 생존하는 방식이다.


수백 가지 센서를 전문으로 만들어 놓은 후, 나는 전문에 따라 멀티 스레드로 입력과 출력이 동시에 이뤄지도록 만들었다. 말하자면 시소가 양쪽에서 균형을 적절하게 맞추고 있는 상황이다. 내가 예측한 대로 데이터는 순차적으로 마치 은행에서 성격 급한 노인이 대기표를 뽑아가듯이 바쁘게 입수되는 중이고 다시 그것은 특정한 알고리즘에 따라 가공되고, 다시 초고속 라인을 타고 데이터베이스에 착착 쌓이고 있다.


물 흐르듯 모든 상황이 낙관적이다. 오류는 없고 모든 데이터의 밸런스가 맞으니 표류하는 건 없다. 예외가 있다? 그것은 예외 처리 목록이 담당한다. 나는 그렇게 4시에 시작한 코딩을 저녁 9시가 되어서 겨우 끝마쳤다. 세상에 5시간 동안 꼼짝하지 않고 심지어는 누군가 책상 위에 놓아둔 샌드위치가 말라비틀어지는 것도 모르고 집중했다. 그야말로 지독한 코딩맨이 아닌가.


그런데 현타가 오는 이유는 뭘까? 제안 요청서를 담은 아래 한글이 샌드박스에서 발광이다. 나 좀 어떻게 해달라는 눈치다. 하지만 나는 코딩이 재밌다. 제안서는 역시 재미없다. 노잼인 일을 왜 해야 하는가. 그러니 나는 회사를 때려치워야 하나? 그런데 김대리는 어디에 간 걸까? 팀장 호출 후 같이 고민하자던 김대리가 보이지 않는다. 알게 뭐랴. 내가 집중하는 사이에 남몰래 퇴근했을지도 모를 일이니. 나도 퇴근이나 하고 보자. 일단 오늘은 기력을 소진했으니 좀 쉬어야 한다.


1 Week Later : D-5


일주일이 지나버렸다. 하지만 나는 아무것도 해내지 못했다. 공연히 시간만 허비한 것이다. 이제 입이 바짝 타들어가고 가슴이 두근 반 세근 반해야 하는 상황인데, 비관적인 내가 이상하게 걱정을 통, 하지 않는다. 마음이 이렇게 편한 이유는 뭘까, 알 수 없다.


칸막이 건너편의 김대리는 요즘 이상하게 바빠 보인다. 적어도 하루에 두 번 이상은 커피 마시러 가자며, 버그 따위는 개나 줘버리라고 떠벌리던 김대리의 말 수가 급격히 줄어들었다. 아마도 처리해야 할 버그 목록이 꽤 늘어났나 보다. 그래, 김대리는 나보다 코딩 능력이 조금 딸릴지도 모른다. 그러니 묵언수행이라도 해야지. 그러나 버그는 제때 처리해야지. 그런 걸 모아봤자, 책장에 쌓인 시디 컬렉션 같은 게 될 수 없는 거니까. 버그는 생각날 때마다 쳐내야 한다. 나처럼 스마트하게 말이다.


그 순간 별안간 길박사 생각이 났다. 맞아! 길박사라면 제안서 작업에 도움이 될지도 모른다. 길박사와는 몇 달 전에 L화학 프로젝트를 같이 할 때, 파견 나온 옆자리에서 제안서 쓰는 걸 신기해하며 구경한 적이 있지 않았나. 대학원에서 지겹게 제안서 작업에 열중인 길박사에게 문의를 해보면 분명 뭔가 도움을 줄 것이다. 오늘은 그만 퇴근하고 내일 출근하자마자 길박사에게 연락을 해보자. 아직 나에게는 5일이나 남지 않았나. 그 정도 데드라인이면 충분하다. 암암.

keyword
매거진의 이전글난 프런트 앤드 개발자라고!