경영 자기계발/이기적 직원들이 만드는 최고의 회사

회삿돈 2만 달러 날렸는데 승진이 됐다

스마트북스 2019. 5. 9. 16:44

실수로 회삿돈 2만 달러를 날렸다

오후 5시에 내 코드를 디플로이deploy(코드를 추가하여 서비스를 업데이트하는 것)하고 퇴근했다. 사실 퇴근 직전 코드를 디플로이하는 것은 좋지 않다. 오류가 나면 쉽게 대응하기가 어렵기 때문이다. ‘설마 무슨 일 있겠어?’하고 무심코 넘긴 게 실수였다. 퇴근 후 저녁을 먹고 7시 반쯤 컴퓨터를 켜서 내 코드가 잘 작동하는지 확인하다 등골이 오싹해졌다. 회사 시스템에서 2만 달러가 사라진 것이다.
환율을 바꾸는 코드에 버그를 생겨 영국 고객들에게 미국 달러가 아니라 파운드로 계산되어 돈이 지불되고 있었다. 100달러를 보낸다는 것이 100파운드를 보내서 실제로는 160달러를 보낸 셈이 된다.
급하게 디플로이한 코드를 리버트revert(문제가 된 코드를 없애고 다시 디플로이하는 것)했다. 이미 2만 달러, 우리 돈 2,200만 원이 넘는 돈이 사라진 뒤였다. 밤새 뒤척였다. 이 돈을 어떻게 물어줘야 하나 고민했고, 선잠이 들어서도 매니저와 이 문제로 얘기하는 꿈만 반복해서 꿨다.
다음 날 출근해 매니저에게 내 실수로 2만 달러가 사라졌다고 고백했다. 매니저는 웃으면서 괜찮다고 말했다.
괜찮다고? 2만 달러인데?’
매니저는 내게 회사 프로젝트의 위험부담이 0%일 수는 없기에 이런 사고가 생기는 것을 가정해두고 있다고 설명해주었다. 나에게는 정말 충격적인 이야기였다.

실수한 내게 고맙다고 한다?

그리고 매니저는 나에게 포스트모텀을 쓰자고 했다.
포스트모텀post-mortem이란 시체 부검을 뜻한다. 즉 시체를 부검하듯 사고 후 어떤 문제가 있었는지를 자세히 분석하는 것이다.
나는 매니저의 제안에 따라 포스트모텀을 썼다. 어제 오후 5시로 돌아가서 내 코드 중에서 어떤 부분에 문제가 있었는지, 어떻게 발견했는지, 어떤 피해가 있었는지, 사고를 어떻게 수습했는지, 앞으로 이런 사고가 다시 일어나지 않으려면 어떻게 해야 하는지 등을 자세하게 썼다.
앞으로 퇴근 직전에는 디플로이를 하지 말아야 한다는 내용도 썼고, 자동화된 테스트를 통해 원래 송금해야 할 금액과 실제 송금 금액이 맞는지를 항상 체크하고, 둘이 다를 경우 이메일로 고지하고 송금을 맞추는 시스템도 제안했다. 이윽고 포스트모텀의 제출단추를 누르려는데 그 옆에 이러한 문구가 쓰여 있었다.
제출시 포스트모텀이 모든 엔지니어에게 이메일로 전달됩니다.”
꺄오~, 700여 명의 엔지니어에게 내가 어떤 실수를 했는지, 무책임하게 퇴근 직전에 코드를 어떻게 디플로이했는지, 어떻게 버그를 만들어 2만 달러를 날렸는지 전해진다는 것이다. 무거운 마음으로 제출단추를 눌렀다. 그렇게 700여 명의 개발자에게 내가 한 끔찍한 실수가 이메일을 통해 전달되었다. 앞으로 한동안 승진을 기대하기는 힘들 것 같았고, 가슴이 덜컹 내려앉는 기분이었다.
10분쯤 뒤 이메일로 답장이 오기 시작했다.
자세히 써줘서 고마워!”
이 문제는 오래전부터 있었는데 드디어 해결이 되겠구나!”
? 왜 실수한 나에게 사람들이 고맙다고 하지?
비난하지 않는 포스트모텀blameless post-mortem 문화를 처음으로 경험한 날이었다.

실수를 공유하되, 비난하지 않는다

사람의 감정과 공포는 이성을 압도하는 경우가 대부분이다. 내가 비난을 받을 것이라 예상되면, 포스트모텀을 보내기 전의 나처럼 실수를 공유하는 일은 마지막까지 피하고 싶은 일이 될 것이다. 그래서 역할조직에서는 절대로 실수한 사람을 비난하지 않는다.
만약 위계조직이라면 내가 저지른 실수 때문에 윗사람이 징계를 받을 수도 있다. 내 실수를 팀장이나 부장이 책임져야 하며 그들이 돈을 물어내야 할 수도 있다. 그런 상황에서는 실수를 숨기는 것이 최선의 선택이 된다. 내가 책임을 지는 것도 무서운 일이지만, 나 때문에 다른 사람이 책임을 져야 하는 것은 더 괴로운 일이기 때문이다.
이처럼 개인에게 실수에 대한 책임을 묻지 않으면 직원들은 실수를 더 많이 하게 될까? 전혀 그렇지 않다. 자신의 실수를 인정하고 공론화하여 대안을 함께 만들면, 실수를 막는 시스템을 만들어 다른 엔지니어가 같은 실수를 하는 것을 미연에 방지할 수 있다.
여기저기 구덩이가 파인 길을 바짝 긴장하고 건너가는 것은 개인적인 차원에서는 대안이 될 수 있지만, 회사 전체적인 차원에서는 대안이 될 수 없다. 누군가가 구덩이에 빠졌으면 정신을 똑바로 차리고 다니라고 혼낼 문제가 아니다. 구덩이가 있다는 것을 회사 전체에 알리고, 포장공사를 해서 누구나 수월하게 다닐 수 있는 길로 만들어놓아야 한다. 그러면 모든 사람이 다른 생산적인 일에 더 신경을 쓸 수 있다.

포스트모텀 없는 시체는 좀비로 돌아온다

내 실수를 숨기면 다른 사람도 같은 실수를 할 수 있으며, 결국 다른 사람의 더 큰 실수로 연결되어 더 큰 피해를 초래할 수도 있다. 포스트모텀을 하지 않은 시체는 좀비가 되어 돌아올 수 있다.
나의 포스트모텀은 인사평가에서 실수에 대한 종합적인 대책을 수립하여 다시는 그런 오류가 생기지 않도록 한 기여가 인정되었다. 나의 승진에 도움이 된 것이다.
포스트모텀은 실리콘밸리 기업들이 인재들의 능력을 효율적으로 끌어올리는 데에도 큰 기여를 하고 있다. 정신 차리고 바닥을 항상 꼼꼼하게 체크하면서 걸어야 하는 사람과 길을 걱정하지 않고 앞을 보고 뛰는 사람의 속도의 차이라고나 할까. 이제는 나뿐만 아니라 모든 엔지니어들이 환전 버그가 있을까 걱정하면서 코드를 쓰지 않아도 된다. 유닛(부분) 테스트, 인테그레이션(통합) 테스트, 트랜잭션 인테그리티(결제 무결성) 테스트 등 3중으로 실수를 방지하는 시스템이 마련되어, 같은 실수를 하려고 하면 자동으로 그 코드를 올릴 수 없게 하기 때문이다.

이 포스트는 이기적 직원들이 만드는 최고의 회사에서 발췌 재정리한 것입니다.