시끌벅적한 사무실 만들기

아주 작은 변화, 시작

<7월 1일> 새로운 회사로 이직한 지 2달이 지났다.

사무실 분위기는 꽤 시끌벅적한데. 개발자들은 입도 뻥끗 안 하고 심각한 얼굴로 모니터만 쳐다보고 있고, 고객과 소통하는 사람들의 전화 목소리만 우렁차다. 우렁찬 목소리에는 넘치는 자신감(?)과 회사 내에서의 위치(?)가 드러나는 것 같다. 개발자들은 식사할 때조차 입을 잘 열지 않는다.

나와 함께 일하는 몇몇 친구들에게 git으로 협업하는 방법을 설명해주고, 이번 주부터 gitlab의 Merge Request 기능을 써서 코드 리뷰를 하기로 했다. 이슈를 등록하고, 브런치를 만들고, 코드 작성 후 자신의 repo에 푸쉬하고, Merge Request를 만들고, 디스커션을 하고, 머지를 하는 과정을 보여주며 설명해주었다. 그리고 오늘 아침에 출근하니 첫 번째 Merge Request가 올라와 있다. 아ㅡ 15년 된 IT 회사에서 처음으로 올라온 Merge Request다!

한줄한줄 코드를 뜯어보며 11개의 코멘트를 정성스럽게 달아주었다. 그리고 옆자리에 가서 그 부분을 설명해주었다. 몇몇 개발자들이 모여들었고, 입도 뻥끗 안 하던 그들이 목소리를 내기 시작했다. 처음으로 환하게 웃는 얼굴도 보았다.

개발자들이 시끌벅적하게 일하는 사무실로 만들고 싶다!

팀장 의견을 반박하는 팀원

회의 시간은 주로 팀장이 세운 계획에 대한 브리핑과 그의 훈시(?)를 듣는 시간이다. 회의에 참여한 팀원들의 얼굴을 보면, 아무런 표정이 없다. 그걸 보고 있으면, 아침조회 시간에 운동장에 모여 교장 선생님의 훈시를 듣던 국민학교 시절이 떠오른다.

몇 주 전부터 Gitlab으로 코드 리뷰를 시작하고, 의미 있는 디스커션을 하기 시작했다. 나의 코드에 문제를 찾아내는 동료가 있었고, 그의 의견을 적극적으로 지지해 주었다.

처음 코드리뷰 문화를 만들기 위해, 누군가가 의견을 내면, 그 의견이 엄청난 해악을 끼치는 것이 아니라면 대부분 지지해준다. 지금은 효율적인 코드를 짜는 것 보다, 수동적인 개발자의 입을 열어서 자기 생각을 말하도록 하는 게 중요하다고 판단해서. 코드는 어짜피 여러 번 다시 짜게 될 테니까 ㅎㅎ

나와의 코드리뷰&디스커션에서 자신감을 얻은 그 친구가, 회의 시간에 팀장의 생각과 다른 자신의 의견을 말하기 시작했다.

구현 방식에 대해 팀장과 다른 생각을 갖고 있다는 것을 이미 코드 리뷰를 통해 확인했었고, 난, 회의 시간에 그 친구에게 “너의 생각은 어때?“라고 슬쩍 물었을 뿐이다. 그 친구는 화이트보드에 뭔가를 끄적이며 팀장의 의견에 조심스럽게 반박을 했고, 그 친구의 의견은 수용이 되었다.

짜릿한 순간이었다!

그래서, 제일 중요한 건 뭐?

매일 아침 가볍게 어제 한 일, 오늘 한일, 이슈를 공유한다.
그리고 금요일 오후가 되면, 이번 주 한 일을 돌아보고, 다음 주 할 일을 같이 정한다.
다음 주 할 일을 정할 때, 나의 기준은 딱 하나다

지금 제일 중요한 것만 한다

팀장은 계속해서 “이거 엄~청 중요해!” 라고 말하며 이런저런 기능들을 얘기한다.
그러면 난 다시 물어본다. “그래서 지금 이게 제일 중요해?”
그러면 선뜻 대답을 못 한다. 또다시 “이거도 엄~청 중요해!” 고 말하며 다른 기능을 얘기한다.
그럼 난 또다시 물어본다. “그래서 지금 이게 제일 중요해?”
그러면 다음 행동에 아무 도움이 안 되는 뻔한 얘기를 하곤 한다.
예를 들면, “우리 삶에서 행복이 제일 중요해” 수준의 얘기.
이런 대화가 지겹도록 반복된다.

여기서 관찰한 것 한가지는.
다 중요해 보이는 많은 것 중에서, 제일 중요한 뭔가를 고르는 것을 불편해하더라.
그렇게 제일 중요한 한 가지를 선택하는 순간 다른 것들은 안 중요한 것처럼 느껴져서인가?
끝없이 늘어져 있는 Todo list가 내 마음에 안정감을 주는 것인가?

매주 이걸 반복하는데, 지난주 회의 때 의미 있는 변화가 나타났다.

역시나 회의 시간에는 이런 대화가 이어졌다. (편의상 그 팀장을 K로 표현)

  • K: “리눅스에서도 동작하게 하는 게 제일 중요해”
    나: “그건 이미 해결됐어. 왜냐면 지금 버전도 리눅스에서 동작은 하거든. 프로젝트 끝내도 되겠네?”
  • K: “마이그레이션을 준비하는 게 제일 중요해”
    나: “그건 지금 못해. 매일매일 구조가 바뀌고 있는데, 지금 마이그레이션 도구를 만드는 게 가능해? 그건 지금 하나도 안 중요해. 한 달 뒤쯤엔 중요해질 수도 있겠네”
  • K: “컨트롤 배치할 때 가로 정렬이 안 되서 불편해, 그걸 하자”
    나: “그게 제일 중요해? 만약 3주 후쯤에 출시를 해야 한다면, 컨트롤 가로 정렬 기능만 잘 동작하도록 하면 될까?”
  • K: “고객이 계속 이런이런 새로운 기능을 요구하고 있는데, 그게 중요해 보여”
    나: “그럼 원래 동작하는 기능은 안 만들어도 돼? 그 새로운 기능만 붙여서 출시할까?”

이런 대화를 지겨울 정도로 반복하다가, 드디어 의미 있는 얘길 꺼낸다

“지금 고객이 가장 많이 사용하는 화면이 있는데, 최소한 이 정도는 갖춰 놓아야 할 것 같아. 이걸 갖추고, 마이그레이션까지 해 봐야 고객과 다음 스텝에 대한 협의가 가능할 것 같아”

이 말을 듣고, 제일 중요한 것을 제대로 찾았다는 신호를 발견했다.
그 말을 하고 있는 K의 표정이 바뀌었다! 얼굴에 뭔지 모를 절박함(?)이 드러난다.

지금까진 내가 다 해 주길 기대하고(난 그런 역할을 하지 않을 거라고 수도 없이 얘기를 했건만… ;;;), 아무런 생각 없이, 그냥 자기 하고 싶은 것만 머릿속에 잔뜩 넣고 있었는데.. 여기저기 관련 팀을 찾아다니며 고객이 가장 많이 사용하는 기능들을 알아보고 있다.

우렁찬 목소리 크기로 자신의 존재감을 드러내는 방법보다, 훨씬 진지해졌다.

참고로, 그는, 바로 며칠 전 까지만 해도,
이번 주에 하기로 했던 계획은 뒷전이고 이번 주 목표와 아무 상관이 없는 기능의 작은 버그를 붙잡고 씨름하고 있었다. 반드시 해야겠다고 스스로 결심한 것을 하지 말라고 한들 거기서 빠져나올 수 없다는 걸 알기에(스스로 거기서 나와야지!) 그냥 내버려 두었다. 강압적으로 행동을 멈추게 할 수는 있겠지만, 생각이 바뀌게 하기 위해선 받아들일 시간이 필요하다. 기다려 주어야 한다. 단지 다 같이 결정한 이번 주의 목표를 상기 시켜 줄 뿐이다.
“근데 OOOO는 어떻게 되고 있어?”
그래도 빠져나오지 못한다면 그냥 이번 주는 버리면 된다 ㅋㅋ

일을 일주일 텀으로 진행하는 것은, 나를 너무 조급하게도, 너무 늘어지게도 하지 않고, 침착하면서도 적당한 긴장감을 유지할 수 있게 해 준다. 당장 뭔가를 해야 할 것 같은 조급한 마음이 들어도, 이번 주 계획을 급수정 해야 할 것 같아도, 동료의 일하는 방식이 마음에 안 들어 당장 관두라고 하고 싶어질 때도, 스스로에게 “다음 주까지만 기다려보자"라고 말한다. 대부분 일주일이란 시간을 보내면서 자연스럽게 해결될 때가 많고, 최악의 상황이라 할지라도 그냥 그 일주일만 버리면 되니까.

금지어: 복잡하다, 어렵다, 엄청 중요하다

회의에 참여해보니 동료들이 자주 사용하는 말이 있더라.
“복잡하다”, “어렵다”, 중요하다”
이런 표현은 나의 행동에 아무 도움을 주지 않는다. 오히려 방해가 될 뿐이다.
그래서 이 3가지 단어를 금지시켰다 ㅋㅋ

  • 복잡하다
    “복잡하다"는 표현은, 그 문제를 여전히 나와는 상관없는 것으로 방치해두고 싶어지도록 만든다.
    ‘그 복잡한 것을 내가 어떻게 풀어낼 수 있지? 그건 원래 어려운 거야~’
    난, 복잡한 것은 없다고 말했다.
    그건, 그냥 내가 잘 모르는 거다. 아직 정리가 안된 거다.
    앞으로 복잡하다고 말하지 말고, “아직 잘 모른다”, “아직 정리가 안 되었다"라고 표현하라고 했다.
    이렇게 표현하는 순간, 그것은 내가 풀어야 할 문제가 된다.

  • 어렵다
    “어렵다"라는 표현도 마찬가지.
    어떤 것을 “어렵다"라고 정의하면, 내가 할 수 없는 것으로 인식된다.
    그냥 지금 할 수 있는 것을 하면 된다.
    모든 어려운 문제들은 지금보다 좀 더 나은 모습으로 개선할 수 있다.
    아기 발걸음(Baby Step)으로 한 걸음씩 나아가며, 어제보다 약간 나아지게 만들면 된다.
    그런 촘촘한 발걸음을 쌓아간다면, 어느새 변해있는 모습에 놀라게 될 것이다.

원래 이 2가지가 금지어였는데, 지난 회의 때 하나를 더 추가했다.

  • 엄청 중요해
    => 이 말도 금지어가 되었다.
    중요하다는 말 앞에, “엄청"이라는 말을 빼고 “제일"이라는 수식어를 넣어보라고 했다.
    그래도 거부감이 없으면 그건 진짜 중요한 거다.
    “제일"이라는 수식어를 붙이기 꺼려진다면, 그건 지금 고려할 필요가 없는 것이다.

산더미같이 쌓여 있는 할 일 더미 속에서, 이렇게 다음 할 행동을 찾아간다.

야근 금지

어제 회의하다가, 한 동료가 집에서 몰래(!) 야근하고 있다는 것을 알게 되었다.
어제 집에서 3시간 동안이나 일을 했단다.
그걸 얘기하지 않고 있다가, 다른 대화를 하다가 나에게 들켜버렸다!
앞으로는 그러지 말라고 했다.

야근은 나에게도, 회사에도 모두 안 좋다.

나에게

야근은 내가 일하는 방법이 잘못되었다는 것을 희석해버리는 아주 안좋은 것이다.
남들은 1시간 정도면 충분한 일이라 생각하고 있는데, 사실 나는 그 일을 3시간이나 걸려서 해냈다면,
그것은 어딘가 문제가 있는 것이다.
계획이 잘못되었거나, 내가 일하는 방법이 잘못되었거나, 아니면 그 일이 어떤 일인지 아무도 모르고 있거나.
그것을 드러내서 서로의 생각을 맞추고, 비효율적인 부분이 있다면 개선해야 한다.
야근은 그런 문제를 발견하고 그것을 개선할 기회를 없애버린다.
야근은 열심히 했다라는 보상심리를 만들어내고, 보람된 하루를 보냈다라는 거짓된 마음이 들게 하는 마약 같은 거다.
야근을 자주 하는 사람이 큰일을 만났을 때 하는 일반적인 반응은 열심히 남아서 야근하면 되겠지... 일 텐데,
하지만 나의 야근과 열심으로 커버가 안될 때가 반드시 생긴다. 그땐 정말 큰 일로 터진다.

회사에게

야근은 회사가 일하는 방법이 잘못되었다는 것을 희석해버리는 아주 안좋은 것이다.
야근을 안 하면 당연히 일에 구멍이 생길 텐데, 그 구멍을 메꾸는 고민을 하면서 자연히 전체를 보는 눈이 생기고, 일하는 방식도 점검된다.
야근을 자주 시키는 사람이 큰일을 만났을 때 하는 일반적인 반응은 열심히 남아서 야근하게 하면 되겠지... 일 텐데,
하지만 그들의 야근과 열심으로 커버가 안될 때가 반드시 생긴다. 그땐 정말 큰 일로 터진다.
차라리 야근을 안 했으면 작은 일로 터져서 쉽게 해결했을 텐데, 야근하면서 생기는 큰일은 이미 곪을 대로 곪은 일이고 해결책도 잘 안 보인다.

나의 제안

“집에선 그냥 푹 쉬어라.
그래도 노트북을 열고 뭔가를 하고 싶다면, 공부를 해라.
뭘 공부해야 할지 모르겠으면 오늘 했던 걸 돌아보거나(회고), 요즘 하는 일에 대한 글을 써 보라.
그게 나 자신에게도, 회사에도 훨씬 큰 도움이 될 거다.
집에서는 푹 쉬는 게, 나에게도 회사에도 더 낫다.”

물론, 피치 못할 특수한 사정으로 야근을 해야 할 때가 있다. 그때는 나도 동료들과 같이 밤새워가며 끝까지 문제를 해결한다. 난 또 그런 것을 즐기는 편이다. 하지만, 이런 상황은 어디까지나 특수 상황이다.
특수한 상황에서, 계획된 야근은 그나마 허용…. (사실 이것도 안 하는 게 제일 좋다!)

아무데서나 회의하기

지지난 주 회의실에 자리가 없어서, 사무실 앞 야외 테이블에 앉아서 회의를 했다. 좀 더 부드러운 분위기 속에서 회고가 되더라. 그 느낌이 좋았는지, 지난주 회의도 바깥에 테이블에서 하자고 하더라. 지금은 큰 모니터를 연결해 같이 뭔가를 쳐다보는 것 보다, 일하는 방식과 변화에 대한 회고가 더 중요한 것 같아서. 때로는 이런 회의도 나쁘지 않은 것 같다 ^^