똥개도 자기 동네에서는 30%는 먹고 들어간다
일이 잘 되는 환경이 있다. 모두가 편안한 분위기를 상상할 것이다. 첫 번째는 내 집, 내 방, 책상이 놓인 방이고 두 번째는 사무실 책상 주변 3미터 이내 공간이다. 사물이라는 공통점보다는 홈그라운드라는 공간적 이점을 강조하고 싶다. '똥개도 자기 동네에서는 30%는 먹고 들어간다'라고 하지 않는가?, 나도 마찬가지다.
일을 할 때 퍼포먼스를 내고 싶은가? 몸이 편안한 것이 우선이고 그다음은 여백이 있는 마음이다. 기댈 곳이 있어야 시작하겠다는 마음가짐도, 힘도 얻는다. 일을 해낼 수 있다는 자신감은 내적 동기에서 시작한다. 주변이 번잡하고 너저분하면 집중에 도움이 되지 않는다. 시작이 편안하면 멈추지 않고 다음 스텝으로 넘어갈 수 있다. 그것을 무난함이라고 쓴다.
정리정돈을 잘 하고 환경을 깔끔하게 유지하는 사람이 일을 더 잘한다는 얘기는 미신이 아닐까? 내가 정리에 달인임을 언급하는 것으로 이야기를 부각시키려는 건 물론 아니다. 월요일 아침에 출근하여 제일 먼저 하는 일은 책상 위, 파티션, 노트북, 모니터 등을 물수건으로 쓱쓱 문지르는 거다. 먼지 하나 없이 깨끗하게 닦는다. 20년 가까이 유지한 습관이니만큼 신경 쓰지 않아도 몸이 저절로 반응하고 행동한다. 그다음은 쓰지 않는 문서류를 세단기에 갈고 읽지 않는 책들을 정리하여 책장에 꽂아둔다. 반짝반짝할 정도로 윤기는 나지 않아도 겉으로 보기에 먼지는 없으니 문제없다. 일에 집중할 준비는 끝난다. 타이머를 재보니 채 3분도 걸리지 않았다.
#PoC(Proof of Concept)
PoC(Proof of Concept) 때문에 고객사에 방문했다. 내가 개발한 제품의 성능을 시험하는 자리였다. 다리가 후들거릴 정도였다. 센서가 전송한 데이터를 서버가 정확하게 수신하는지, 수신된 데이터를 데이터베이스에 저장을 잘 하는지, 제어 담당 로직이 알고리즘대로 작동하는지 테스트가 진행됐다. 소프트웨어는 각자가 맡은 영역으로 분담을 했다. 센서와 네트워크로 연결된 수신 로직, 수신된 데이터를 계산하는 계산 로직, 데이터를 저장하는 출력 로직 등으로 역할을 분리했다. 각자는 자신의 임무를 수행하면 그뿐, 다른 모듈이 작동하는 내부 원리는 알 필요가 없다. 이것이 프로그래밍에서 강조하는 은닉, 추상화의 기본 원리라 하겠다.
제어 로직에서 오류가 발견이 됐다. 긴급히 수정이 필요했다. 노트북을 열고 IDE(Integrated development environment) 열었다. 문득, '이 녀석 내 나이만큼이나 연식이 오래됐구나.'라는 엉뚱한 생각이 앞섰다. 코딩창을 열고 오랜 친구와 대화하듯 시선을 응시했다. 수정을 해야 하는데, 머리 회전이 되지 않았다. 뇌에 공급된 혈류가 어디선가 막힌 듯한 느낌이 들었다. '아, 낯선 환경 탓이었을까?' 노트북의 키보드도, 터치패드도 익숙지 않았다. 모든 사물이 내 영역과는 동떨어져있다는 마음이 지배할 뿐이었다.
낯선 책상 앞에서 정신은 안쪽과 바깥 경계에서 들락날락을 거듭했다. 가끔 돌아오는 정신을 붙잡고 그럴 때마다 에러를 한 가지만 수정해달라고 애걸했다. 문제점을 겨우 하나씩 픽스하면서 정상 작동하는 로직과 가출한 나의 정신을 비교했다. '수정되지 못한 에러가 그득한 나라는 존재는 누가 고쳐줄까', '나라는 운영체제가 재부팅되기는 할까', '내가 프로그램보다 완벽해질 수 있을까?'라는 생각에 어지러웠다.
그래 어차피 낯선 환경이라면 내가 직접 만들면 되지 않을까? 주위를 탓할 것이 아니다. '일에 집중할 때의 동선을 기억하여 그 분위기를 가져오면 되지 않을까',라는 상상을 했다. 원하는 환경을 만들 수 없다면 마음에게 지령이라도 내리면 된다. 프로그래밍이 컴퓨터를 속이듯 나도 마음을 속여보는 거다. '이곳은 일하기에 최적의 환경이라고, 이곳이야말로 프로그래머의 지상낙원이라고 최면을 거는 거다'. 그런 시간도 모두 지나갈 뿐이니.