Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.

Facebook F8 2019 후기 #2

이 글은 Facebook F8 2019 후기 #1에서 이어진 글이다.

Facebook F8과 해커톤

샌프란시스코에서 일주일을 보내고 일요일부터 해커톤이라서 토요일에 산호세로 내려왔다. 보통 사람들 만나러 내려오는 지역보다 훨씬 아래로 내려와야 했고 여기서부터는 Facebook에서 잡아준 호텔이었기 때문에 호텔도 꽤 좋았다. 체크인하고 토요일 저녁에 한국에서 온 해커톤 참가자들이 모여서 저녁을 먹기로 해서 나도 놀러 나가서 인사를 나누었다. 몇 분을 제외하고는 대부분은 처음 보는 사람들이었다.

처음 참가 확정을 받고 참가하는 사람들과 채팅방을 열었을 때 느낌적 느낌으로 나랑 나이 차가 꽤 난다는 느낌이 있었기 때문에 조용히 코딩만 하다가 와야겠다고 생각을 했다. 처음 보는 사람들과 잘 어울리는 편도 아니었고... 실제로 가서 만났을 때도 많은 분이 나이 차이가 많이 났는데 예상외로 다들 나랑 잘 놀아주셔서 재미있는 시간을 보내고 왔다. 국내에서는 콘퍼런스를 가도 아는 사람들 인사하고 하다 보면 새로운 사람과 얘기할 기회가 많지 않은데 3, 4일을 계속 같이 지내면서 얘기하다 보니 새로운 사람들과 친분이 생긴 점(나만 그런가)이 재미있었다.

해커톤 행사장

해커톤을 일요일 오전부터 시작했고 각 호텔에서 셔틀을 운행해서 편하게(?) 올 수 있었다. 장소는 F8일 열리는 행사장 건너편인 City National Civic Center에서 열렸다. 총 170명 정도가 참여한 것 같고 개발자 외의 디자이너나 PM(?)도 있었다.

해카톤 참가 출입증

해커톤 주제는 UN에서 발표한 17개의 SDG 중에서 4가지를 선정해서 이 주제로 해커톤을 해야 했다. 인류의 빈곤이나 교육, 경제 등을 해결하는 주제라서 나한테는 좀 거창하게 느껴지고 아이디어는 아무것도 없었다. 아이디어가 있는 사람들이 앞에 나와서 한 명씩 자기 아이디어를 설명했지만 난 거의 못 알아들었고 아이디어 스피치가 끝난 뒤에는 각자 돌아다니면서 "어떤 개발자가 필요하다"거나 서로 "뭘 할 줄 아냐?", "무슨 아이디어를 구현할 거냐?" 물어보면서 팀을 구성했다. 잘 끼지 못하고 그냥 있다가 혼자 뭔가 생각해서 만들어야 하나 하는 생각을 할 때쯤 오클랜드에서 온 PM과 르완다에서 온 개발자와 얘기를 하게 되어 팀에 합류하게 되었다.

해커톤용 구호 물품

해커톤용 음료와 간식

밤을 편안히 새면서 계속 코딩만 하라고 구호 물품과 음료 및 과자는 무한으로 계속 제공되었다. 이틀 동안 커피와 콜라를 얼마나 많이 마셨는지 모르겠다. 식사 시간에도 사실 그리 배가 고프진 않았다.

해커톤에 참여하는 정말 수년만인 것 같은데 이틀 동안 작업을 하면서 "아! 내가 이래서 해커톤을 싫어했지"라고 깨닫게 되었다. 일단 외향적이지 않아서 그런지 뭘 잘하는지 모르는 처음 보는 사람과 협업하는 것은 나한테는 별로 즐거운 일이 아니었고 여기서 영어로 얘기하니까 훨씬 더 힘들었다. 그리고 나 포함 3명의 팀원 중 1명은 PM이라서 발표내용 정리만 하고 갔기 때문에 르완다에서 온 개발자가 프론트 앱을 만들고 내가 API 서버를 만들었는데 이 르완다 개발자의 목소리가 너무 낮아서 영어를 알아듣기가 특히나 힘들었다. ㅠ

중간중간 인터페이스를 협의할 때 리스트 조회 요청도 POST로 해달라거나 이해할 수 없는 엔드포인트 분리 등의 요청이 있었지만 잠시 논의 후 1%도 동의할 수 없었지만, 영어로 설득하는 게 훨씬 힘든 일이었기 때문에 만든 API 서버를 요청에 맞게 다 고쳐주었다.(부들부들... 영어공부 할 테다!) 그리고 물어봐도 제대로 말을 안 해서 속마음은 알 수 없지만, 결과적으로는 모바일 앱에서 API 요청을 다 모킹하고 실제로 내가 만든 서버는 전혀 찌르지도 않고 제출을 해버렸다. 말로는 "해보려고 했는데 잘 안 붙어서 어쩔 수 없었다"고 하는데 내 느낌에는 연동해 보려고 해보지도 않았던 것 같다. 영어가 잘 안 통하니까 귀찮았는지 둘째 날 피곤하다고 자고 일어나서 작업한다고 하고는 너무 많이 잠을 자서인지는 모르겠지만 일단 기분이 나빴다. 차라리 안 쓸걸 알았으면 난 그냥 해커톤에서 놀면서 다른 사람들 작업하는 거 구경하면서 재미있게 놀았을 거다.

해커톤 코딩하는 내 자리

그래도 글로벌 해커톤을 경험해본 것은 재미있는 경험이었다. 끝나고 생각해 보면 내가 좀 더 적극적으로 준비도 해오고 얘기하면서(영어가 되든 안 되든) 참여했어야 좀 더 보람찬 시간이 됐을 거라는 생각이 들었다. 그리고 구현하고 하면서 생각한 건데 Facebook의 API가 대부분은 비즈니스에 관련된 게 많아서 이런 주제에 쓸만한 API가 많지 않다는 느낌이 들었다. 그래프 API는 대부분 글 조회나 페이지, 그룹에 관한 거였고 쓸만해 보이는 건 메신저 API나 딥러닝 플랫폼인 PyTorch 정도였다. React, React Native 등도 있지만 이건 아이디어에 영향을 주는 도구들은 아니라서... 그래서인지 꽤 많은 팀이 챗봇을 만들거나 다른 회사의 도구를 가져다가 쓰게 되지 않았나 싶다. 한편으로는 페이스북 API를 알리기에는 SDG 주제가 좀 안 어울리지 않았나 싶기도 하다.

해커톤 일정은 정말 빡셌다. 일요일 오전에 시작해서 화요일 아침 8시 제출이었기 때문에 실제로 48시간이 돌아간 거나 마찬가지였다. 해커톤을 밤을 새고 제출하고 와서 잠을 푹 자는게 맛인데 48시간이다 보니 첫날 잠에도 이틀 샐 자신은 없으니 들어가서 자고 둘째 날도 아침 8시 제출을 생각하니 잠을 자기도 뭐하고 안자기도 뭐한 상태로 계속 작업을 했다. 들어가서 몇시간 자고 오긴 했지만 이건 잠을 자지 말라는 일정 같기는 했다. 8시에 제출을 한 뒤에는 10시에 F8 컨퍼런스가 있었기에 키노트에 참석하고 끝나고 나면 12시 부터 심사를 받아야 했다. 한 2시쯤 끝나고 4시반에 결과 발표가 있었기 때문에 제대로 쉬지도 못하고 대기하다가 결과를 들으니까 하루가 끝나버렸다. 나는 좀 자고 오긴 했지만 몇몇 분들은 완전히 밤을 새고 계속 잠을 못자서 저녁에는 보기에도 너무 피곤할 정도가 되었다.

F8

키노트에서 발표하는 마크 저커버그

해커톤 제출하고 일찍부터 줄 서서 들어갔더니 꽤 앞에 앉아서 마크 저커버그도 가까이서 볼 수 있었다. 예상했던 대로 프라이버시 관련 얘기를 많이 했는데 메신저의 e2e 암호화 같은 건 국내에서는 일반화된 지 오래라서 그리 매력적으로 느껴지진 않았다. 메신저를 꽤 미는 느낌이 있었는데 타 메신저 앱 대비 가장 용량 적고 빠르다고 얘기를 했는데 내 속마음은 "너희는 Facebook 앱이 200메가 넘잖아"라고 하고 싶었다. ㅎㅎㅎ 그래도 이런 큰 행사의 키노트는 처음 와봐서 그 자리에 앉아있는 것만으로도 즐거웠고 페이스북이 할 거라고는 전혀 생각 못 했던 "데이팅"과(국내에서는 아직 계획 없지만) portal은 꽤 흥미롭게 느껴졌다. 서비스 외에 예전처럼 플랫폼이나 개발 쪽 얘기도 더 있었으면 좋았을 텐데 하는 생각도 들었다.

오큘러스 부스

Portal 부스

위에서 얘기한 대로 F8 첫날은 키노트 외에는 해커톤 일정이 있었고 둘째 날은 체력이 고갈되어서 회복 모드를 취하고 있었기에 세션은 거의 듣지 못했다. 딱 하나만 들었다.(오히려 내가 듣고 싶었던 세션은 첫날에 더 많았다.) 앉아서 쉬고 부스 구경하고 또 쉬고 먹고 그러면서 보냈다. 부스는 꽤 크게 차려져 있었는데 내가 주로 가던 개발 콘퍼런스와는 완전 분위기가 다르게 다른 회사의 부스는 전혀 없고 모두 페이스북의 제품 부스만 있었다. 다른 서비스는 이미 잘 알거나 관심 없는 부분이라서 Portal을 구경했는데 생각보다 완성도가 좋아서 집에 하나 있으면 좋겠다는 생각이 들었다. 사람 따라서 카메라도 이동하고 여러 명이면 알아서 줌 인/아웃도 하는 부분이 재미있었다.

페이스북 오픈소스 부스

사람이 엄청 많은 데도 행사장이 엄청나게 크고 준비가 잘 되어 있어서 쾌적하게 행사에 참여했던 것 같다. 음식도 맛있고 세션과 부스 등이 넓게 잘 분산되어 있어서 참여하기가 편했던 것 같다. 정말 사람이 붐빌 때는 저녁 네트워킹 파티 때였는데 이때도 시작할 때만 줄이 길고 이후로는 괜찮았다. 거의 클럽처럼 꾸며놨는데 보통 하듯이 조용히 음식 먹고 술 마시다가 돌아왔다. 너무 시끄러워서 영어로 얘기까지 하기는 힘들었고 한국에서 오신 분들과 좀 친해져서 같이 왔다 갔다 하면서 구경을 했다.

해커톤 현장에 방문한 저커버그

해커톤 심사 때는 저커버그도 잠시 들러서 아주 가까이서 저커버그를 볼 기회도 있었다. 저커버그를 이렇게 가까이서 볼 일이 생기다니... ㅎㅎ 다들 동상 앞에서 기념사진을 찍듯 저커버그를 배경으로 사진을 찍곤 했다.

F8 로고

다른 회사도 요즘 콘퍼런스 지원을 잘 해주는 것 같긴 한데 운이 좋아서 지원받은 덕에 2주 동안 즐겁게 놀다가 돌아왔다. 나름 리프레시가 좀 필요한 시기였는데 기분 전환도 되고 사람들도 만나고 즐거운 시간이었다. F8 세션을 거의 못 들었더니 F8 후기인데도 F8 얘기는 정작 많지 않군. 그래도 기술적으로 깊이 들어가는 세션은 많지 않은 것 같아서 아주 아쉽진 않았다.

2019/05/28 04:29 2019/05/28 04:29

Facebook F8 2019 후기 #1

4월 말에 Facebook F8에 참가하기 위해 미국에 갔다 왔는데 미루고 미루다 한 달이 지난 이제야 후기를 작성한다. ㅎㅎ

페이스북에서 각 지역 개발자를 지원하기 위해서 만든 Developer Circles가 있고 Developer Circle:Seoul은 재작년인가? 생겼던 것 같다. 그냥 가입만 되어 있는 정도였는데 지난 2월 페이스북의 개발자 콘퍼런스인 F8 2019과 F8 해커톤 신청 안내가 올라왔다.

Facebook F8은 2007년부터 시작되었는데 다른 콘퍼런스보다 덜 유명하긴 하지만 Google에 Google I/O가 있고 Apple에 WWDC가 있다면 페이스북에는 F8이 있다고 생각하면 된다. 나 같은 경우는 예전에는 Open graph나 게임플랫폼 등을 발표할 때까지는 챙겨보고 있었지만 언젠가부터 하는 건 알았지만 자세히 보진 않았었다. 주 내용일 VR 등으로 바뀐 이유 때문이기도 하고...

작년 말에 샌프란시스코를 갔다 왔기에 계획에는 없었고 해커톤을 그리 좋아하는 편은 아니지만, 해커톤 참가자에게는 항공권과 호텔을 제공한다길래 그냥 신청했다. 신청서는 관심 분야와 현재 페이스북에 등록한 앱, 사용하는 API 등을 적게 되어있었는데 수년 전에 쓴 것 외에는 따로 등록해서 사용하는 게 없어서 신청하면서도 기대를 안 하고 있었다.

페이스북한테 받은 초대 메일

그리고 잊고 있던 3월 갑자기 페이스북에서 초대 메일이 왔다.(페이스북은 Amazon SES를 쓰는군) 추첨 기준은 잘 모르겠지만 어쨌든 됐다. 놀랍게도 정말 티켓을 제공하고 호텔과 비행기를 모두 제공해 주었다. 통 큰 페이스북은 4박 5일의 호텔을 제공해 주었고 이후 비행기를 예매할 수 있는 서비스에 대한 링크가 날라와서 쉽게 예약할 수 있었다. 호텔과 비행기 모두 콘퍼런스 일정(해커톤 2일, F8 콘퍼런스 2일)이 포함되기만 하면 일정은 내가 맘대로 선택할 수 있었다. 마친 퇴사도 고민하고 있을 때라 그냥 퇴사하고 맘 편히 가자는 생각으로 퇴사를 하고 리프레시도 할 겸 일주일 정도 미리 가는 일정을 잡았다. 그래도 며칠이라도 먼저 가면 귀가 약간 뚫려서 영어가 좀 더 잘 들려서...

샌프란시스코 시내

F8이 열린 곳은 산호세에 있는 McEnery Convertion Center였는데 여러 번 샌프란시스코를 와봤지만, 산호세 아래쪽까지 내려가 본 것은 처음이었다. 산호세에서는 별로 할 일이 없었기 때문에 콘퍼런스전 일주일은 샌프란시스코 도심에 숙소를 잡았다. 샌프란시스코 도심은 숙박비가 너무 비싸서 작년에 갔을 때는 캡슐 호텔을 이용했는데 이번에도 이용하려고 찾아보니 그사이에 뭔 일이 있었는지 몇 달 사이에 없어졌다. ㅠ 비슷하게 싼 숙소를 찾으려다 보니 다인실밖에 없어서 고민하다가 그냥 유니온스퀘어 근처 개인실이 있는 호텔을 예약했다. 산호세 갔을 때는 어차피 좋은 호텔에서 묵을 테니 싼 곳에서 버티려다가 여행비도 많이 아꼈으니 그냥 잡았다. 가격대비 엄청 좋은 곳은 아니었지만, 위치가 좋아서 맘에 들었다.

이동진님과 모각코

일주일 먼저 갔지만 퇴사하고 리프레시도 하고 요즘 개인 사정으로 코딩이나 공부도 별로 못하고 있었기 때문에 다른 일정은 없고 그냥 카페나 WeWork에서 코딩하고 쉬면서 보낼 계획이었다. 내가 갔을 때 마침 Kafka에도 많이 기여를 하고 계신 이동진님이 샌프란시스코에 와 계셔서 만났다. 만나서 딱히 뭘 한 건 아니고 Peets랑 Starbucks를 가서 각자 코딩을 하면서 시간을 보냈다. 다음에는 카프카 좀 알려달라고 해봐야겠다.

작년에 공사 중이라 못 가봤던 Amazon Go도 들렸다. Amazon Go는 계산대가 없이 앱을 설치하고 들어가면서 바코드를 찍고 들어간 뒤에 물건을 집어서 들고나오면 자동으로 계산되는 곳이다. 일부러 물건을 들었다 놨다 했지만 계산은 매번 정확히 되었다. 처음 나올 때는 마치 물건을 그냥 들고나오는 기분이 들어서 이상한 기분이었지만 몇 번 이용하다 보니 계산하는 줄을 기다리지 않아도 되어서 무척 편했다. 계산 방식은 모르겠는데 2번 정도는 10분 이내에 영수증이 날라왔지만 밤 9시가 넘어서 이용했을 때는 30분이나 지나서 영수증이 와서 자동화가 아니라 사람이 CCTV로 보고 계산하는 건가 하는 생각을 잠시 했다.

내가 방문했던 WeWork 지점

이전 회사를 퇴사하면서 WeWork 카드는 좀 더 이용하기로 얘기를 했기 때문에 계획대로 낮에는 WeWork에서 코딩이나 글을 읽으면서 시간을 보냈다. 샌프란시스코 시내에 도보로 10 ~ 20 분 정도면 갈 수 있는 곳에 꽤 많은 WeWork 지점이 있었기에 매일 다른 곳을 방문해서 구경했다. 995 Market St, 156 2nd St, Two Embarcadero Center, Golden Gate Theatre 네 곳의 WeWork을 이용했는데 이용 편의성은 다 비슷했고 매번 다른 환경에 작업하니까 꽤 좋았다. 참고로 WeWork 카드가 있으면 회사가 있는 지점 외에 지점도 앱에서 예약하면 9 ~ 6시까지 이용할 수 있고 사무실에 부여된 크레딧 중 1 크레딧을 사용한다.(1 크레딧은 그리 크지 않다.) 물론 이번에 이용한 것처럼 국내뿐 아니라 전 세계 어디 있는 WeWork 지점이든 다 이용할 수 있다.(내가 알기로는 주말에는 타 지점을 이용할 수 없다.)

샌프란시크로에 가서 코딩을 많이 해봤는데 처음에는 카페를 주로 이용했는데 카페는 자리 비우기도 힘들고 홈리스들도 은근히 많이 들어와서 신경이 꽤 많이 쓰이는 편이었다. 그래서 좀 조용한 곳이나 홈리스들 많지 않은 위치의 카페를 보통 이용했는데 국내에서도 신경 쓰이는데 미국에서는 특히 화장실을 가거나 할 때 너무 신경이 쓰였다. 몇 년 전부터는 Workshop Cafe를 주로 이용했는데(샌프란시스코 시내에 2개 지점이 있다.) 피시방 쓰듯이 시간당 비용을 내고 쓸 수 있는데 돈 낸 사람만 들어 올 수 있으므로 쾌적하고 콘센트도 자리마다 다 있어서 편했다. 미국 전화번호만 있으면 바로 사용할 수 있어서 편하고 자리에 앉은 채로 음료나 메뉴도 시켜 먹을 수 있어서 들어가면 종일 거의 나오지 않았다.

이번에 이용한 WeWork은 Workshop Cafe보다도 더 통제된 환경이었기 때문에 이용하기가 훨씬 편했고 대부분 나와 비슷한 목적으로 와있으므로 맥북을 자리에 두고도 많이 왔다 갔다 했다. 지점에 따라 카드키 확인 없이 들어간 곳도 있긴 한데 대부분은 카드가 없으면 아예 들어갈 수가 없다. 다만 음료와 맥주는 있지만, 음식은 없으므로 점심에 나갔다 와야 하는 건 불편했지만, 시간 여유가 많았기 때문에 괜찮았다. 앞으로 미국 올 때 작업할 시간이 꽤 있으면 WeWork 카드를 알아보고 와야겠다는 생각이 들었다.

Postman Meetup - API Network

Postman 사무실

예전에 올 때보다 재미난 세미나가 줄었다는 느낌이 있는데 Postman에서 API Network 관련 밋업을 하기에 회사 구경도 할 겸 갔다 왔다. Postman이 인기 있는 건 알고 있지만 사실 난 Paw라는 상용 프로그램을 쓰고 있어서 Postman은 많이 써본 적은 없다. Postman에서 API 문서를 만들어서 공유할 수 있는 API Network에 대한 설명으로 이를 이용하는 다른 회사에서 그 경험을 공유하는 자리였는데 "Postman 이렇게 좋아졌어?"라는 생각이 들 정도로 깜짝 놀랐다.

Open API 일 때 더 빛을 발할 것 같지만 문서를 만들어서 공유하면 사용자들이 바로 가져다가 테스트할 수 있는 부분과 Reqeust Hook인가 하는 기능으로 키설정이 잘못되거나 변수를 잘못 지정하면 요청을 보내기 전에 사용자가 파악할 수 있도록 오류를 보여주는 기능은 유용해 보였다. 사용자도 실수를 쉽게 수정할 수 있고 서버로서도 불필요한 요청을 받지 않아도 된다.

Paypal Sr. Mobile PM talks about learning from user feedback at scale

이건 내용을 좀 잘못 기대하고 간 것이긴 한데 그럭저럭 나쁘진 않았다. 기술 내용이라기보다는 PM 관점의 내용이었던 것 같고(아마도...) 도착했을 때 이미 참가자의 분위기를 보고 잘못 왔는데? 하는 생각이 들었다. 작년 GitHub Universe에서 처음 보고 한번 써보고 싶다고 생각하는 LaunchDarkly에서 기능 릴리스를 피처 플래그로 하는 관점은 꽤 재미있게 들었다.

Heroku에서 열린 밋업

밋업은 Salesforce Tower에서 열렸는데 샌프란시스코 시내를 많이 돌아다녀 봤어도 이쪽 근처는 별로 와본 적이 없다는 생각이 들었다. 언제부터인지 모르겠는데 Salesforce Tower 근처에 있는 대부분 건물은 다 Salesforce 사무실이 들어가 있어서 한 블록 자체를 다 Salesforce가 차지하고 있는 것 같았다. Salesforce의 이름은 많이 들어도 국내에서는 써보지 못해서 느낌을 잘 모르겠는 회사 중 하나인데 규모에 꽤 놀라긴 했다. 그리고 밋업은 Heroku 사무실에서 열린 거였는데 이 Heroku 사무실이 Salesforce Tower 안에 있었다.(인수당했기 때문에...) 난 Heroku가 훨씬 더 좋은데 Heroku는 간판도 없어서 아쉬웠다.

Google 본사

많은 회사를 가봤어도 Google은 한 번도 방문을 못 했었는데 다른 회사와 달리 구글은 넓은 지역에 건물이 분산되어 있어서 안드로이드 동상 앞이라면 모를까 구글에 왔다 하는 느낌이 드는 곳이 없어서 더 그랬던 것 같다. 계획에는 없었는데 샌프란시스코 왔다고 트위터에서 떠들다 보니 몇 년 전 Scala 콘퍼런스를 국내에서 준비할 때 발표자로 모시려고 연락했던 분이 내 트위터를 보고 연락을 해 오셨다.(동의 얻은 게 아니라서 이름 밝히기는...) 그때는 국내에 계셨는데 개인적으로 연락하던 건 아니라서 Google 본사에 계신 줄은 모르고 있었고 이럴 때 아니면 언제 또 보겠나 하는 생각과 Google은 한 번도 안 가봤네 하는 생각이 들어서 서니베일까지 내려가서 점심을 얻어먹고 얘기를 나누다가 왔다.

구글 사무실 입구

구글 본사는 마운틴뷰 지역을 중심으로 있지만, 이분이 계시던 곳은 서니베일이라서 서니베일로 갔는데 이쪽은 구글 클라우드 쪽 사무실이 많이 있는 것 같았다. Apache Beam 작업이 주 업무라고 하셨는데 오픈소스 개발자를 GitHub이나 콘퍼런스 등에서만 보다 보니 우리가 회사에서 부서에 배정받듯이 구글에 입사해서 배정받은 부서가 오픈소스라서 오픈소스를 풀타임으로 하는 많은 사람에 대한 얘기는 흥미로웠다. 처음에는 놀랐는데 생각해 보니 회사가 주도하는 많은 오픈소스 프로젝트에서는 당연한 일이라는 생각이 들었다. 실리콘밸리의 개발 문화나 국내 오픈소스 보급 등에 대해서 여러 가지 얘기를 재미있게 나누고 왔다. 나중에 국내에 들어오시면 밋업이라도 준비해서 재밌는 얘기를 들어봐야겠다는 생각을 했다.


이 글은 Facebook F8 2019 후기 #2로 이어진다.

2019/05/28 04:20 2019/05/28 04:20