Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

내가 만난 Githubbers

이번 주에 Deivew 2014가 있었다. Deview는 국내에서 가장 큰 규모의 개발자 콘퍼런스 중 하나지만 이번 Deview에서는 기존과 다르게 Github에서 발표가 예정되어 있었다. 3년 전에 서울에서 Github Drinkup이 한번 있었지만 그때는 갈까 말까 고민만 하다가 가지 못했다. 내가 아는 안의 범위에서는 이후 처음 Github 직원이 국내에 오는 거였고 저번에는 지나가다 들린 것 같아서 이번이 처음이나 마찬가지였다.

이번에 Github의 발표만 들어도 의미있다고 생각하고 있었고 이번에 발표자로 온 Phil Haack은 작년에 만들었던 Popular Coding Convention에 C#에 대한 컨벤션을 컨트리뷰션해주고 자신의 블로그에 소개해주어서 온라인에서 얘기를 나눈 적이 있었기에 왠지 더 반갑게 느껴졌다.(괜히 친한척하고 싶고 막... ㅋ) 올 초에 Haack이 트위터에서 한국에 개발자 콘퍼런스 없냐고 해서 사람들이 Deview등을 말해 준 것을 기억하고 있어서 혹시나 하고는 있었지만 정말 올지는 몰랐다. 참고로 Haack의 어머니는 한국인이다.

GitHub's First Principles

Github 발표

GitHub's First Principles은 Deview에서 진행된 발표였다. 영어가 부담되는 사람이 많은지 뜻밖에 장소가 가장 큰 Track 1이 아닌 Track 2에 배정이 되었고(아니 Github이 오는데!!!) 자리는 발디딜틈 없을 정도로 모여들었다.


Github Q&A BOF

BOF는 birds of a feather의 약자로 행사 끝나고 관심 주제에 따라 모여서 얘기하는 것을 말한다. Github이 부스를 운영했으므로 콘퍼런스 중에 가서 구경했다. 사실 수시로 들락거리는 Github 사이트를 보여주고 있어서 부스에서 딱히 볼 건 없었지만, 주위를 서성거리다가 Github 직원인 James Kang이랑 이런 저런 얘기를 나누었다. 간단히 궁금한 것도 물어보고 한국에 대해 궁금한 것도 좀 물어보시고... (아마도)유일한 한국인 Github 직원이라서 이번에 같이 오셨고 그래도 한국어로 얘기를 나눌 수 있어서 편했다.

Github BOF

중간에 부스에서 오늘 BOF도 할 거냐고 하니까 안 한다고 했지만(정확히는 BOF가 뭐냐고 했지만...) 나중에 보니 BOF를 하는 것으로 공지됐고 당연히 콘퍼런스 끝나고 Github BOF에 들어가서 앉아 있었다. 후딱 들어가서 맨 앞에 앉았다. 질문/답변 내용도 잘 정리했다면 좋았겠지만, 영어를 들으면서 메모까지 할 수 있을 정도는 아니었으므로 그냥 주로 집중해서 들었다. James님이 계셔서 한국어로 통역을 어느 정도는 해주었지만.. ㅎㅎ

Github직원은 총 5명이 왔다. 발표자인 Phil Haack은 .NET 개발자로 꽤 초기부터 Github에 합류한 것 같고 시애틀에서 근무 중이고 한국인이라서 같이 온 James Kang은 샌프란시스코에서 일하는 디자이너로 Octocat을 주로 디자인하는데 Octodex에 가면 상당수를 디자인한 것을 볼 수 있다. Daisuke Horie는 일본에서 근무하고 있고 고객지원 쪽을 하는 것으로 보이는데 Github Enterprise쪽이 주 업무인 것 같고 타이완에서 온 Mu-An Chiou는 디자이너다. Chris Frederick는 일본인과 결혼에서 일본에서 근무하고 있고 문서화 작업을 하는 사람이다. 물어보니 Phil의 비용은 Deview측에서 댔지만 한국 콘퍼런스 갈 사람을 그냥 업무용 채팅에서 모아서 총 5명이 온거고 나머지 인원에 대한 비용은 Github에서 모두 지원해 준다고 한다.

Github BOF

많은 사람이 질문을 했는데 낮에 Github의 문화에 대해 발표했기 때문에 그에 대한 궁금증에 대한 질문이 많았다. 대충 기억나는 걸 정리하면 Remote로 근무할 때 발생하는 문제점에 대해서는 동료들끼리 서로 신뢰를 기반으로 일하는 것이 중요하다고 했다. 그리고 업무 평가 같은 것은 기본적으로 각 개인에게 맡기지만 일정 기간 후에도 작업을 별로 하지 않는 것으로 보이면 매니저급이 개입해서 얘기를 나누거나 해서 조정을 한다고 했다.(예전에는 매니저 역할을 하는 사람이 없었지만, 지금은 조직이 커져서 매니저 역할을 하는 사람이 생겼다고 한다.) 그리고 Github이 세계 각지에 퍼져서 어떻게 일을 하는지에 대해서는 누군가 아이디어가 생기면 아이디어를 이슈로 올리고 사람들이 여기에 의견을 내거나 참여를 하고 참여가 많으면 진행이 되고 그렇지 않으면 그 이슈는 진행되지 않는다고 한다. 이는 나중에 좀 더 개선된 아이디어로 다시 올리기도 한다고 했다. 발표 중에도 많이 언급됐지만 최근 추가된 split diff를 만든 과정에 대한 글을 보면 첫 프로토타이핑은 추측 상 3~4년은 된 것 같은데 실제 도입은 최근에서야 되었다. 좀 더 큰 규모의 아이디어는 CEO가 이슈를 보고 배정을 하고 이 아이디어가 괜찮다 싶으면 프로포절을 작성해서 올리고 이를 기반으로 팀을 구성하고 다른 사람들이 코드 리뷰를 한다.

Phil이 얘기했던 것 중 인상적인 것은 보통 생각하는 데로 Pull Request가 업무의 완료가 아니라(어떤 작업을 완료하고 머지요청을 하는) 논의의 시작이라고 한 부분이다. 아이디어를 이렇게 구현했는데 다른 사람들은 어떻게 생각하느냐 하는 논의의 시작점이라는 것이다. 그래서 Pull Request를 보내도 바로 머지되는 경우는 거의 없고 거기서 논의가 시작되고 크게는 1년 이상 지나서 머지되는 경우도 많다는 것이었다. Github에서 Pull Request를 쓰면서 이렇게 생각해 본 적은 없어서 꽤 흥미로웠고 논의의 시작이라는 것은 꽤 말이 된다고 생각한다.

내가 궁금했던 문화 같은 것은 다른 사람이 많이 질문했으므로 난 좀 다른 것들을 질문했다. Phil이 Github for Windows와 Github for Mac의 관리자였으므로 Github 애플리케이션에 Pull이나 Push 버튼 대신에 Sync 버튼이 있는 이유를 물었다. 난 이 버튼이 어떤 행동을 하는지 너무 헷갈리고 사람들이 git을 배우는데 오히려 방해된다고 생각한다고 하자 Sync는 일단 git pull --rebase를 시도하고 실패하면 git pullgit merge를 한 뒤에 git push를 한다고 했다. 내부에서도 이에 대해서 엄청난 논쟁이 있었지만, 최종 결론은 초보자들에게 더 친숙한 Sync를 선택한 것 같고 내부에서도 많이 얘기됐기 때문에 내가 질문한 의도를 충분히 이해한다고 얘기했다.

그리고 이건 다른 질문이지만 Atom에 대해서 질문을 했다. Atom 관련자가 없는 것 같아서 물어봐도 되느냐고 하니까 괜찮다고 해서 Atom 패키지를 만드는데 관련 문서가 너무 부족해서 작업하기가 힘든데 Atom 문서를 개선할 계획이 있는지 물었는데 Chris가 문서화 작업 담당이라서 대신 대답했다. 계획은 있지만, 만족할 수준으로 작업이 되고 있지는 않은 것 같고 오픈 소스니까 공헌을 하면 된다는 식으로 대답했다.(그건 나도 알고 있다고!!) Atom이 에디터라서 Github과 어울리기는 하지만 어떤 면에서는 굳이 Github이 왜 에디터를 만드나 싶기도 했기 때문에 Github와 통합하는 어떤 계획이 있는지도 물었지만, 계획은 있지만, 구체적으로 말하기는 어렵다는 듯이 얘기했다.

뒷풀이

BOF가 끝나고 사람들과 사진을 찍고 인사하는 중에 Phil한테 아는 척을 했다. 사실 트위터에서도 몇 번 친한 척 해보려고 했는데 워낙 팔로워가 많은 사람이라 거의 다 씹혀서 걱정했는데 그래도 한국까지 왔으니 만나서 반갑고 작년에 프로젝트에 컨트리뷰션해줘서 만나고 싶었다고 얘기했더니 무슨 프로젝트냐고 물어서 Popular Coding Covnention을 얘기했더니 정말 반가워하면서 같이 사진도 찍었다.(괜히 더 가까워진 기분..)

BOF가 끝나고 주변에서 아는 사람들과 밍기적거리고 있었더니 Github 사람들과 저녁 먹으러 갈 건데 같이 가겠냐고 해서 따라갔다.(Deview쪽 사람 중에 아는 사람들이 좀 있어서...) Phil은 술을 좋아하는 듯 저녁 먹으면서 술도 약간 했다. 그냥 세션만 들어도 만족했을 텐데 무척 즐거운 시간이었다. 이런 저런 얘기도 나누고 했는데 Github의 수익이 private 계정에서 많이 나오는지 Github Enterprise에서 많이 나오는지를 물었다. 공개적으로 얘기할 수 없는 얘기면 안 해도 된다고 했더니 Dice한테 말해도 되는지 물어보더니 거의 반반이라고 했다. 하지만 앞으로는 Enterprise 쪽을 높이려고 노력 중인 것 같다.

Github 직원들과 저녁식사

Enterprise 얘기도 좀 했는데 소규모일 때는 괜찮지만, 회사가 커지면 좀 비싼 것 같다고 보통 회사에서 잘 안 사주려고 한다고 얘기했더니 Dice가 그럴 때는 연락해주면 회사 설득은 자기네가 하겠다고 했다. 그러면서 Phil이 가격보다 Enterprise가 주는 가치를 생각해야 한다고 하길래 그 부분에 나는 동의하지만, 회사에서는 동의하지 않고 회사에는 비 개발자도 많은데 같은 가격으로 다 사는 게 아까우므로 개발자만 라이센스를 사주고 비 개발자는 라이센스를 안주는 경우도 많다고 했더니 이 부분에 대해서는 꽤 놀라면서 Dice한테 알려주더라.(확실히 Dice가 엔터프라이즈 담당. ㅎ)

GitHub Secrets w/ GitHub employees

이 행사는 Deview 둘째 날인 화요일 저녁에 진행된 Meetup으로 Deview와는 관계가 없이 진행된 행사이다. 전주에 지인을 통해서 알게 돼서 재빨리 신청했다. Seoul Tech Society라는 서울에서 일하는 외국인 개발자 커뮤니티에서 Github이 온다는 소식을 듣고 Meetup을 하자고 제안해서 진행된 행사였다.

발표는 Phil이 또 했는데 제목은 달랐지만, 내용은 거의 비슷했다. 발표자료 자체는 다르지만 겹치는 내용도 꽤 있었다.

Github Meetup

Deview에서도 그렇고 이 발표도 Github을 소개하는 발표에 가까웠다.(얘기해 봐도 그렇고 한국에서 Github을 어느 정도 사용하는지에 대한 사전정보가 전혀 없었다.) Deview쪽 발표자료가 공개되어 있어서 내용 정리를 할 필요는 없을 것 같고 Deview 때 얘기하지 않았던 통계 같은 게 있어서 좀 정리하면 Github는 Campfire를 채팅도구로 사용하는데 185개의 룸이 있고 하루에 29,168라인의 메시지가 오가는데 이중에 Hubot이 13,462라인을 얘기한다. github.com에 관해서 얘기하는 .com 룸에서는 3896라인의 대화가 이뤄지고 하루에 544번의 앱과 서비스를 배포하고 있다. 그리고 Github 저장소에서 하루에 1,165번의 푸시가 이뤄지고 320개의 이슈가 열리고 8,186개의 Pull Request가 발생하고 145개의 Pull Request가 머지되고 하루에 1개의 새 저장소가 생기고 있다고 한다.

발표 중에서 인상적인 부분은 "정해진 업무 시간이 없고", "회의는 낭비고", "일의 데드라인이 없고", "휴가는 필요할 때마다 간다"는 것이었다. 사실 이쯤 되면 그럼 언제 일하나! 라는 생각이 들 수밖에 없는데 이런저런 질문을 통해서 보면 신뢰를 기반으로 움직이고 있다고 볼 수밖에 없었다. 주 업무가 아니면서도 동작하는 오픈 소스를 보면 불가능하다고 보지도 않고 내가 이상적으로 꿈꾸는 모델이기도 하다. 모든 사람이 9-6에 가장 집중력을 발휘할 수 있다는 전제가 말이 안 되고 하루에 8시간을 일하더라도 아무것도 하지 않을 수도 있고 1시간만 집중해서 8시간 만큼 일하는 경우도 있다는 생각이 회사에 뿌리내려 있는 것으로 보였다. 물론 이 모든 전제는 직원들의 상당수가 자신들에 일을 좋아하고 행복해하고 있다는 전제가 필요하므로 이 부분에 대해서도 회사가 관심을 많이 가지고 있어 보였다.(물론 발표도 홍보 일부이므로 실제로 완전히 이상적으로만 동작하지는 않겠지만...)

발표 후 Q&A 시간에 기억나는 건 Bitbucket에 대해서 어떻게 생각하느냐는 질문에 대해서 "고객이 무엇을 원하는가를 주로 고민했기 때문에 Bitbucket을 별로 사용해 보지 않았다."라고 답변했는데 논란이 생길 수도 있는 질문을 잘 피해 가면서 아주 멋진 대답이었다.(나중에 써먹어야지...)

After Party

발표 후에는 Drinkup행사가 있었다. Github은 항상 이런 Drinkup 행사를 진행하고 술값을 모두 Github이 지불한다.(그래서 평소 안먹어보던 비싼 맥주 위주로.. 쿨럭~) 애프터 파티는 술집에서 진행됐는데 전체를 빌린 거는 아니라 일반 손님들이 섞여 있었고 우리 인원이 생각보다 많아서 자리에 다 앉지도 못하고 서서 얘기하면서 술을 먹고 그랬다. 앉아보니 자리가 없어서 아는 사람끼리 모여앉게 되었는데 Github 행사에 와서 우리끼리 모여 앉아있으면 무슨 의미가 있나 싶기도 했지만 뭐 어쩔 수는 없었다. CoreOS의 Jonathan Boulle가 우리 테이블에 앉아서 얘기를 좀 나누기는 했지만 CoreOS를 자세히 알지는 못해서 간단한 얘기만 했다.

Github Afterparty

사실 이번 Meetup을 가보고 서울에서 일하는 외국인 개발자가 이렇게 많은가 싶을 정도로 외국인이 많이 있었다. Seoul Tech Society의 운영자들과 얘기를 꽤 나누었는데 Seoul Tech Society를 만든 것 자체가 개발 커뮤니티 같은 곳에 관심이 많이 있는데 국내 커뮤니티와는 연결점이 없어서 직접 만들었다고 한다. 그래서 여전히 국내 개발자 커뮤니티와 어떤 연결점을 만들고 싶어하는 마음이 꽤 많이 있어서 함께 뭔가 해볼 수 있을 것 같다는 얘기를 했다. 언어의 문제가 있으니 어떤 식의 행사가 될지는 알 수 없지만 만나서 뭔가 해보면 재밌겠다 싶었다.

Github Afterparty



어쨌든 이틀 동안 Github 모임만 쫓아다니면서 즐거운 시간이었다. ㅎㅎ(역시 영어공부를 해야.. ㅠ)

2014/10/03 22:52 2014/10/03 22:52