C레벨 패닉

C레벨 패닉

마일스톤 마감 후 제한된 범위의 고객분들께 서비스 할 때까지 이제 200시간도 채 남지 않았습니다. 하지만 지난 2주 동안 쉬는 날 없이 일해 이번 주말은 좀 쉬는 중입니다. 항상 이 기간에는 지금까지 경험한 적 없는 온갖 이상한 결함이 새롭게 등장하곤 합니다. 지금까지 서로 다른 브랜치에서 평화롭게 개발되던 작은 기능들이 종종 메인 브랜치에 통합 되어 테스트 되기는 했지만 마감 기간만큼 집중적으로 메인 브랜치에 온갖 기능이 머지되고 또 이 기능에 기반한 온갖 데이터가 빌드의 동작 시나리오에 맞춰 커밋되는 상황이 일어나지는 않기 때문입니다.

마감 기간의 메인 브랜치는 아주 난리가 나는데 수 십 명이 하루에도 수 십 번 커밋과 머지를 반복하고 있기 때문입니다. 비 엔지니어 관점, 그리고 바이너리 파일을 주로 다루는 언리얼 엔진 환경에서 개발하며 깃에 대해 여러 번 불평을 해 왔는데 특히 마감 기간에 바이너리 파일이 메인에 대규모로 머지되면 아주 난리가 나곤 합니다. 이 난리에는 서로 같은 바이너리 에셋을 편집한 다음 커밋 하려다가 나중에 커밋 한 사람이 충돌을 해결해야 하는 나름 기초적인 일부터 시작해 서로 다른 기능과 통합된 상태를 크게 고려하지 않고 개발하다가 같은 브랜치에 머지 된 다음 빌드에서 서로가 서로에게 큰 영향을 끼쳐 이전에는 경험한 적 없는 강렬하고 웃긴 오동작을 일으키는 것도 있습니다.

보통 마일스톤 마감은 주로 월말과 일치할 때가 많아 회사의 자금 집행 시스템과 연결된 이상한 문제가 일어나기도 하는데 종종 회사에서 자금을 집행하는데 사용하는 법인카드의 단위기간 별 한도가 초과되어 우리가 사용해야 하는 서비스나 소프트웨어 라이선스 비용 지불이 이루어지지 않아 바빠 죽겠는데 갑자기 서비스를 사용할 수 없는 상황이 발생하기도 합니다. 갑자기 빌드가 느려진 문제를 살펴보니 빌드를 여러 기계에 분산해 수행하는 소프트웨어 라이선스가 업데이트 되지 않았다든지 이슈트래커 소프트웨어 라이선스가 업데이트 되지 않아 모든 사람들이 갑자기 자기가 할 일을 모르게 되는 일이 일어나기도 하는데 후자에 대해서는 없는 생활에서 따로 소개하겠습니다.