Outsider's Dev Story

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

GitHub Universe 2019 참석기

지난 11월 13~14일 샌프란시스코에서 열린 GitHub Universe 2019에 참석을 하고 왔다. GitHub Universe는 GitHub에서 주최하는 기술 콘퍼런스로 2015년부터 열렸고 어쩌다 보니 작년에도 참가해서 올해로 3번째 참석이다. GitHub Universe가 메인 행사고 위성 행사로 GitHub Satellite를 다른 도시에서 연중에 개최하고 있다.

GitHub Universe 입구

장소는 작년과 같은 Palace of Fine Arts에서 열려서 편안하게 갔다 올 수 있었다. 작년에도 갔다 와서 원래 올해도 Universe에 참가할 생각은 없었으나 운 좋게 티켓 할인 쿠폰도 받았고 계획하고 있던 미국 방문 일정과 시기도 겹쳐서 겸사겸사 참여하고 왔다.

첫째 날 Keynote

이번 키노트는 현 GitHub의 CEO인 Nat Friedman이 진행했다. 작년 GitHub Universe는 Microsoft에 인수되기 전이었기 때문에(발표는 났지만 인수되기 전) Microsoft에 인수된 후 첫 콘퍼런스고 Nat Friedman의 키노트도 처음이다.(그동안 다른 행사에서는 여러 번 등장했지만...) 많은 사람이 걱정했던 것과 달리 1년이 지난 시점에서도 GitHub에서 Microsoft의 기운은 거의 느껴지지 않고 콘퍼런스에서도 별도로 운영되는 느낌이 강했다.

키노트의 Nat Friedman

이번 키노트에서는 GitHub ActionsGitHub Packages의 베타가 풀리고 아무나 사용할 수 있게 되었다. GitHub Actions는 작년 GitHub Universe에서 발표되었는데 HCL로 운영되다가 중간에 YAML로 바뀌고 CI 외에 CD 기능까지 추가되었다. GitHub Packages는 npm, Docker, Maven, RubyGems 등 패키지 레지스트리 기능인데 둘 다 기능은 다 공개되어있었고 이번에 베타를 떼고 누구나 이용할 수 있게 된 거라 큰 감흥은 없었다. 이번에 열린다는 것이 예고되기도 했고...

키노트에서 GitHub for Mobiles 발표

가장 인상적인 발표는 드디어 GitHub에서 직접 모바일 앱을 만들었다는 것이다. 그동안 서드 파티 앱은 많이 있었지만, 항상 기능이 불만이었는데 공식 앱이 내년에 출시될 예정이다. 발표하면서 바로 베타 신청을 받았는데 iOS는 Testflight로 베타를 사용할 수 있게 되었고 Android 앱은 아직은 써볼 방법은 없고 베타게 대기 리스트에 신청을 해두어야 한다. iOS 베타 신청하자마자 바로 초대 메일이 와서 모두에게 열어주나 했는데 나중에 신청한 사람은 아직 못 받았다고 하니 선착순으로 열어 준 것으로 보인다. 나중에 기회가 되면 앱 소개도 하겠지만 앱 퀄리티가 상당히 좋고 GitHub의 기능 대부분이 들어가 있다. 어떤 스택으로 만들었나 궁금해서 물어보니 GitHub 앱은 네이티브로 개발했다고 한다.

그 외에 노티피케이션 메뉴가 개선되어 알림이 구독 때문인지 멘션 때문인지 바로 볼 수 있고 알림 메뉴 안에서 바로 Pull Reqeust나 이슈의 내용도 열어볼 수 있다. 나는 사용할 수 있게 열려서 써보고 있는데 아직은 더 편한 듯도 하고 아닌 듯도 하고 그렇다. 코드 네비게이션도 개선되어 GitHub 사이트 내에서 코드의 정의 부분이나 참조하는 부분으로 바로 이동할 수 있게 되었고 코드 검색 등이 강화되었다.

아직 베타지만 예전에는 리뷰해야 할 Pull Reqeust 등을 확인하려고 Lambda 등으로 Slack에서 알림을 받곤 했는데 Scheduled Reminders라는 이름으로 추가되어 퍼블릭으로 열리기를 기대하고 있다.

GitHub Archive Program

아주 흥미로운 프로젝트는 GitHub Archive Program였다. 뭔가 대단한 것 같기도 하면서 어떤 의미가 있나 싶기도 했는데 요약하면 2020년 2월 2일 기준으로 GitHub의 모든 공개 저장소의 스냅샷을 저장해서 후세를 위해 보관하겠다는 프로그램이다. 북극 땅 밑 250m 아래 GitHub Arctic Code Vault 데이터 저장소에 보관하며 1,000년을 보관할 수 있는 콜드 스토리지에 저장될 예정이다. 개인적으로 이런 프로젝트는 어떻게 기획되어서 승인되는지도 궁금한 부분인데 세션 중 Archive Program에 대한 발표를 보면 업계의 유명한 학자 등이 나와서 1,000년을 위한 스토리지에 어떤 기술이 쓰였는지 공유하는 자리가 있었고 무슨 말인지 잘 이해할 수 없었지만, 저것만으로도 많은 사람의 협업이 필요하고 도전적인 접근이라는 느낌을 받았다.

첫째 날 세션

GitHub Universe에서 내가 원래 기대하는 세션 수준은 GitHub 엔지니어링 블로그같은 내용이지만 그동안 참여 경험으로 보면 GitHub Universe의 세션은 내용이 훨씬 보편적인 내용이다. GitHub을 열심히 쓰고 있다면 너무 쉬운 내용의 세션이 많이 있고 키노트 내용을 미리 공개하지 않기 때문인지 세션 제목은 추상적이지만 막상 들어가면 키노트에서 발표했던 내용의 상세 내용을 다루는(이라고 쓰지만, 실제론 그냥 기능 소개 정도인) 세션이 상당수 있다. 그래서 사실 GitHub에서 직접 발표하는 세션은 조심스럽게 고르는 편인데 그러다 낚여서 "How highly productive teams communicate using GitHub"이라는 발표에 들어갔더니 GitHub for mobile의 기능을 보여주는 세션이었다. 그래도 Octoverse의 내용을 얘기하는 패널 토의는 오픈소스의 다양한 흐름을 볼 수 있어서 좋아한다.

Guillermo의 발표

제일 좋았던 세션은 Zeit의 CEO인 Guillermo RauchBuilding and deploying modern websites and apps이었다. Guillermo는 Socket.io 때부터 너무 좋아하던 개발자기도 하고 스토킹하듯이 그동안의 행보를 추적하면서 보고 있는데 역시나 발표도 좋았다. 지금 Zeit가 만드는 프로덕트들의 흐름을 이해할 수 있도록 서버리스를 중심으로 프론트엔드 개발이 어떻게 달라지고 있는지 흐름을 설명하면서 자신이 생각하는 인사이트와 그에 따라 만든 Zeit의 제품들을 소개하는 세션이었는데 프론트엔드를 좋아하는 나로서는 아주 재미있게 들었다.

예전에 몇 번 인사한 적이 있어서 발표 끝나고 인사를 할까 하다가 질문자들이 많아서 그냥 나왔다. Guillermo는 Socket.io를 만들던 LearnBoost 시절부터 원래 넘사벽이기는 했지만 그래도 전에는 트위터나 메일로 얘기도 나누고 했었는데 그때부터 수년이 지났지만 난 아직도 Guillermo랑 영어로 하고 싶은 얘기도 제대로 못 한다는 생각이 들면서 그동안 뭐 했나 싶어서 자괴감이 들기도 했다.

행사장

GitHub Universe 행사장

Palace of Fine Arts는 꽤 넓은 장소라서 쾌적하게 둘러볼 수 있었고 작년과는 좀 다른 분위기로 꾸며져 있었다. 전체적인 규모는 작년보다 작아진 느낌이었다. 작년에는 2층까지도 부스로 꽉 차 있었지만 이번에는 2층에는 전혀 부스가 없어서 참가자 수는 정확히 모르지만, 행사 규모는 좀 작아졌다는 느낌이 들었다. 그리고 행사에서도 작년까지는 Shop의 제품도 할인해 주고 많이 사면 사은품까지 주면서 퍼주는 느낌이 있었다면 올해는 Shop도 정가를 다 봤고 별다른 사은품도 없는 느낌이었다. 음식 퀄리티도 작년에 비해서는 약해진 느낌이었다.

왜 그럴까 생각했는데 아무래도 작년까지는 GitHub을 다양한 회사가 스폰서로 들어와서 운영했다면 이번에는 Microsoft가 있어서 스폰서 수도 적어진 것 같은 느낌인데 그 탓이지 않을까 싶다. Microsoft가 예산 책정을 어떻게 하는지는 잘 모르지만...

GitHub Universe 2층의 myOctocat 부스

재밌는 이벤트로는 작년부터 등장한 myOctocat을 2층에 마련해 두고 커스텀한 Octocat을 프린트 요청하면 30분 뒤에 제작된 스티커를 받을 수 있게 한 것이다. 줄 서서 기다리다가 스티커를 만들면 되는데 꽤 다양하게 커스텀 할 수 있어서 그냥 만들고 메일로만 받았던 작년에 비하면 스티커로 주니까 훨씬 좋았다.

myOctocat에서 커스텀 출력한 스티커

이렇게 직접 만든 옥토캣을 스티커로 만들 수 있다. 한 번에 2장만 찍어준다.

GitHub Shop

입구 옆에는 오프라인 GitHub Shop이 있었다. 이번 Universe에서 처음 나온 Talking Monas도 있었고 평소랑 달리 GitHub Universe용 후드와 티셔츠도 팔고 있었다. 그리고 이번 할로윈 기념으로 나온 티셔츠도 팔아서 잽싸게 사 왔다. Talking Monas는 내 취향은 아니라서 빼고...

엔터프라이즈 리셉션

올해부터는 GitHub Korea가 생겼기 때문에 지난 10월에 열린 GitHub과 기업내 오픈소스 문화에서의 인연으로 GitHub Korea 분들과 총판인 단군소프트의 배려로 엔터프라이즈 리셉션에 참여할 수 있었고 엔터프라이즈 고객만 초대하는 이 리셉션은 GitHub 본사에서 열렸다.

GitHub HQ

GitHub 본사는 5년 전에 방문에서 구경한 적이 있었는데 그 사이에는 밋업 등으로 1층만 방문하다가 오랜만에 사무실까지 들어가 봤다. 참석자를 대상으로 투어를 시켜줬는데 이번에는 내부 사진은 찍지 못하게 했다. 1층이 거의 달라지지 않아서 몰랐는데 올라가 보니 구조가 좀 달라져 있었다.

전에 사무 공간이 2층과 3층이 있었다면 2층은 거의 달라지지 않았다. 올라가자마자 GitHub Shop이 있는 것도 똑같았고 방문자 선물이라고 해서 스티커랑 티셔츠도 하나 받아왔다. 전에 있던 3층의 사무 공간은 사라졌고 옆 건물을 사서 확장했다고 하면서 2층 사무공간을 지나면 2.5층 같은 느낌으로 계단을 올라가서 옆 건물로 갈 수 있었고 거기에도 많은 회의 공간과 업무 공간이 있었다. 기존 건물과는 인테리어 분위기를 완전히 다르게 되어 있어서 깔끔한 사무실이었고 기존 사무실과 의도적으로 대비되는 인테리어를 의도했다고 한다. 휴게실 이름이 "REST API"인 것과 해먹에 사람이 앉으면 자동으로 외부에 사람이 쓰고 있다는 표시로 바뀌는 점이 재미있었다.

엔터프라이즈 리셈셥의 주류 메뉴

리셉션이라서 술도 주는데 술의 이름을 "Yaml lead you throught Actions!", "GHES 2.19", "GitHub Security Lab" 등으로 신제품과 연결한 것도 재미있었다. 대신 시끄러운 가운데 이름이 길어서 주문할 때는 힘들었다. 어쨌든 사무실 구경도 잘하고 맛있는 것도 많이 얻어먹고 왔다.

둘째 날 Keynote

키노트에서의 Security Lab 발표

둘째 날 키노트에서는 Security Lab이 가장 큰 발표였다. 관련해서 강화된 취약점 보고 및 알림 등의 기능들 설명하고 CVE를 직접 보고하고 수정할 수 있도록 오픈소스 프로젝트의 보안을 높이기 위해 큰 노력을 하는 것이 보였다. 그리고 지난 9월 GitHub이 인수한 LGTMCodeQL을 이용하면 코드에 쿼리를 날려서 취약점을 찾거나 하는데 이용할 수 있다. 쉽게 생각하면 Lint나 정적 분석 도구처럼 코드에서 위험한 부분을 찾아내는 쿼리 도구라고 생각하면 될 것 같고 CodeQL은 오픈소스와 연구, 교육 목적으로는 무료로 사용할 수 있다고 한다.

안타깝게도 둘째 날은 키노트를 듣고 나오자마자 회사 서비스에 이슈가 생겨서 해당 문제를 디버깅하느라고 다른 세션은 하나도 듣지 못하고 종일 작업을 했다. 머리를 너무 썼는데 문제가 안 풀려서 끝나고 나올 때는 머리가 너무 아팠다. ㅠ

그래도 행사 내내 GitHub Korea와 단군소프트 분들이 너무 신경을 많이 써주셔서 맛있는 것도 많이 먹고 편하게 있다가 돌아왔다. 궁금한 것들을 물어보고 얘기하기도 편했고...

샌프란시스코에서의 시간

이번에 샌프란시스코를 갈 때는 휴가와 원격을 섞어서 갔기 때문에 콘퍼런스가 아닌 날은 원격근무를 했다. 원래 샌프란시스코를 가면 작업하던 코워킹카페가 있는데 아침에 일어가서 카페에 가니 문을 닫은 것을 알게 되었다. 장사가 잘 안 되어서 인지 폐업을 한 것 같았다. 카페에 가면 맥북 놔두고 화장실 가기도 쉽지 않고 작업할 때 신경 쓰일 일도 많고 해서 급하게 검색을 하다 보니 Covo라는 코워킹 스페이스를 찾을 수 있었다.

코워킹 스페이스 Covo

Covo가 위치도 가까웠지만 다른 코워킹스페이스와 달리 시간 단위로 결재해서 이용할 수 있어서 좋았다. 들어가면서 카드를 긁고 들어가고 나올 때 긁으면 알아서 시간이 계산되고 시간당 $4이다. 가격이 아주 싸진 않지만, 인터넷도 빠르고 공간이 좋아서 맘 편하게 이용할 수 있어서 원격할 때는 계속 여기에 있었다. 음료는 무료는 아니지만, 옆에 카페가 있어서 식사나 커피를 바로 사서 먹을 수 있었다. 담에 또 샌프란시스코에 갔을 때 없어지지 않기를 바라고 있다.

Uber HQ 사무실

마지막 날에는 올봄 Facebook F8 해커톤에서 만난 인연으로 샌프란시스코 다운타운에 있는 Uber 본사를 방문할 수 있었다. 한 건물에 Uber뿐 아니라 Uber Eats, Jump의 사무실이 다 있어서 한 바퀴 둘러보고 맥주 얻어먹으면서 샌프란시스코 동향도 듣고 왔다. 오피스 투어를 좋아하는데 최근엔 계속 혼자만 다니느라 잘 못 가다가 오랜만에 구경하러 가서 한국어로 얘기할 수 있으니까 너무 좋았다. 올해 들은 얘기가 있어서 내년에 또 놀러 가서 다른 얘기도 들어봐야겠다.

여유 있는 날은 밋업도 계속 찾아서 다녔는데 WASM에 대한 밋업인 We don't need no servers or compilers는 그냥 괜찮은 정도였다. WebAssembly는 항상 관심은 가지만 아직 현실에서 딱 어떻게 쓰겠다 하는 게 없어서 계속 관심 정도만 가지게 되는 것 같다. Uber 엔지니어링 그룹에서 운영하는 Building Infinite Lists, a Doc Site that Writes Itself and The Road to Parcel 2는 아주 재미있었는데 다른 Uber 사무실에서 열렸는데 3가지 발표가 모두 재미있었다.

Twitter에서 나와서는 트위터 타임라인의 무한 스크롤을 왜 직접 구현했고 구현하면서 어떤 문제가 있었는지를 소개했고 Uber에서는 컴포넌트 디자인 시스템이 보통 너무 많은 요소와 조건들 때문에 사용자들이 제대로 사용법을 파악하기가 어렵기 때문에 더 좋은 문서를 만들기 위해 Uber의 디자인 시스템인 Base에서 적용한 방법을 설명했다. 컴포넌트의 모든 Prop과 기능을 문서로 나열하기보다는 직접 조합하고 코드를 수정해서 원하는 버튼을 테스트해 보고 복사해서 사용할 수 있도록 만들었는데 고민이 많이 녹아있는 거로 보였고 지금 Base 웹사이트에 적용되어 있다. 마지막으로 Parcel을 만든 Adobe의 Devon Govett이 직접 나와서 현재 만들고 있는 Parcel 2를 왜 만들게 되었고 어떤 기능이 있는지 설명해 주었는데 온라인에서 보던 Devon을 직접 보고 프로젝트 설명을 들을 수 있어서 좋았다. 샌프란시스코 밋업은 이렇게 프로젝트 창시자의 발표를 직접 들을 수 있다는 점이 큰 매력인 것 같다.


컨퍼런스 참석 후기는 stdout.fm의 GitHub Universe 2019, Kubecon 2019 참석기 w/ outsider, anarcher, subicura 팟캐스트에서도 들을 수 있습니다.

2019/12/10 03:22 2019/12/10 03:22