오래 전에 있었던 일입니다.

1.

회사에 막 입사했던 당시, 회사 내에서는, 만든 지 대략 7~8년은 된, 매우 느리면서도 여러모로 문제가 많은 라이브러리를 하나 사용하고 있었습니다. 비즈니스 로직에서 매우 중요한 라이브러리여서, 거의 모든 시스템에서 사용하고 있었지만, 속도가 너무 느린 탓에, 수천 대의 서버가 엄청난 병목 현상을 겪고 있었고, 잡다한 버그 또한 적지 않은 문제여서, 변경 사항이 생길 때마다 꼭 문제를 발생시키곤 했지요. 해당 라이브러리로 인해 낭비되는 비용은 어림잡아도 매년 수십억은 족히 되었습니다.

저의 담당 업무가 아닌 관계로, 한 동안은 그냥 그러려니 하고 지냈습니다만, 결국에는 참지 못하고 저녁 시간을 투자하여, 해당 라이브러리를 꼭 필요한 기능만 모아 새로 작성해버렸지요.[각주:1] 개인적으로 테스트를 해본 결과, 병목 상황에서 약 300 배 정도의 속도 향상을 확인할 수 있었습니다. 아니, 정확히 말하면 그냥 모든 상황에서 동일한 성능으로 돌 수 있도록 바꾸었지요. 또한 정확한 수치는 기억나지 않지만, 일반적인 상황에서의 성능도 10 배 이상 빨라졌습니다. 그리고 기존 라이브러리에서 버그가 있던 부분들은 아예 라이브러리 밖으로 빼내어, 이미 검증된 다른 라이브러리들과 연동하여 사용할 수 있도록 하였지요.

2.

여기까지만 이야기하면, 그저 잘난 척에 지나지 않겠지요. 하지만 실제 스토리는 따로 있습니다. 사실은, 딱히 제가 프로그래밍을 잘 해서 수십 수백 배씩 성능 향상을 하고, 다른 사람들은 실력이 안되서 7~8년씩 멍하니 구경만 했던 것은 아닙니다.

해당 라이브러리를 처음 접했을 당시, 팀원들에게 "왜 이런 라이브러리를 아직까지 사용하고 있지요?"라고 묻자, "아.. 그게 팀장님이 만드신거라.."라고 조심스레 대답하더군요. 그냥 아무도 눈치를 보며 할 엄두를 못낸 것이었습니다. 정치 정치 정치.

제가 새로 개발한 라이브러리는, 상당히 단순한 로직을 가진 ANSI C 코드였고, 특별한 욕심만 부리지 않는다면[각주:2], 누구나 비슷한 수준의 코드를 작성할 수 있었을 것입니다. 개발 기간도 저녁 시간만 해서 1주일 정도가 걸렸으니, 누구나 마음만 먹었으면 부담없이 만들 수 있었겠지요. 보고는 나중에 하더라도.

하지만, 예상하신 대로, 해당 라이브러리는 도입되지 못하고 그냥 버려졌습니다. 아니, 정확히 말하면, 팀 내 테스트 조차 이루어지지 않았습니다. 팀원 중 단 한 명도 테스트에 응하지 않았거든요.[각주:3]

3.

그런데 사실, 위 이야기는 또 그렇게 슬프게만 끝난 것은 아닙니다. 어쨌든 해당 사건으로, 그리고 추후 꾸준히 비슷한 시도들을 계속하면서, 팀원들의 신뢰를 얻기 시작했고, 약 1 년 후에는 중요도/난이도가 매우 높은 프로젝트를 맡게 되었지요. 운이 좋았는지, 감수했던 리스크에 비해 좋은 결과가 나왔고, 그로 인해 회사도 많은 비용을 절감할 수 있게 되었습니다. 다시 말하면, 결과적으로 자랑할만한 이력으로 남게 되었지요.

다만, 아직 찝찝한 마음이 남아 있는 것 또한 사실입니다. 요즘에는 종종 그런 생각이 듭니다. "당시 조금만 더 강력하게 밀어 붙였으면, 더 많은 기회를 얻을 수 있지 않았을까?"

그리고 또 한 가지, 그러한 정치적 분위기가 조성된 책임이 팀장분께 있었을거라고 생각하시는 분이 계실지 모르나, 그게 또 그런 것도 아니었습니다. 어쨌든 이와 같은 무모한(?) 시도들을 함에 있어서, 가장 든든한 조력자가 되어준 사람이 당시 팀장이기도 하거든요.

결론

정치는 때론 매우 중요합니다만, 정치가 일을 방해하게 두어서는 안됩니다. 사람이 한 번 죽지 두 번 죽나요. :'p

마치며 덧붙임

이번 주에 또 이사가 예정되어 있네요. :')

  1. 해당 라이브러리는, 보안 등급이 높아, 팀원들에게조차 소스 코드가 공개 되지 않았습니다. [본문으로]
  2. 해당 라이브러리는 너무 많은 기능들을 가지고 있었습니다. 물론, 해당 라이브러리를 작성할 당시에는 그러한 기능들이 모두 필요했었습니다. 아마도 만들어졌을 당시에는 상당히 뛰어난 라이브러리였을겁니다. 단지 제가 그 회사에 들어갔을 때에는, 그 기능 중 극히 일부만 사용하고 있었지요. 즉, 수명이 다 된 코드였습니다. [본문으로]
  3. 물론 개인적으로 테스트 해본 후 '빠르긴 참 빠르네요'라고 조용히 구두로 전한 팀원들은 있었습니다. [본문으로]
저작자 표시 비영리 변경 금지
Posted by 찬익

트랙백 주소 : http://blog.chanik.com/trackback/122 관련글 쓰기

댓글을 달아 주세요

  1. 재영 2010/10/01 15:51  댓글주소  수정/삭제  댓글쓰기

    글 좀 써라.. 요새 좀 한가해서 심심해 - _-