배치 담당자가 되기까지
회사에 입사한 지 어언 10년이 흘러 지금은 어엿한 회사의 중심축으로 성장했지만, 입사 초기만 하더라도 나는 기초 중의 기초도 모르는 코흘리개 신입사원이었다. 일에는 능숙하지 못하여 시간은 오래 걸리고 하는 일마다 실수투성이인 데다 파트장님 앞에만 가면 얼어붙어하고 싶었던 말은 다 잊어버린다던가.. 흔히 말하는 저성과자였던 것 같다. 그렇게 힘든 고초의 시기를 입사 초기 3년 정도를 겪었던 것 같다. 그 시기는 나에게는 혹독했지만 결과적으로 그런 시행착오와 고초들이 지금의 내가 있게 한 원동력이 아니었나 생각한다.
아마 사원 2년 차 즈음으로 기억하는데, 당시 시스템 운영을 하다 이상한 점을 발견했다. 회사에서 제공하는 일부 금융서비스가 제시간에 서비스되지 않은 일이 비일비재하다는 점이었다. 해당 시스템의 개발자와 대화를 해서 일단 원인을 찾기는 했다.
나 : "A 서비스가 지금 제공되지 않는 원인이 뭔가요?"
개발자 : "새벽부터 수행 중이던 야간 배치(Batch, 대량의 데이터를 일괄로 묶음 처리가 필요한 경우를 위해 개발된 프로그램)가 아직 수행 중입니다. 수행이 완료되어야 서비스가 가능합니다."
나 : "평소에는 문제가 없었는데 왜 오늘만 문제가 생긴 걸까요?"
개발자 : "처리할 데이터가 매일매일 다르기 때문입니다. 처리량이 많은 날만 문제가 발생합니다."
원인과 해결방안은 명확했다. 처리 성능을 개선하면 될 일 아닌가? 하지만 막상 해결하려고 보면 계속해서 새로운 난관에 부딪혔다.
우리가 겪는 - 특히 대기업에서는 - 남아있는 문제들은 굉장히 풀기 어려운 문제들만이 남아있을 가능성이 높다. 바꿔 말하면 그만큼 어려우니까 문제로 남아있는 겔 테다. 그리고 누군가는 최소 한 번 이상 개선을 시도해봤을 확률이 높다.
앞서 언급한 야간 배치로 인한 서비스 문제도 예외는 아니었다. 배치 프로그램이 1개로 구성된 것이 아니라 수백수천 개가 광범위하게 얽혀 있어 누가 어떻게 개선해야 할지 찾기가 막막했다. 게다가 각 프로그램마다 담당자가 달라서 누구도 이를 해결하려고 하지 않았다. 즉, 이러한 배치 프로그램들을 총괄 지휘할 마에스트로가 부재한 것이 이 모든 문제의 원인이었다.
하지만 왜 총괄 지휘자가 없는 것일까? 그것도 다 사연이 있다. 금융 업무는 매우 복잡한 비즈니스가 로직화 되어서 프로그램이라는 결과물로 나타나는데, 워낙 깊이 있게 알아야 해서 보통은 한 가지 업무만 알기도 벅차다. 최소 5년에서 10년 정도는 한 가지를 오랫동안 해야 그 분야의 전문가로 인정받으니 말이다. 그런데 지휘자 역할을 하려면 저 수많은 프로그램에 얽힌 모든 업무를 알아야 하는데 그건 거의 불가능하다는 것이 모두의 공통된 의견이었다.
대략적인 상황을 알았으니, 이제 결정을 해야 한다.
이것을 더 파고들어서 문제를 해결할 것인가, 그냥 포기할 것인가.
결론부터 얘기하자면, 나는 결정을 하지 않았다. (적어도 그 당시에는) 해결을 한 것도 아니고, 포기를 한 것도 아니었다. 당시 내 실력으로는 해결할 수 있을만한 문제가 아니었기에 아예 결정이라는 것 자체를 할 생각을 못했던 것 같다. 하지만 적어도 그 끈만은 놓지 않았다. 아무도 오너십을 가지지 않았던 업무이기에 문제가 생긴 경우의 원인과 비즈니스 영향도, 유관부서 전파, 고객 공지사항 작성과 같은 아주 기초적인 업무부터 할 수 있었고 꽤 오랫동안 그 업무를 했다.
조금씩 시간이 지나다 보니 점점 관련된 업무가 눈에 들어오기 시작했다. 이 많은 프로그램이 어떤 식으로 엮이는지, 어떤 업무처리가 시간이 오래 걸리고 그 원인은 무엇인지, 외부의 영향은 어떤 것이 있는지 등에 대한 광범위한 지식을 터득하게 되었고 어느 정도 스스로 소소한 정도의 개선방안은 도출할 수 있게 되었다.
그러다 약 3년 정도 시간이 흘렀을까, 기회가 찾아왔다. 회사의 전체 처리 시스템을 리뉴얼하는 프로젝트에 투입된 것이다. 그것도 야간 배치를 설계하는 업무로 말이다. 나는 그동안의 모든 문제를 새로운 시스템에서는 재발하지 않기를 바랐다. 모든 문제의 포커스를 안정성과 성능에 포커스를 맞춰서 진행했다. 야간 배치가 제시간에 종료되지 않는 원인인 오류와 지연에 대해 발생할 수 있는 모든 케이스를 찾아서 하나씩 해결해나갔고 장애에 대한 기준을 강화해서 배치에 대한 오류도 대부분 장애의 범주로 포함시켰다. 배치의 지연으로 고객 서비스에 문제가 발생한다는 사실을 결코 용납할 수 없었다.
그래서 지금은 문제가 없냐고? 현재의 시스템에서는 - 적어도 배치에 관해서만은 - 아주 클린하게 잘 작동하고 있다. 따라서 관련된 서비스가 제대로 서비스되지 않는 문제도 현재는 없다. 여전히 대량의 데이터를 다루는 업무라 문제가 전혀 발생하지 않을거라 볼 수는 없지만, 또 다른 문제가 발생할 경우 원인을 찾아서 해결해나갈 것이다.
현재 나는 더 이상 이 업무를 맡고 있지 않다. 내 후임으로 온 후배가 나를 대신해서 이 업무를 하고 있다. 내가 터득하는 데 5년 이상 걸렸던 업무를 이 똑똑한 친구는 단 1년 만에 나만큼 성장한 것 같다. 나는 그 부서에 없어 자주 이야기하지는 못하지만 고민이나 문제가 있을 때마다 서로 상의하곤 한다.
배치라는 업무를 5년 이상 수행하면서 느꼈던 나만의 생각을 이야기하자면, 항상 장기적으로 생각하고 행동해야 한다는 것이다. 당장은, 단기적으로는, 아무것도 이뤄지지 않은 것 같아도 끈기 있게 오랫동안 파고들다 보면 결국 얻는 것이 있다는 사실 말이다. 우리는 간혹 그리고 종종 당장 낼 수 있는 성과에 의존하고 사로잡힐 때가 많다. 장기적으로 생각하고 행동한다는 것이 말로는 쉽지만 너무도 지루하고 고루한 일이기 때문일 것이다. 하지만 그때그때 당장 눈에 보이는 일이 당장은 좋다고 단기적인 일에만 몰두하다 보면 결과적으로 장기적으로 생각하고 행동하는 사람에게 패배하게 된다.
주식에도 '장기적으로 투자하라'라는 말이 있다. 사람들이 삼성전자 주식을 사는 이유는 장기적으로 우상향할 것이라는 믿음이 있기 때문일 것이다. '나'라는 주식은 투자자들이 보기에 매력있는 종목일까?를 고민해보자. 나 자신의 성장그래프를 그렸을 때 주가 100원에서 1년만에 10,000원을 찍지만 곧바로 하락해서 끝나는 사람도 있을 것이고, 시작은 조금 더디더라도 상승 탄력을 받아 5년만에 50,000을 찍는 사람도 있을 것이다. 어떤 사람이 될지는 여러분의 선택이다.