대부분의 경우 5분 간의 방해가 어떤 일에 집중하고 있는 기술자의 생산성에 1시간 이상의 손실을 불러온다.
IT 분야의 업무라는 것이 스토브 위에 올려놓고 잊어버린 파스타 냄비처럼 끓어 넘치는 경향이 있다. 하지만 이는 해야 할 일을 잊어버리고 있었기 때문은 아니다. 그보다는 대부분의 IT 엔지니어는 주변 환경의 피해자인 경우가 많다. IT 엔지니어는 어떤 경우에도 긴급상황을 처리할 수 있어야 하고, 향후 계획을 위해 기술적인 사실들을 명확하게 밝혀야 하고, 문제 차단을 위한 해답을 제시해야만 한다. 데이터센터나 시스템 아키텍처를 설계하고 관리하는 엔지니어들이 한 가지 업무에 집중할 수 있는 호사를 누리지 못하고 있는 것이다. 이런 상황에서는 기어를 신속하게, 그리고 갑자기 바꾸는 것이 중요하다.
자연히 IT 엔지니어는 지친다. 하지만 엄청나게 복잡한 문제를 해결하려 애를 쓰는 것보다 더 짜증나는 일은 수많은 커뮤니케이션 방법 중 하나를 통해 이런 작업이 방해를 받고, 이제 막 해결의 실마리를 잡으려고 하던 문제의 해법이 자신의 손 안에서 미끄러져 나가는 느낌을 받을 때이다.
예를 들어, 한날 필자가 까다로운 지리정보 알고리즘을 한창 완성하려고 하는 찰나에 두 건의 전화가 연속으로 울렸다. 여기에 더해 모니터링 장비로부터 수많은 인스턴트 메시지 알림이 쏟아져 들어오며 데이터센터 하나에서 상당히 치명적인 문제가 발생했다고 알리기 시작했다. 그리고 다른 사람으로부터 이들 문제와는 무관한 두 건의 문자 메시지도 받았다.
이런 상황은 어떤 집중력이라도 무너뜨리기에 충분했으며, 필자가 집중하고 있던 작업을 거의 한 시간 전으로 돌려보냈다.
위의 만화는 이런 상황을 잘 묘사하고 있다. 프로그래머만이 이런 상황을 겪는 것은 아니다. 개발자들이 가장 치명적인 영향을 받기는 하지만, 특정 문제나 설계 요소에 집중하고 있는 어떤 IT 엔지니어에게도 일어날 수 있다.
물론 이에 대처하는 방법도 있다. 소음 제거 기능이 있는 헤드폰을 끼고 음악을 듣는다거나(그냥 헤드폰만 끼고 있어도 된다) 전화기를 꺼두고 “방해하지 마시오” 팻말을 세워 둘 수도 있다. 모든 커뮤니케이션 채널을 차단하고 완전히 혼자만의 고치와 같은 환경을 만들 수도 있다. 하지만 이런 방법은 개발자에게는 가능할지 몰라도 나머지 IT 엔지니어, 특히 IT 운영을 위한 코드를 작성하는 사람들에게는 불가능한 방법이다. IT 엔지니어는 항상 이런 요소에 노출되어 있다.
이런 식으로 오랜 시간 일을 하고 나면, 이성을 잃어버리거나 아니면 이런 환경에 적응하거나 하게 된다. 물론 전에 하던 일을 완전히 새로 시작하지 않고도 이런 갑작스러운 방해를 수용하고 적응하는 것은 가능하다. 하지만 결코 쉽지 않으면 항상 통한다는 보장도 없다.
한편으로는 반대로 생각해 볼 요소도 있다. 코드에 완전히 몰두해 있거나 긴급한 문제에 대한 해결책을 찾으려 노력할 때, 잠시 동안 문제로부터 한 걸음을 떨어져서 바라보고 새로운 관점으로 접근해야 할 필요도 있다. 경우에 따라서는 이 두 가지 측면이 잘 조화를 이루기도 한다. 성가신 방해가 집중하고 있던 문제로부터 떨어져 나와 머리를 환기시켜 주는 역할을 하기도 하고, 문제로 다시 돌아왔을 때 전에는 발견하지 못했던 무엇인가를 찾아내기도 한다. 원래 지점으로 돌아가기 위해 20분 이상을 투여해야 하지만, 2분간의 방해가 단번에 해답을 보여주기도 하는 것이다.
이런 일은 데이터센터와 코딩 작업에서는 일상적으로 발생한다. 집중해서 일을 하는 모든 시간이 완전히 생산적이지도 않으며, 갑작스러운 방해가 모두 일을 망쳐 놓지도 않는다. 하지만 만약 선택할 수 있다면, 프로그래머를 방해하지 않도록 노력하기 바란다.
[참고]
집중하는데 말걸 때