프로그래밍에 집중이 안 될 때, 흐름을 만들어내기 - ‘바텐더의 스탠더드’
네에, 사람은 슬퍼서 우는게 아니라 울기 때문에 슬퍼지는 거라고 합니다. 등을 곧게 펴고 억지로 웃음을 띄우고 있다 보면 동요했던 마음이 차분히 가라앉을 때가 있습니다. 술을 넣는 순서, 보틀 쥐는 방법, 코스터 위치… 나도 처음엔 다 쓸데 없는 짓이라고 생각했어요. 하지만 사람은 습관에 몸을 맡김으로써 때로는 마음의 고통을 이겨낼 수 있기도 합니다. 아니… 프로라면 이겨내야만 합니다. 스탠더드란 그러기 위해 있는 겁니다.
만화 바텐더 9권 중
호텔에 있는 바에는 스탠더드라는게 있다고 한다. 어떻게 보면 참 쓸데없는 규칙처럼 보이기도 하는데, 베이스 술을 항상 먼저 넣고 부재료를 다음에 넣어야 하며 보틀은 라벨이 손님 쪽으로 가게 하고 밑에서 1/3 부분을 잡아야 한다 등의 규칙이다.
위에 말은 개인적인 문제로 슬퍼하는 동료 바텐더를 위해 대장 바텐더가 스탠더드에 대해서 이야기해 주는 부분이다. 슬픔을 항상 습관적으로 하는 행동에 몸을 맡겨서 이겨낼 수 있다고 하는데, 이런 습관을 만들어 주는 게 바로 쓸데없어 보이는 행동 규칙인 스탠더드라고 한다.. 감정을 조금씩 이기는 방법으로 설명했는데, 컨디션 저하로 일이 잘되지 않을 때도 효과가 있을 것 같다.
프로그래머에게도 이렇게 사용할 수 있는 스탠더드가 존재할 수 있을까? 주로 컴퓨터 앞에 앉아서 키보드로 일하기 때문에 행동으로 할 수 있는 건 제약이 있다. 그래서 행동 규칙들로 만들어진 스탠더드가 존재하기에는 무리가 있다고 생각한다. 게다가 하는 일의 대부분이 복잡한 사고 과정이다. 이러니 오히려 감정에 더 영향을 많이 받을 수 있겠다는 생각이 들었다.
행동 규칙은 무리고 업무에 집중할 수 있는 흐름을 이끌어내는 게 어떨까? 뭐~ 큰 거 한방으로 흐름을 이어나가도 되지만 경험상 이런 경우는 잘 없더라. 그래서 나는 유닛 테스트가 필요 없는 함수나 클래스 이름 변경, 오래돼서 쓸모도 없고 상한 주석 제거 등의 작은 리팩토링으로 흐름을 이끌어나가고 있다. 언제인지 기억이 나지 않지만, 올해 초 부터인가? 이렇게 해왔는데, 꽤 효과를 보고 있다. 코드도 건강해지고 몰입의 공간으로 가는데 도움도 되는 방법이라고 생각된다.
코딩을 하다가 이름이 코드를 읽는데 방해가 되는 등의 단위가 작은 리팩토링이 필요한 항목을 발견하면 메모를 해 놓는 버릇이 생겼다. 모니터에 포스트 잇으로 덕지덕지. 바로 고칠 수도 있지만 코드 버전 사이에 이름 변경과 코드 구현 변경이 같이 있으면 변경된 점을 보기가 너무 힘들어지기 때문에 꾹 참고 메모해 놓는다. 흐름이 끊기거나 일이 안될 때, 모니터에 붙인 포스트잇을 하나둘씩 제거해나가면서 몰입의 길로 고고씽 하는 거다.
“에이~ 이런거 필요 없어. 난 항상 일이 잘 되는데!” 이러면 얼마나 좋을까나~~~
PS : 그리고 아직도 맞추는 방법을 다 외우지 못했지만, 머리가 안 돌아갈 때 한 번씩 맞추는 큐브도 꽤나 효과가 있었다. 유닛 테스트를 한다면 이런 흐름을 이끌어 내는데 더 도움이 될 것 같다.