Thoughts2009.12.07 14:10
[2009년 12월 10일 업데이트]

그도 사람인지라 가장 귀찮은 것이 잡일이다. 그 중 가장 귀찮은 것은 기안이다. 하지만 회사에 몸을 담고 있는 이상, 기안을 하지 않고 회사 생활을 할 수 있는 방법은 없다.

그 귀찮음을 없애기 위해, 그는 어느날 동료들에게 '잡일성 기안'을 나누어 하자는 제안을 한다. 다행히 모두들 동의하여, 그는 회의비에 대한 기안 책임만을 맡고 있다. 그 일을 통해, 그는 '회사에서 가장 믿을 수 있는 존재는 동료'라는 사소하지만 중요한 원칙을 또 하나 배운다.

회의비는 기안 하는 방식이 언제나 엇비슷하다. 그래서 그는 기안 양식을 미리 메모장으로 만들어 둔 다음에 바꾸어야 할 부분만 바꾸어 긁어 붙이는 식으로 기안을 올린다. 그는 "리팩터링은 일상적으로 실천할 수 있는 원칙이다"라는 생각을 가지고 있다.

10년차의 프로그래머가 되다 보니, 회사에서 그에게 기대하는 업무의 방향이 조금씩 달라지기 시작한다. 그도 지금만큼 많은 시간을 프로그래밍에 쓸 수 없는 날이 곧 오리라는 사실을 알고 있다. 그래서 조금씩, 외향적인 형태의 직무 능력을 개발하려 한다.

대표적인 것이 앞서 언급했던 코칭의 기술이다. 그 다음으로 그가 갈고 닦고 싶은 기술은, 올바른 추정의 기술이다. 올바르게 추정된 프로젝트는 매끄럽게 굴러갈 가능성이 높아진다. 그래서 그는 회의 시간에 추정의 정확도를 높여줄 새로운 기법을 하나 도입하여 팀원들과 실험한다. "플래닝 포커(planning poker)"가 바로 그것이다. 그는 그 기술을 애자일 관련 서적 중 한 권에서 접했다. 플래닝 포커는 지루하기만 했던 회의 시간을 좀 더 쾌활하게 바꾸어 놓았다. 비록 실험적 추정 결과가 프로젝트에 바로 쓰이지는 못했지만, 그는 소중한 경험을 얻었다고 느꼈다. 팀원들도 마찬가지였다.

매일 매일, 그는 좀 더 즐겁게 일을 할 수 있는 방법이 무엇일지를 생각한다. 그리고, 자신의 결점을 보완할 어떤 방법이 없을지 고민한다.

심지어는, 회의 시간에 자신의 맘에 들지 않는 의견이 나오면 버럭 하고 언성을 높이는 버릇을 고치기 위해, 정신과에서 상담을 받기도 한다. 그 상담 과정을 통해, 그는 NVC(Non-Violent Communication)와 트라우마에 대해 배웠다. 어린 시절의 정신적 상흔이, 그를 어떻게 지배했는지도 알게 되었다. 그리고 그 지식이, 타인과의 소통과 코칭에 어떤 식으로 활용될 수 있을지까지도 어렴풋이나마 깨닫게 되었다.

가끔 정신과를 나서면서, 그는 '모든 것이 배움의 연속'이라는 평범한 진리를 떠올린다.

- - -

구보씨의 사례를 통해, 우리는 다음과 같은 결합이 가능함을 살펴보았다. 짐작하셨을지 모르겠지만, 위에 적은 구보씨가 경험한 많은 사례들은 필자 자신의 경험으로부터 나온 것이다.

1. 영어 공부 + 업계 최신 동향 파악
2. 리팩터링 + 코드 리뷰 + 문서 갱신
3. 코칭 + NVC
4. 협업 + 코칭 + 추정 + 실험 (Planning Poker)
5. 장보기 + 아이돌보기 + 독서
6. 화장실 + 독서

중요한 것은, 1번부터 4번까지의 활동은 직장 내에서 이루어진 활동이고, 5번부터 6번까지는 직장 외적으로 이루어진 활동이라는 점이다. 직장 내에서 이루어지는 활동과 직장 외적으로 이루어지는 활동은 결합이 힘들다. 다만 깨달아야 할 사실은, 직장 외적으로 이루어진 활동이 직장 내부에서 이루어지는 활동에 대한 어떤 긍정적인 자극 (stimulus)으로 작용하고 있다는 사실이다.

이런 긍정적인 자극을 확보하기 위한 시간은, 안타깝게도 화장실에 가는 시간과 결합하는 한이 있어도 어떻게든 만들어야 한다. 긍정적인 자극이 없이는, 목표를 달성하기 위해 해야 하는 활동으로 어떤 것이 있을지에 대한 구체적인 답을 얻기가 힘들다. 필자의 경우, 가장 많은 자극을 얻는 곳은 아이와 함께 들르는 마트 서점이다. 생각보다 마트 서점에는 많은 책들이 있고, 그 중에는 읽어볼만한 책들도 많다. 그래서 나는 마트를 좋아한다. 살 것이 있고, 놀 거리도 있고, 배울 거리도 있기 때문이다.

하지만 이런 자극만이 있는 것은 아니다. 회사에서 발생하는 유무형의 컨텍스트 스위칭도 이런 자극으로 작용할 수 있다.

필자의 회사에서는 비주기적으로 전문가 초청 세미나 같은 것이 열린다. 일을 하다 말고 세미나에 참석하는 것이 귀찮게 느껴질 때가 많다. 하던 일에서 손을 놓고 다른 생각을 해야 하기 때문이다. 세미나는 영어로 진행될 때도 있고, 그렇지 않을 때도 있다. 하지만 이런 세미나에 참석하다 보면 단순히 "영어를 좀 더 잘 해야 겠군..."같은 자극부터, "저런 프리젠테이션 방법은 배워야겠네...", "누구나 다 아는 이슈를 너무 장황하게 설명하고 있는 것은 아닐까?" 등등의 자극을 얻는다. 이런 류의 자극은 대부분 여러분의 활동에 긍정적인 피드백(feedback)을 제공한다는 측면에서, 긍정적인 자극이다.

하지만 세미나는 그렇다 치고, 과연 출장, 기안, 책상 정리, 청소, 보고서 준비, 보고, 발표등의 비-프로그래밍 적인 활동에서도 긍정적인 자극을 얻을 수 있는 것일까?

얻을 수 없지 않을까... 라고 생각한다면, 발상의 전환이 필요하다.

가끔 책상을 정리하라던가, 자리를 옮기라던가 하는 아주 골치아픈 컨텍스트 스위칭 요구를 받을 때가 있다. 시간도 많이 들고, 그 시간 동안에는 아무 일도 할 수 없다. 하지만 책상을 정리하다보면 흥미로운 사실을 발견한다. 읽지도 않고 내팽개쳐진 기술문서, 특허, 서적, 논문들이 무더기로 쏟아져 나오는 것은 그 중 하나이다. 이런 서적들을 "다 내다 버리기 전에" 뒤적거려보다 보면, 과거 내가 중요하다고 생각했던 생각들의 편린들을 발견하게 된다. 특히 논문이 그렇다.

최근에 책상정리를 하다가, 네트워크 관리 응용 프로그램을 프로그래밍 언어 관점에서 어떻게 abstraction할 수 있을 것인가에 대한 position paper를 발견했다. 이 논문은 필자가 오래 전에 생각했던 어떤 지향점 하나를 새롭게 일깨워 주었다. 그 논문은 지금 필자 책상의 독서대 위로 옮겨져 있다. 시간이 날 때 마다, 골치가 아파 아무 일도 하기 싫을 때 마다 한장 한장 다시 읽어보고 있다.

버릴 서적들을 뒤적거리다 보면, 서적 구입의 패턴에 대한 어떤 통찰(?)을 얻게 되기도 한다. 좀 웃긴 이야기가 될지도 모르겠는데, Rails 같이 '자고 일어나면 변하는' 기술에 대한 오프라인 번역서를 구입하는 것에는 굉장한 리스크가 있다는 것도 그 중 하나이다. 보통 어떤 한 권의 책을 번역하는 데는 4개월에서 6개월의 시간이 걸린다. 퇴고 직전에 보통 역자들은 그 동안 바뀐 상황을 책에 반영하기 위해 고군분투한다. 그리고 시장에 책이 풀린다. 풀리고 나서 2~3개월 있다가 그 책을 구입하는 사람들은 때로 책에 실린 예제가 그대로 실행되지 않는다는 사실을 깨닫고 좌절하고는 한다. 시간이 흘러도 변하지 앟는 어떤 진실을 담고 있는 책들은, 의외로 발견하기 힘들다. 우리는 그런 책들을 "명저"라고 부른다. ("생각하는 프로그래밍"같은 책이 그런 반열에 올라 있을 것이다.) 명저가 아닌 IT 기술서를 구입할 때에는, 그런 리스크에 대해서 생각해 봐야 한다. 사실 모든 'rapidly-changing technology'에 대한 기술서는 그런 리스크를 똑같이 안고 있다. 그런 기술에 대해서 학습하고자 한다면 해당 기술에 대한 웹 사이트를 직접 방문해서 영어 document를 읽어보는 것이 사실 최선이다. (J 언어처럼 아예 번역서라고는 없어 웹 사이트를 직접 방문하는 것 외에는 다른 정보를 얻을 수 없는 경우도 있다.)

보고서 준비 같은 활동은 어떨까? SI 업체에서 일하는 프로그래머들과 이야기를 나누어 보면, 사실 프로젝트 막바지에 가장 부담되는 활동이 보고서 준비이다. 보고서를 질이 아니라 양으로 평가하는 관습도 프로그래머에게 부담을 안기는 데 한 몫을 한다. 그래서 보통 보고서를 준비하는 프로그래머는 문서의 양을 늘리기 위해 고군분투한다. 이런 관행이 주는 압박감을 해소할 긍정적인 자극이나 피드백은 대체 어떻게 얻어야 하는 것일까? 필자가 찾은 한 역할 모델(role model) 프로그래머에 대해 잠깐 소개하도록 하겠다. 이 프로그래머는 모든 회의시간에 회의록을 적는다. 아무리 사소한 회의라도, 회의록을 적는다. 메일로 주고받은 내용도 중요하면 회의록을 적고, 그 의미를 문서로 정리한다. 그런 다음에 관련된 사람들에게 이메일로 발송한다. 내가 물었다.

"그렇게 하시는데 시간이 많이 들 것 같은데, 부담이 되지 않으시나요?"

그랬더니 이런 대답이 돌아왔다.

"나중에 협의 내용에 대해 딴소리 듣는게 훨씬 더 부담스럽죠."

그가 나중에 보고서에 첨부하는 내용들 중 상당수는 이 회의록들과 회의록에서 정리되고 결론이 난 문제들에 대한 해결책을 정리한 것이다. 그는 "문서 검토도 디버깅 활동의 일부"라는 데 있어 필자와 같은 생각을 가지고 있다. "쓸데 없는 문서는 만들지 않고, 구두로 협의하는 것이 최선"이라는 데 있어서는 필자와 다른 생각을 가지고 있지만, "협의된 내용에 대한 의견 불일치가 더 큰 문제"라는 데 있어서는 또 같은 생각을 가지고 있다. 어쨌든, 이 분은 나중에 보고서에 채울 내용을 만들어 내는데 별다른 어려움을 겪지 않는다. 아이디어를 문서로 정리해 두는 데 이력이 났기 때문이다.

여러분의 주변 환경은 좀처럼 급진적으로 변화하지 않는다. (여러분이 원하는 것은 그런 것이겠지만.) 대신 점진적으로 바뀐다. 한가지 분명한 것은, 투덜댄다고 세상이 바뀌진 않는다는 사실이다. (결국은 여러분이 그 세상을 좀 더 올바른 쪽으로 돌려 놔야 한다.)

각설하고, 목표가 뚜렷하고 그 목표를 이루기 위해 행해야 할 활동을 합목적적으로 이루어 내고자 하는 의지가 있다면, 회사 내에서 이루어지는 활동과 외적인 활동 간에 긍정적인 피드백 루프를 만드는 것이 가능하다. 심지어는 정신과 방문의 결과로 얻어진 개인적 깨달음을 그 목표 안에 녹여내는 것도 가능하다. 중요한 것은 목표가 얼마나 뚜렷한가 하는 것이다.

목표를 뚜렷하게 만들고 싶다면, 지금 당장 자문해 보기 바란다.

"나는 10년 뒤에 무엇이 되고 싶은가?"

이렇게 물어 보아도 좋겠다.

"나는 어떤 분야에 전문가가 되고 싶은가?"

이 질문에 대한 답이 불투명하다면, 여러분은 아직 시간을 관리할 준비가 되지 않은 것이다.

[다음에 계속...]
신고
Posted by 이병준

소중한 의견, 감사합니다. ^^

  1. boo

    화장실 + 독서는 변비나 항문질환의 원인이 될 수 있습니다. 안되요ㅋ

    2014.01.07 19:02 신고 [ ADDR : EDIT/ DEL : REPLY ]