티스토리 뷰

에세이

근로자의 날

June 2013. 5. 20. 01:30

바깥이 밝아지는 것을 느낄 수 있을 것 같았다. 매 년 새해에도, 해가 바뀔 때도 자는 것이 더 소중하다고 생각해서 별로 챙겨서 보지 않던 일출을 회사에서 보게 되니 감격스러워 해야 될 것만 같은데 기분은 창 밖의 풍경처럼 어스름하기만 했다. 회사에서 아침을 맞이하는 것이 몇 번째인지 모르겠다. 아마도 3번은 넘었던 것 같고 5번은 안 된 것 같은데, 이제부터는 몇 번째인지 궁금해하는 것도 그만두어야 겠다는 생각이 들었다. 대신 어디서부터 잘못되었는지 가만히 생각해보았다.

 

7시간 전, 시계는 11시를 막 넘겼고 아직도 퇴근하지 않은 사람은 드물었다. 아무리 악성 프로젝트라고 하더라도 다음 날이 휴일이고 연휴이면 일찍 일찍 퇴근하는 것이 암묵적인 룰이니까, 슬슬 선택을 해야겠다는 생각이 들었다. 지금 당장 다 정리하고 뛰어나가면 아슬아슬하게 2호선 열차를 탈 수 있을 것 같았다. 그 차가 막차는 아니지만, 그 차가 1호선 막차가 지나가기 전에 신도림역에 도착할 수 있느냐 없느냐는 꽤 중요했다. 늦게 퇴근하는데 지하철 끊겨서 집까지 걸어가서 더 늦게 들어가는 것은 싫었다. 1년째 싫어해서, 1년째 11시가 되면 고민했다. 그럴 때 보통 답은 모니터에 있었다.

 

문제는 꼬이고 꼬여서 단시간 내에 풀리지 않을 것 같았다. 지금 퇴근하면, 내일 출근해야 된다. 오늘 퇴근하고 내일 출근하는 것이 뭐가 그리 특별할까 싶지만, 그 내일이 휴일이라면 이야기가 달라진다. 조금 더 고민했다. 이걸 다 해결하고 퇴근하면 내일 출근하지 않아도 된다. 이걸 다 해결 못하고 퇴근하면 내일 출근해야 된다. 거기서 발생하는 낭비는 내일 출근하는 시간 + 퇴근하는 시간이니까 왕복 3시간. 그냥 몇시가 되었든 다 끝내면 퇴근하자. 라고 생각했다. 택시비가 들어가겠지만 휴일의 3시간 보다야 소중하지는 않겠지. 라고 생각하면서. 사실 결과론적인 이야기지만 잘못된 생각이었다. 다 끝내면 퇴근하자는 것도, 택시비가 들어갈 것 같다는 것도.

 

20시간 전, 최종시연을 앞두고 그동안 개발한 기능을 가벼운 마음으로 마무리하고 있었다. 지난 3주 동안 특정한 정보를 수집하여 엑셀 파일로 내보내는 기능을 개발했었다. 엑셀 파일 규격이 지나치게 복잡했기 때문에 보통 이런 작업에는 오픈소스 라이브러리를 사용한다. 가능과 불가능을 떠나서 엑셀 파일을 직접 작성하는 것은 정말 비효율의 극치다. 오픈소스 라이브러리는 여러가지가 있었고, 그 중에서 가장 괜찮아 보이는 놈을 하나 골라서 사용했다. 기대 이상으로 훌륭했다. 템플릿 에디터도 별도로 제공하고 있었고, 제공되는 API도 여러가지로 하이레벨 이었다. 별도의 템플릿 에디터를 제공하기 때문에 프로젝트에서 세련된 GUI를 사용하여 산출물 양식을 테일러링 할 수 있습니다. 라고 이야기 하면 윗 분들도 참 좋아할 것 같다는 생각이 들어서 기분이 좋아지는 그런 오픈소스 였다. 내일 모레 있을 시연회에서 자신있게 보여줄 수 있을 것 같았다.

 

19시간 전, 3주 동안 개발했던 오픈소스 라이브러리 및 그 라이브러리를 사용한 각종 클래스들에 대하여 사용불가 판정을 내릴 수 밖에 없었다. 문제는 정말 억울할 정도로 어이없는 곳에서 생겼다. 차라리 중대한 결함이라도 튀어나왔으면 덜 억울했을 것 같았다. 이 오픈소스는 페이지를 나누라는 명령을 받을 때 마다 새로운 시트를 생성했다. 그동안 사용한 테스트 데이터가 2페이지를 넘기지를 못해서 체크하지 못했던 부분이었다. 새로운 시트를 생성하지 않도록 하는 API가 반드시 있을텐데. 있을텐데. 하면서 찾았는데 역시 있었다. 그래서 그 함수를 주고 실행했더니 이번엔 모든 시트가 다 붙어서 나왔다.

 

뭐가 이렇게 허술할까. 믿을 수가 없어서 찾아봤는데 문제가 복잡해지는 것을 느꼈다. 리포트 안에 리포트를 서브 리포트 형태로 넣으니 메인 리포트와 서브 리포트가 파라메터를 공유하는 버그가 있는 것 같았다. 그래서 서브 리포트는 시트를 나누지 말고 메인 리포트는 시트를 나누라는 명령을 알아듣지 못하는 것 같았다. 인터넷을 찾아보니 '이거 왜 그래? 아는 사람 있어?' '나도 그래ㅇㅇ' '그러니까 어떻게 해결하는데?' '버그 리포트 해봐ㅇㅇ' 류의 절망적인 스레드만 발견되었다.

 

시연은 내일 모레. 그런데 내일은 휴일. 휴일이 박살나는 소리가 들리는 것 같았다. 그 소리야 이 회사 다니면서 카카오톡 메시지 왔다는 소리 만큼이나 자주 듣는 소리였지만, 이번에는 특히나 더 크게 들리는 것 같았다. 휴일에 일하는 것은 둘째치고 내가 이걸 남은 시간 내에 커버할 수 있을까. 3주동안 만들었는데. 나 이거 시연할 때 꼭 성공시켜야되는데. 안 그러면 나 다음 주에 교육 못 가는데. 그건 정말 싫은데.

 

6시간 전, 생각보다 문제가 쉽게 풀린다는 생각을 했다. 잘 안되는 오픈소스에 매달리지 않고 새로운 오픈소스를 가져다 쓴 것이 주효했다. 생각해보면 이런 일은 정말 비일비재했다. 신입때도, 2년차때도, 3년차때도 항상 있었던 일이었다. 문득 예전에 아파치에서 만든 자바 소스 파싱 라이브러리를 썼다가, '우리 자바 1.4버전 까지만 지원함. 최종 업데이트는 2006년에 했어.'라는 문구 보고 3개월 치 소스를 다른 라이브러리 써서 작업하느라 고생했던 기억도 떠오르고, 브라질에서 만든 무슨 라이브러리를 썼다가 결과가 이상한 값으로 튀어서 자체 개발했던 기억도 떠올랐다. 그래서 오픈소스 라이브러리를 가져다 쓸 때면 항상 경계했다. 오픈소스 라이브러리를 import 하는 클래스는 단 하나로 제한시켜버리고, 모델 클래스는 전부 내가 직접 만든 클래스로 사용하는 것이 여러번 고생한 끝에 울면서 세운 개인적인 원칙이었고, 그 덕분에 수정해야 될 대상은 클래스 하나 밖에 없었다.

 

그리고 작업 시작 30분만에 모델 데이터들이 엑셀 파일로 잘 나오는 것을 확인하고는 무언가 허무함을 느꼈다. 그래 역시 많은 사람들이 쓰는 오픈소스가 좋은 오픈소스지. 나는 오픈소스는 안 믿지만 이클립스 재단에서 만든 거랑 아파치 재단에서 만든 것은 그래도 믿잖아. 이제 템플릿 디자인이랑 그림 파일 넣는 것만 만들면 집에 갈 수 있겠다. 라는 생각이 들었다.

 

3시간 전, 새벽인데 경비직원들은 부지런히 돌아다녔다. 신입때 일했던 작은 건물의 경비 아저씨는 11시만 되도 숙직실에서 자고 있어서 나가려면 문 열어달라고 깨워야 됐는데. 지금은 내 잠을 깨워야 될 때가 아닌가 싶었다. 나는 정말 그림파일 넣는 것만 만들면 집에 갈 수 있을 것 같다고 생각했는데, 그림 파일 넣는게 이렇게 안 될 줄은 몰랐다. 도대체 왜 이 오픈소스는 그림 객체들에게 '맨 앞으로 보내기' '맨 뒤로 보내기' 같은 기능을 줄 수 없는 것일까. 왜 이 오픈소스는 createSheet 함수는 있으면서 addSheet 함수는 없는 것일까. 인터넷을 뒤져봤는데 '이 기능 왜 없어? 내가 뭐 잘못했어?' '넌 잘못한 것 아무것도 없어. 그거 원래 없어ㅇㅇ' 류의 스레드만 발견할 수 있었다.

 

1시간 전, API와 구글을 무의미하게 순환하다가 문득 특이한 스레드를 하나 발견했다. 나와 똑같은 문제에 봉착한 사람이 올린 글에 '이거 지원하지 않는 기능이라서 내가 한 번 만들어봤어. 테스트는 많이 안 했는데 한 번 써봐.' 류의 답을 붙인 사람이 있었다. 그리고 수십 줄 남짓한 자바 코드. 그리고 그 밑에 '이거 보통은 잘 되는데 버그가 조금 있어. 내가 고쳐봤어.' 라는 답과 몇 줄 정도의 자바 코드. 그 밑에 '이거 다 좋은데 인쇄양식까지 신경쓰려면 이 함수 추가해야 될 것 같아' 라는 답과 수십 줄 남짓한 자바 코드. 이렇게 답이 수십개. 자바 코드도 수백 줄. 최초에 질문을 올린 사람 부터 마지막으로 코드를 수정한 사람까지 몇 년에 걸친 개선들. 몇 년에 걸친 그 역사를 조심스럽게 따라가면서 성심성의껏 복사 붙여넣기를 했고, 그 코드는 어이없을 정도로 잘 동작했다. 이제 조금만 마무리 하면 시연할 수 있겠다, 집에 갈 수 있겠다 라는 커다란 안도감 사이로 아주 짧은 성취감이 지나가는 것 같았다.

 

12시간 전, 예전에 참여했던 프로젝트의 종료보고를 진행했다. 나는 2달 전에 빠져나왔지만 그 프로젝트는 4월 마지막 날이 되어서야 비로소 종료되었다. 별 일이 없어서라기 보다는 더 이상 신경쓰고 싶지 않아서 매우 담담했던 종료보고가 끝나고 나자, 이제는 진짜로 다 털어버리고 지금 하는 일에 집중하고 싶다는 생각이 들었다. 욕 먹을까 소심해지는 것도, 혼날까봐 눈치보는 것도, 의욕이 생기지 않아서 괴로워 하는 것도 다 떨쳐버리고 '옜날엔 그랬는데 지금은 안 그럼' 이라고 블로그에 글 하나 쓰고 끝내버리고 싶었다.

 

2달 동안 '왜 프로젝트에서 나왔는데 여전히 내 상태가 이 모양이지?'라고 고민한 끝에 내린 결론이 '종료보고 하고 나면 괜찮을꺼야' 라는 것이었고, 종료보고가 끝나고 나서 그 어떤 안도감이나 성취감도 스쳐지나가지 않아서 조금 당황했다. 고민끝에 내린 결론이 아니라 그냥 희망사항 이었던 것 같다. 어쩔 수 없이 고민끝에 내린 플랜B를 시행하는 수 밖에 없었다. '일하다 보면 괜찮을꺼야'

 

해가 완전히 뜰 때쯤에 하던 일을 마무리 했다. 내가 만든 프로그램에서 만들어진 엑셀 파일을 프린터로 출력해봤다. 아무도 쓰지 않아서 대기상태로 들어갔을 프린터를 깨우려니 조금 미안했지만, 출력물도 괜찮게 잘 나와서 이제 정말 끝이구나 라는 생각이 들었다. 지금 나가면 지하철 첫 차를 탈 수 있을 것 같았다. 택시비 굳었다고 생각하니 무언가 좋은 기분이 희미하게 스쳐지나갔다.

 

자리를 정리하고 내려가자 입구에 있던 경비직원이 황망히 보안검색대를 가동시켰다. 짧은 가방검사가 지나고 수고하셨다는 경비직원의 말에 수고하세요 라는 말을 하기도 좀 그래서 그냥 짧게 목례하고 건물 밖으로 나왔다. 지나다니는 차도 별로 없고 지저귀는 새도 없었지만 바깥은 이미 아침이었다. 밝기도 그렇고 온도도 그렇고 기분도 그냥 아침 같았다.

 

일 하다 보면 괜찮아질 거라고 생각했는데, 아직은 괜찮아진 것 같지는 않았다. 달랑 12시간 일하고 뭔가 달라지기를 바라는 것도 어이없는 발상이 아닌가 생각했다. 그래서 계획을 살짝 수정했다. 일 하다 보면 언젠가는 괜찮아 질 것 같다고. 지금은 그냥 내가 할 수 있는 것들을 하는 것이 최선이 아닐까 생각했다.

 

지하철역 입구에 들어서면서 시계를 보니까 첫 차는 이미 지나간 것 같았다. 그런데 그게 무슨 큰 문제일까 싶었다. 지나간 것이 막차도 아니고 그저 첫 차일 뿐인데. 다음 차가 수백 대는 더 남아있을텐데. 그래서 천천히 걸어가서 교통카드를 찍었다. 사용금액이 리셋되어 있는 것을 보니 오늘이 5월 1일이 맞기는 맞구나 라는 생각이 들었다. 입사하고 나서 근로자의 날에 쉬어보는 것도 처음이 아닌가 싶었다. 그렇게 생각하니 기분이 아주 아주 조금 괜찮아지는 것 같았다.

'에세이' 카테고리의 다른 글

당신의 생각이 알고 싶어  (1) 2014.03.18
Last man standing  (0) 2013.11.16
private war  (0) 2013.04.15
失速 (Stall)  (0) 2013.03.09
양보  (0) 2013.03.08
댓글