티스토리 뷰

에세이

올림, 내림, 반올림

June 2018. 7. 26. 23:13

카페인의 하루 섭취 권장량은 400mg 이하이고, 치사량은 10g 정도입니다. 당시 제 책상에는 카페인 알약 통이 놓여있었는데, 한 알에 200mg의 순수 카페인을 포함하고 있었으니까 2알을 먹으면 권장량을 채우는 것이었고 50알을 먹으면 죽을 수도 있었습니다. 뭔가 일반화하기에는 권장량과 치사량 사이의 간격이 너무 넓다는 생각이 들었습니다. 그래서 어쨌든 필요할 때는 3알이나 4알 정도는 먹어도 죽지는 않는다는 말이지?라고 받아들였습니다.

카페인의 권장량과 치사량을 두고 고민하던 그 날, 사무실에는 여유가 넘쳤습니다. 정확히 말하면 그 사무실에서 일하는 사람들의 마음, 프로젝트의 일정, 프로그램의 완성도, 프로젝트가 잘 끝날 것이라는 희망 모두 최악의 상태였지만 딱 하나, 건축학적인 관점에서만 사무실에는 여유가 넘쳤습니다.

13명이 있던 프로젝트가 7명까지 줄었으니까 그럴 만도 하겠다는 생각이 들었습니다. 사람이 너무 급하게 줄어든 탓에 미처 사무공간까지 같이 줄이지는 못했으니까요. 문득 프로젝트를 시작하던 때가 떠올랐습니다. 프로젝트의 원대한 비전을 들었는데 지금까지 해왔던 일들에 비해서 너무 규모가 크다는 생각이 들었습니다. 그래서 솔직하게 개발자 15명에 비개발자 5명을 더해서 20명 규모의 팀은 있어야 간신히 목표를 달성할 수 있을 것 같다고 이야기했습니다. 물론 부서의 능력이 프로젝트를 감당할 수준에 미치지 못하니 제 부담이 커지는 제안이었지만요. 그래서인지 회사에서도 순수히 동의를 해줬습니다. 제가 말한 정도의 규모로 팀을 구성해주기로 했지요.

회사의 많은 일이 그렇듯이 명시적으로 정해진 것은 하나도 없었지만 암시적으로, 혹은 자기 암시적으로 저는 그 팀의 리드 개발자가 되리라 생각했는데, 그렇게 생각하자 큰 고민이 들기 시작했습니다. 부서에 모바일 개발자가 대여섯 명 남짓인데 어떻게 15명의 모바일 개발자를 확보하실 생각이지? 그냥 엑셀에서 델파이 개발자를 10명 줄이고 모바일 개발자를 10명 더하면 그 사람들은 다음날부터 모바일 개발을 할 수 있을 것이라고 생각하시는 것은 아니겠지? 그래서 그런 걱정을 조심스럽게 위에 말씀드렸습니다.

이번에도 회사는 제 의견에 동의했습니다. 지금까지 회사와 저는 의견 일치가 잘 안 되는 편이라고 생각했는데 정녕 놀라운 일이었습니다. 이 프로젝트가 정말 중요하긴 했나 봅니다. 그리고 회사에서는 다시 한번 저에게 부담감을 더해주었습니다. 부서에 이런저런 개발자가 30명 정도 있으니 일단 전부 모바일 개발 교육을 해라. 그중에서 사람을 뽑아서 프로젝트에 개발자로 넣겠다.

그래서 저는 황망히 모바일 개발 속성 커리큘럼을 만들고, 교육에 필요한 샘플 프로젝트를 만들고, 교육을 위한 슬라이드를 수십 장 만들었습니다. 고생이 많은 일이었지만 살짝 설레는 기분도 들었습니다. 언제나 그렇듯이 프로젝트의 규모는 컸고, 구현은 어려웠고, 기간은 짧았지만 이걸 온전히 마무리 짓는다면 정말 뿌듯할 것 같았거든요. 뭐, 언제나 그렇듯이 저는 엄청나게 고생할 것이고, 알아주는 사람은 없겠지만 제가 만족할 수 있으면 그걸로도 충분히 다음 일을 열심히 할만한 힘을 받을 수 있으니까.

며칠에 걸친 교육이 끝나고 프로젝트가 막 시작될 때 회사는 저에게 20명이 아닌 13명의 팀을 만들어주었습니다. 이유를 확실하게 듣지는 못했는데 그냥 그게 최선이니까 열심히 하라는 말만 들었습니다. 프로젝트의 규모도 35% 포인트 정도 줄여야 할 것 같았는데, 불확실했던 요구사항들을 정리할수록 오히려 프로젝트의 규모는 점점 늘어났습니다. 넉넉하고 여유로운 상황에서 자신의 능력을 최대한 발휘하는 환경이 아닌 언제나 부족하고 어려운 환경에서 일해야 하는 것은 개발자들의 원죄 일지 본죄 일지 궁금해졌습니다.

정확히 기억은 나지 않지만 70일 정도의 연속 출근 기록을 수립했을 때의 일입니다. 개발팀의 인원을 줄이는 정책이 시행되었다는 소식을 들었습니다. 개발을 하는 회사는 인건비가 원가니까 개발팀의 인원을 줄이면 원가가 절감된다는 논리였습니다. 아마도 우리가 넉넉하고 여유로운 상황에 있다고 생각했거나 일단 줄여놓고 프로젝트는 정상적으로 끝내라고 명령하면 뭔가 완성은 된다고 생각했던 것 같았습니다.

우리 프로젝트가 아니라 어느 프로젝트에도 '남는 사람'은 없었을 겁니다. 세상에 쓸모없는 사람은 없고 각자 자신만의 노력이 있을 테니까요. 그걸 알았는지 몰랐는지 회사는 바쁜 프로젝트와 여유 있는 프로젝트를 구분하려는 노력을 굳이 하지는 않았습니다. 그냥 공평하게 모든 개발 부서와 프로젝트의 사람들을 비율을 정해서 줄이기 시작했습니다.

어느 날 갑자기 옆에서 일하고 있던 개발자가 사라졌습니다. 그 사실에 황당해하거나 항의하기도 전에 다른 개발자가 박스에 짐을 챙기고 있었습니다. 이번이 마지막이라는 소리를 너무 많이 들어서 마지막에 대한 관념이 바뀌는 것 같았습니다. 개발자들을 줄이면 안 돼요. 프로젝트 범위는 빨리 줄여야 해요. 목표도 빨리 바꾸고요. 이렇게 열심히 주장했지만 모든 사람들이 '위에서 내려온 명령'이라는 이유로 어쩔 수 없는 일이라고 변명하는 것을 듣자 저는 결국 체념하는 마음이 되어서 개발자들이 빠져나가는 현재의 상황을 천재지변에 준하는 일로 받아들이기 시작했습니다.

타의에 의해서 프로젝트에 남게 된 것이 미안해할 일은 아니었지만 미안한 마음이 사라지지는 않았습니다. 그래도 익숙한 환경에서 힘든 것이 낯선 환경에서 힘든 것보다야 편할 테니까요. 그 미안한 마음을 달래기 위해서는 나간 사람들이 남겨놓은 일을 최대한 많이 가져와서 내가 열심히 완성시켜서 그래도 잘 마무리되었다는 소식을 전해주는 것이 최선이라는 생각이 들었습니다.

그리고 최선을 다하기 위해서 인터넷에서 카페인 정제 200정을 주문했습니다. 커피를 사러 나가면 15분이 걸리고, 카페인 음료를 사러 나가면 5분이 걸리니까 카페인을 정제된 형태로 섭취하는 것이 합리적이라고 생각했습니다. 그리고 실제로 합리적인 선택이었습니다. 향과 맛이 없는 카페인을 삼키는 일은 그 행동만으로도 심리적인 각성효과를 가져왔습니다. 그리고 하루 2 정의 카페인 정제는 피곤한 상황에서도 어쨌든 몸과 머리를 움직일 수 있게 해줬습니다. 그 대가로 지독한 수면장애를 얻기는 했지만, 다음 날 졸리면 한 알 더 먹으면 되겠지 라는 생각이 마음을 편하게 해 줬습니다. 저의 프로젝트는 그렇게 흘러갔습니다.

사무실에 여유가 넘치던 그 날은 리뷰가 있던 날이었습니다. 도대체 어떻게 그게 가능했는지는 모르겠지만, 저희는 결국 7명까지 줄어든 상황에서 어떻게든 돌아가는 프로그램을 완성시켰습니다. 물론 돌아가는 프로그램을 잘 돌아가는 프로그램으로 바꾸는 일은 우울할 정도로 스케일이 큰일이었지만 회사에서는 모양새가 갖춰졌으니 완성이라는 태그를 붙여도 충분하다고 생각했던 것 같습니다.

하지만 이 프로그램을 세상에 내놓기에는 해결되지 않은 문제가 몇 개 있었습니다. 그중 가장 큰 문제는 프로그램이 미친 듯이 느렸다는 점입니다. 많은 사람들의 희망 사항을 개발자들이 포기하지 않고 실제로 구현해버린 덕분에 화면에 표시되는 컴포넌트의 숫자가 모바일 세상의 전례에 없을 정도로 많았고, 심지어 쓰다 보면 그 숫자는 점점 늘어났습니다. 그래서 항목을 조금만 추가하다 보면 스크롤이 제대로 되지 않을 정도로 심각한 속도 저하가 일어났습니다. 한 명 한 명의 개발자들이 최선을 다해서 만든 화면은 문제가 없었습니다. 화면을 하나만 띄우면 별로 느리지 않았으니까요. 하지만 그 화면들을 한 프로그램으로 합치고 또 그걸 동시에 표시하자 프로그램을 우울할 정도로 느려졌습니다.

느리게 돌아가는 것도 돌아가는 것은 맞으니까 일단 리뷰는 시작되었습니다. 딱히 제가 설명할 부분은 없어서 회의실 구석에서 노트북을 펼치고는 리뷰 내용을 건성으로 들으면서 코드를 여기저기 뒤져봤습니다. 도대체 어떻게 하면 프로그램이 귀신같이 빨라질까. 그런 게 방법이 실제로 존재는 하는 것일까. 커리어 내내 잘 돌아가는 프로그램이 아닌 돌아가는 프로그램을 만든 업보인지 그런 종류의 튜닝이 너무 낯설게 느껴졌습니다. 그래서 그냥 생각나는 시도들을 위해 코드를 추가해보고, 지워보고, 돌려보고, 다시 고민하는 과정을 반복했습니다.

그리고 리뷰가 끝날 무렵 저는 프로그램을 귀신같이 빨라지게 만들 수 있었습니다. 어떤 사고 과정에서 그 코드를 짰는지는 정확히 기억나지 않지만, 허무할 정도로 간단한 4~5줄의 코드가 전부였습니다. 그래서 리뷰가 끝나기 전에 모두에게 놀랄 정도로 부드럽게 돌아가는 프로그램을 보여줄 수 있었습니다.

자리로 돌아와서 3번째 카페인 정제를 삼키면서 그래도 큰 문제 하나 해결했으니까 아주 살짝은 마음에 여유를 가져도 좋지 않을까 생각을 했습니다. 남은 기간과 남은 일을 생각해보면 이제 못할 것도 없겠다는 생각이 들기는 했습니다. 그런데 너무 바빠서 빽빽하던 마음에 살짝 틈이 벌어지자 우울함이 비집고 들어와서 자리를 차지했습니다. 도대체 나는 왜 아직도 미안한 마음을 가지고 있는지, 무엇을 위해서 180일 연속 출근을 했는지, 이 모든 것이 끝나고 나면 나이 말고 내가 얻는 것이 무엇인지에 대해서 생각했거든요. 예전 같았으면 적당한 지식과 노력, 행운이 결합되어서 프로그램 안에 있는 큰 문제를 해결한 지금 이 순간이 제가 계속 이 일을 하도록 해주는 연료가 되었을텐데 왜 힘이 나기는커녕 자꾸 빠지는지 고민해봤습니다. 객관적으로 생각해보면 조금은 뿌듯하고 자랑스러워해도 괜찮을텐데 오히여 제 안에 있던 무엇인가가 사라진 것 같은 기분이 들었습니다.

개발팀의 원래 인원은 13명이었고, 엑셀에서 모든 팀의 인원에 일괄로 50%를 곱하면 저희 팀은 6.5명이 되어야 했습니다. 각자의 인생과 꿈을 가지고 있는 사람들은 엑셀 위의 숫자로 표현할 수 없는데, 그걸 기어이 엑셀 위에 올려놓고 고민하던 사람들은 저 0.5를 뭐라고 생각했을지 궁금해졌습니다. 그러다 불현듯 이미 나간 6명에 저에게서 사라진 무언가를 0.5로 더하니 계산이 정확히 맞아떨어졌습니다.

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

가짜 심장의 진심  (1) 2018.07.27
참는 것과 남는 것  (0) 2018.07.27
한겨울 밤의 컴파일  (0) 2018.07.23
동화 속의 개발자들  (0) 2018.07.08
안녕하세요. 감사합니다.  (1) 2018.06.15
댓글