brunch

You can make anything
by writing

C.S.Lewis

by 외쿡인노동자 Jul 26. 2017

첫 1박 2일 간의 미팅 및 작업

하나 둘씩 만나는 멤버들

미국 동부 시간으로 토요일 점심 무렵부터 첫 미팅을 진행 할 예정이었어서 일단은 시차가 맞는 셋이 시작하고, 인도를 여행 중인 JR 은 다음 기회에, 그리고 서울/싱가포르에 있는 JK 와 HJ 는 우리의 모임이 길어지면 온라인으로 조인을 하기로 하고 만남.


우리의 첫 미팅에서는


#1. 각자가 가진 아이디어를 나누고, 

#2. 그 중에서 가장 실현 가능한 녀석으로 하나를 정하고, 

#3. action items 가 나올 수 있으면 


성공적이겠다 싶었음. 


첫 미팅의 제목은 Eat, Drink and Code I - 내가 아주 세심하게 고른 단어 순서임. 일단 먹고 마시고 놀다가 나중에는 컴퓨터 옆에 켜놓고 먹고 마시자는 (...)


그렇게 모임 당일. 내 기준으로 만들어진 모임이라 함께 할 AY 이랑 MY 이랑 처음보는 사이. 근데 첫 만남에 내가 늦었네? (...) 그래서 둘이 먼저 스타벅스에서 만나고 있으면 내가 합류하겠다고 했는데 둘이 이런 첫만남을 (...)


MY 와 AY 의 첫만남 ㅋㅋㅋ


전날 하루 종일 방을 구하느라 피곤했던 AY 이가 쉬고 있었고, 둘이 먼저 보라는 내 카톡을 AY 는 못 보고 MY 이만 확인해서 발생한 사단 (...) 미안하다 (...)


그래도 일단 만났으니 먹으러 감. 다들 나를 잘 알기에, 만나서 처음에 먹고 마시고로 시작 할 것을 잘 알고 있음. 일단 즐겁게 팀 본딩을 하고 뭐든 하는게 좋은거 아니겠음? 코리아타운으로 가서 일단 가볍게 시작.


생맥을 안 팔아서 아쉽... 


맥주 한잔에 한식 먹으면서 약간의 ice breaking time. 사실 나도 MY 랑 이번이 1년만에 만난 것이기도 했고. MY 를 딱 1년전에 그것도 뉴욕에서 만났었는데, 여기서 다시 만나니 반갑고 신기.


점심식사를 마치고 셋이 작업이 가능한 카페를 찾아감. 적당히 자리를 잡고 다들 노트북을 켜고 ideation 을 시작. 각자 개인적으로 생각한 것들을 나눠보고, 나는 아-주 개인적인 걱정이 지난 두번의 작은 프로젝트들을 통해서 우리 대부분이 백엔드 개발자인데 이런 작은 프로젝트들은 주로 앞단을 만지는 일이 많이 필요한데 그래서 그런 부분을 잘 미리 조율해보자는 것이었음. 앞단에서 뭐가 잘 보이고 돌아가야 프로젝트의 동력이 죽지 않을 것 같기도 하고.


의미가 있는 프로젝트들도, O2O 가 꼭 필요한 (지금 우리 입장에서는 하기 어려운) 프로젝트도, 격의없이 되든 말든 일단 꺼내고 보자는 분위기 속에서 의견 교환이 이루어졌고, 2시간 30분간의 수다 속에서 


#1. Forget about the market. 시장에 이미 제품이 있든 없든 우리가 지금 필요해서 쓸 것을 만들자.

#2. Forget about the user. 미리 일반 대중을 향한 서비스를 생각하지 말자. 우리 셋만 쓴다는 가정으로 시작하고, 그러니까 법, 제도, 정보접근성 등등 일단 무시하고 시작하자.

#3. One simple thing at a time. 최대한 작은 MVP 혹은 MVP 의 기능 중에 작은 것 하나라도 만들어서 돌아가게 만들자.


정도로 정리가 되었다. 내가 뉴욕에 6주쯤 있을 예정이고, 우리는 매주 토요일에 모일 예정이니 가능하면 6번 안에 어느 정도 프로젝트를 궤도에 올려야 했다. 그리고 우리 모두 본업이 따로 있는 사람들이고, 온전히 몰입 되기 전의 프로젝트는 계속 모이지 않으면 흐지부지되기 쉽다는 점을 인지하고 있었고.


그래서 나온 결론은, 아주 간단한 notification app 을 만들어보기로 했다. Bench marking 할 service 가 있었고, 우리가 모두 쓰고 싶으나 기존의 것들은 복잡하게 느껴져서 쓰지 않는 것이 있었다. 셋이 만장일치로 동의를 하고, phase I, II, III 에 나눠서 할 일들을 구체적으로 나누었다


막판에 인터넷이 안되서 Notes 에 정리한 미팅 노트.


우리의 테크니션 AY 가 많은 부분을 맡아갔다. 백엔드 구축 (나 역시 이쪽 경험이 있어서 나는 최대한 simple 하게 가는 쪽으로 의견을 냈고), 유일한 풀스택에 모바일 경험이 있는 친구라 Kotlin 으로 Android 를 맡기로 했다. 백엔드는 either Java or Python 으로 구축하기로 만장일치. 무슨 프레임웤으로 어떤 구조를 꾸릴지는 AY 의 결정에 맡기기로. 대략적인 시스템 아키텍쳐는 (매우 간단해서) 즉석에서 그려서 정함.


나랑 MY 는 각자 Swift 공부해서 iOS 를 맡기로 했다. 나는 백엔드 아케텍팅 AY 와 같이 할 예정이고, 최대한 간단한 구조로 빠르게 진행 할 수 있는 구조에 대한 공부를 해갈 예정. 그리고 프로젝트 과정에서 비용이 생기는 부분은 내가 일단 커버하기로.


커뮤니케이션은 슬랙을 매일 쓰지 않는 멤버가 있어서 우리 모두가 쓰는 카카오톡을 메신저로 쓰기로 했고, 문서/이슈관리 같은 것도 아직 프로젝트가 매우 작고 우리 숫자가 매우 작으니 Git 에다 몰아서 쓰기로 했다. (지금으로써는 JIRA 도 Trello 도 너무 크다) 최대한 간단하고 단순하게, 그리고 늘 쓰던 것들로, 이것 때문에 별도로 해야하는 일의 숫자를 최소한으로 줄이는 방향으로.


이렇게 첫 미팅을 마치고 나니, 내 예상보다 많은 일이 빠른 시간내에 진행이 되었음. 잠깐 쉬고, 저녁 먹고 밤샘 해커톤을 진행하기로 의견을 모으고 장소를 물색하다보니 내 숙소가 가장 적합하다는 결론이 나옴. 다만, 내 숙소에 에어컨이 없는 상태라 (현재 뉴욕 기온 32-33도쯤...) 바로 에어컨을 사러감. 원래 사려고 보고 있었는데 더이상 지체 할 수가 없어서 창틀에 설치하는 소형 에어컨을 $130 정도 주고 구입 후, 숙소로 들고가 설치까지 마무리. 설치에도 우리의 테크니션 AY 이가 많은 수고를... (y)


https://www.youtube.com/watch?v=sRl58EvY6QI

에어컨을 설치중입니다 ㅋㅋㅋ


*


자 이제 장소도 구해졌겠다, 다시 저녁을 먹으러 고고. Eat, Drink and Code 이니까 우린 잘 먹고 잘 마셔야함. Chinatown 근처에 hot pot 집을 검색해서 갔었는데 맛있고, 깨끗하고, 서비스 친절하고, 분위기도 좋고 가격도 적당한 곳에서 무제한 핫팟을 아주 거나하게 먹고 돌아옴.



이 무렵에 아시아 시차가 일요일로 풀려서 JK 와 HJ 에게 연락, 조만간 온라인에서 가능하면 Sync-up 을 하기로 했고 집에 와서는 코딩 이전에 또 세계맥주를 시음하는 이벤트를 (...)


미국 메인주, 벨기에 수도원, 그리고 브루고뉴의 공작부인님 <3


성공적인 첫 시작을 축하하며 한병만 더 마시고 시작하자를 반복하다가 점심먹고 들어와서 조인이 가능하다는 HJ 의 연락을 받고 온라인으로 접선. HJ 는 나 이외에는 다들 처음보는지라 모두 인사를. 사실 HJ 는 작가님이셔서 내 다른 후배들은 일방적으로 알고 있는 셀레브리티. 


Skype 으로 시작되어서 간단한 sync-up 후, HJ 의 아이디어와 질문들 그리고 다양한 인사이트와 경험 공유가 시작되었음. 시간가는 줄 모르고 이야기를 나누다가 우리 Notification app 의 방향도 살짝 바꾸게 되었고, 굉장히 유망한 아이디어가 하나 더 생겨서 AY 가 해당 아이디어도 기술적인 부분을 검토하기로 to-do list 에 추가함. 


헬로 월드!


프로덕트 이름, 회사(!) 이름도 정하고 ㅋㅋㅋ 웃고 떠들다가 아 이렇게 피곤하지? 하고 시계를 보니 새벽 4시. HJ 이랑 통화를 시작한지 4시간이 훌쩍 지나있었음. 코딩이고 뭐고 내일로 미루고 일단 마무리. ㅋㅋㅋ HJ 의 위력을 실감한 두번째 미팅. ㅋㅋㅋ


Action Items Updated:

1. 두번째 아이디어에 대한 기술적 검토 - AY

2. Notification App 진행 그대로 - 다만 Phase III 은 실제 제품화라 기존 아이디어로는 법규의 검토 등이 필요했는데 새로운 아이디어로 변경하면 두번째 아이디어와 맞물려서 Phase II 를 건너뛰고 그대로 기술적인 개발만 해도 됨. 어쨌든, 일단은 원래의 미팅 안대로 Phase I 진행. We can diverge as needed easily. 


*


다음 날 아침, 늦으막히 일어나서 쌀국수로 해장을 하고 다시 한번 근처에 카페를 잡아서 작업 시작. AY 는 개인적인 일이 있어서 먼저 빠지고, MY 와 서로 거의 처음이나 다름없는 Swift 를 각자의 방법을 공부 시작. 사실 나는 이전 직장에 아주 잠시 Objective-C 를 다뤘었는데 그때의 처음 만난 괴물 같은 문법을 걱정했으나 Swift 로 넘어오면서 OOP 언어로 아주 잘 탈바꿈이 되어있었음. xCode 도 누군가가 친절히 설명해주면 아주 쓰기 좋은 툴이라고 생각되었고.


MY 이는 문서 위주로 투닥투닥 이것 저것 만들고 배우면서 Apple 에서 나온 tutorial 을 따라가는듯 보였고, 나는 나대로, 이전에도 1-2강만 들은 적이 있었던 ㅋㅋㅋ Stanford 대학의 iOS 강의를 듣기 시작. 따끈따끈한 2017년 겨울 학기 강의로 iOS 10 w/ Swift + iPhone 7 으로 업데이트가 되어있었다. 


스탠포드의 수업이 무료인 셈


아무것도 모르니까 바닥부터 차근차근히 배우는게 낫겠다고 생각해서 시작했고, 어떻게 보면 혼자 할 수 있는 일이지만 옆에 peer 가 있으면 조금 더 집중이 잘되는 것을 이용해서 서로 두시간 정도 열공. 


아주 기분 좋게 집중해서 강의를 듣고 저녁 먹으러 고고. 스스로 정리 겸 첫 강의에서 들으면서 코드에 주석으로 받아쓰기 해놓은 것들 정리.


#1. properties 는 instance variables 을 의미

#2. : (colon) 은 inherited class 를 의미. Swift 는 single inheritance 를 지원. 

#3. Optional is initialized with nil - and the nil is only for non-set status in Swift

#4. nil == (Optional in non-set)

#5. implicitly unwrapped optional -> UILabel!

#6. in Swift, all property has to be initialized, no exceptions

#7. when Optional is in non-set mode but trying to unwrap with !, it crashes

#8. Swift supports computed properties (dynamically calcaulated values), when it gets `set` or `get` (maybe more)

#9. In computed properties, `newValue` keyword is the right side of value in = (assignment) operation

#10. for multiple association between UI component and an action, order is arbitary (undefined) so do NOT associate mulitple actions to one UI component or rely on this. 

#11. Select ALL, then Ctrl + I to indent all code automatically


Google 의 Java library 인 Guava 에 있는 Optional 개념을 사실 내가 쓰지를 않아서 아 그렇구나, 하고만 있었는데 조금 더 알게 되었음. 그리고 computed properties 신기한데 머릿속에 좋은 코드들을 자주 봐야 내가 직접 어느 상황에 이거 쓰면 좋겠다! 싶은 상황이 올 듯. 그리고 ?, ! 같은 operator 들을 쓰는건 Ruby on Rails 를 업무에서 쓰면서도 아오 지저분해 ... 싶었는데 다 이게 쓸모가 있으니. 


모바일은 안 건드리고 백엔드에서 놀다가 AI 공부로 바로 넘어가려고 했는데 이래저래 기회가 닿아서 다시 Swfit 를 건드려보는 계기가 되었음. AY 의 리서치가 완료되는대로 백엔드 구축에도 힘을 보내고, 다른 프로젝트도 견적(?)을 내봐야겠음. 


반쯤 만들어진 계산기가 다음 강의를 마칠쯤에는 온전한 계산기가 되어있기를.


내게 필요한 것은 끈기...


결국은 일기장이 되겠지만, 조금씩 하는 것들을 정리해나가도록 하겠습니다. :) 


매거진의 이전글 사이드 프로젝트 시작

작품 선택

키워드 선택 0 / 3 0

댓글여부

afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari