#hubot - 직접 하는 걸 보여주며 가르쳐주기, 인터페이스 통일

1 minute read

github에서 만든 채팅 봇. 단순한 채팅 봇이다. 그렇다고 무시해서는 곤란하다. github 문화를 지탱하는 큰 기둥 중 하나걸랑.

그룹 채팅을 잘 쓰나 보다. 확실히 1:1 대화보다는 정보 전파에 유리하니깐. 업무에 관한 대화는 그룹 채팅으로 한다. 그러면 1:1 대화와 달리 정보가 전파되고 다른 의견도 쉽게 받을 수 있다. 그래 여기까지는 그룹 채팅 소프트웨어를 사용했을 때, 얻는 이익이다. 하지만 여기서 멈추지 않았다. 여기서 한 발 더 나갔다. 대단하다.

nil

가르쳐줄 때, 가장 좋은 방법은 뭘까? 바로 직접 하는 걸 보여주며 가르쳐주는 방법이다. 이걸 노렸구나. hubot을 사용하면 이게 된다. 쉽게 된다. 자연스럽게 된다.

“qa 배포를 해야 하는데, 어떻게 해야 하나요?” 이렇게 물었을 때, “wiki에서 qa 배포 페이지를 찾아서 절차대로 하면 됩니다.”로 가르쳐 주는 것보단 “/배포 qa-branch” 이렇게 채팅창을 통해 hubot에게 명령한 다음, “제가 방금 친 것처럼 hubot에게 명령하면 됩니다. 결과도 채팅창을 통해 볼 수 있는데요. 지금 결과가 창에 찍혔죠? 성공했네요.” 이렇게 직접 하는 걸 보여주면서 가르쳐 줄 수 있다. 이걸 ChatOps라고 부른다.

nil

github에선 어떻게 빌드하고 배포되는지 이런 운영에 관한 걸 출근 첫날에 다 알 수 있다고 말한다. 뻥이 아닌 거 같아.

직접 하는 걸 보여주며 가르친다. 이거 말고도 또 하나 장점이 있다. 바로 인터페이스 통일. 복잡한 절차를 쉽게 할 수 있는 스크립트가 많으면 좋다. 하지만 그 스크립트를 어디서 찾을 것인가? 많아도 관리하지 않으면 어디 있는지 가르쳐 주는 것부터 일이다. 만약 hubot을 통해 그런 스크립트를 실행할 수 있다면? 빙고! hubot을 통해 편하게 실행하고 또 그걸 여러 사람이 볼 수 있으니깐 자연스럽게 가르친다.

멋지구나. 내부 툴은 소프트웨어 회사의 DNA라고 강조하는데, 그냥 한 소리가 아니네.

nil

CoffeeScript로 만들었다. 이런 표현 센스는 참 부럽다. 내겐 아직 넘사벽.

참고