유라임 프로젝트 개발 동기
드디어 유라임 프로젝트에 대한 글을 시작한다. 그간 정말, 길고 긴 시간을 유라임의 설계와 개발로 보냈었다. 그리고 지난주, 그래도 뭔가 프로덕으로 나온 유라임을 보니 감회가 새롭다. 4년 전부터 얼마나 내가 웹으로 만들고 싶던 것인데 학업과 유학 등에 부딪쳐 제대로 개발하지 못했다. 아니, 정확히 말하면 내 풀스택 능력이 부족했던 것이 가장 클 것이다. 혼자 모든 것을 개발하기에는, 아직도 내 내공이 사뭇 부족했으니 말이다.
오늘부터는 브런치에 유라임 이야기를 시작하려고 한다. 유라임을 간단히 말하면, 내가 관리하던 인생 계획 및 관리 방법을 웹서비스로 옮겨온 것이다. 우리는 모두가 계획을 세운다. 삶의 우선순위를 세우고, 일의 우선순위를 세우고 이를 해 나가는데에 초점을 둔다. 물론 모두가 미래에 대한 계획도 세운다. 하지만 내 인생계획 방법은 조금 특이하다. 바로 인생을 100년이라 바라보고, 100살까지 설계하는 데에 의의가 있다. 왜 100살인가? (사실 내가 100살까지 살 것 같아서...) 일단 객관적인 자료를 이야기 하기 앞서, 8년 전의 나로 돌아가 보기로 한다.
목표의 유무에 따른 인생의 갈림
2008년 나는 첫 스타트업에 실패하고 방황하던 스무살 초반의 휴학생이었다. '사업실패'라는 꼬리표 때문에 누가 뭐라 한 것도 아닌데도 매일같이 술과 함께 살고, 밤새도록 놀기만 했다. 덕분에 살은 살대로 쪄버리고, 군대 문제까지 겹쳐서 힘든 하루하루를 살고 있던 어느날, 도저히 이렇게는 살 수 없어서 운동도 시작해보고 연애도 해보려고 여러모로 노력한 끝에 지금의 와이프인 끌로이를 만날 수 있었다. 착실히 공부를 하며, 사회적으로도 위치를 쌓아가는 그녀를 보며, 나는 상대적으로 사업 실패에서 왔던 좌절감 덕분에 부족함을 많이 느꼈지만 그런 내게 힘이 되고자 조금씩의 미션을 주었다.
가장 처음 해결해야 했던 것은 군대문제. 어떻게던 병특을 가서 이를 해결했지만 곧 SI의 무서운 야근/철야 폭풍이 들이닥쳐서 자주 만나지 못하게 된다. 반년 뒤, 그녀는 미국으로 공부하러 떠났고 내게는 기다리며 야근/철야를 해결하라는 미션이 주어진다. 그래서 또 어떻게든 최선을 다해서 조금 더 나은 환경으로 이직했다.
일년 후, 미국에서 그녀가 돌아왔을 때, 나는 학교졸업과 함께 미래를 구체화 하라는 미션이 주어졌다. 졸업을 하면 스물아홉살, 프리랜서로 일하고 있던 나는 이미 취업해서 연차를 달아가는 친구들이 늘어가고 있는 것을 보고 나는 이왕 늦은거 공부나 더 하자고 유학을 결심했다. 몇 년간의 강남의 학원을 여럿 옮기며, 여섯살 이상 어린 친구들과 함께 학교에서 프로젝트와 시험공부를 하며 쉼없이 달린 끝에 졸업하고, 미국 유학까지 확정받은 끝에 작년에 결혼하는데에 성공했다.
인생을 100년으로 바라보게 되다.
끌로이와 함께한 이십대 동안 내가 느낀것이 있다면, 진정 내가 원하는 삶을 위해 올바른 길을 바라보고 나아가야 한다는 것이다. 크고, 집중할 수 있는 목표가 주어졌을 때 무식하게 이를 바라보고 나아가다 보면 진정한 목표로 한층 나아갈 수 있다는 것이다. 사업이 망했을 때 나는 실무 경력이 전혀 없었고, 유학결심을 했을때 내 영어점수는 형편없었다. 졸업을 하기 위해서는 재수강을 수 없이 해야했고, 석사나 박사 과정은 내가 생각했던 것과는 너무나도 달랐다. 나 스스로를 바꿔야 했다. 하지만 정말, 부족한 내가 할 수 있을까? 라는 의구심이 한두 번 들었던 것이 아니다.
하지만 이를 미션(?)을 통해 무식하게 바라보고 간 결과, 지금은 서른 전에 원하는 삶을 살고 있는 것이 아닌가 싶다. 좋은 조력자를 만났다고 해야할까, 사실 그전에는 나 스스로가 너무나도 하고싶은 것이 많았다. 피아노도 잘 치고싶고, 살도 빼고싶고, phd도, 고전 읽기, 절주, 운동, 다이어트, 매일 블로깅, 번역, 끌로이랑 문화활동, 맛집정복, 영어소설 읽기, 토플, 학점, 논문, 포트폴리오, 장학금, 회사일, 프리랜서일A, 프리랜서일 B, 개인 프로젝트 A/B/C/D 등등등.. 당장에 하고싶은 것도 이리 많은데 나중에 하고싶은 것도 산더미만큼 많았다. 버킷리스트라고 해야할까? 뭐 북유럽 크루즈 여행하기, 어디어디 가보기, 어디서 뭐해보기, 뭐 타보기 등등.. 그런 수 많은 하고싶은 일 중에서 방황하던 내게 끌로이는 스무살에 꼭 해야할 것을 정해서 내가 선택과 집중을 할 수 있게 한 것이다.
물론 가지치기를 많이 해야했고, 정말로 선택과 집중을 해야핬다.하지만 그렇다고 하고싶은 다른 것들은 포기해야 할까, 그것에 대해 고민해본 결과, 그래도 건강하다면 죽을때 까지는 뭐 하고싶은 걸 하고 살겠지 라는 생각이 들고, 그러다 문득 "내가 과연 몇살까지 살까?" 를 생각해 보게 된 것이다. 그리고 자료를 찾아본 결과, 한 80살 살지 않겠어 라는 생각과는 달리 최근의 자료들이 이미 평균 기대수명이 80세를 넘어서고 있고, 이 수치는 1900년도 들어서 더욱 가파르게 늘어나고 있더라.
OuyrWorldInData 같은 사이트를 가면 기대수명/평균수명을 국가별로 확인할 수 있는데, 보니깐 난 담배도 끊었고 살만 빼면 건강관리를 잘 한다면 그래도 100살까지는 살 수 있지 않을까? 라고 생각하고 나서, 그때부터 내 인생이 확연히 바뀌었다.
100년 삶의 우선순위를 정하다.
내가 죽을 때를(...) 100살로 보니깐, 지금까지 살아온 10대를 제외하고는 아직 75살이나 남았고, 이를 생각했던 당시인 2011년은 아직 인생의 25% 밖에 살지 않았다. 하, 정말 웃기더라. 앞에서 언급했던 사업실패에 좌절했던 때가 인생의 22%밖에 살지 않았을 때라니 말이다. 아직 남은 78%의 인생이라면, 당연히 내가 하고싶은 것들을 모두 이룰 수 있지 않을까? 라는 생각이 들었다.
하지만 하고싶은게 너무 많았고 당장 무엇을 시작해야 할지 몰랐다. 당시 우연찮게 열어본 스무살(2006년) 때 작성한 인생의 로드맵에 비춰볼 때, 5년동안 지금까지 내가 이룬 것? 물론 없진 않지만 내 계획의 단 5%도 못미치는 것 같다. 그래서 문득, 진짜로 제대로 된 내 인생의 '설계도' 가 필요하다고 생각했고, "이를 문서로 정의해서 매일같이 수정하고 보안해 나가면 되지 않을까?" 라는 생각 하에 아래와 같은 문서를 만들었다.
즉, 아주 상세하고도 구체적인 로드맵을 작성했다. 그렇게 3시간 정도 문서작업을 하다 보니, 단순히 로드맵에 근거해서만 약 8페이지의 로드맵이 창출되었다. 그리고 이에 따라 나는 연간 목표와 계획/월간 목표와 계획/주간 목표와 계획을 잡고 나아가려고 노력했다. 월요일에는 새로운 주간 계획을 세우고 일요일에는 한주를 반성한다. 아주 단순하지만, 이렇게 구체적인 문서로 정리를 해 놓으니 일단 그 동안 할일관리나 기타 툴에 의존했던 나 자신이 바뀌기 시작했다. 내가 완전히 만족할 수 있는 문서가 창출되었으니 말이다. 프랭클린 플래너? GTD? 그 무엇보다 한 눈에 내 계획과 목표를 확인하고 나아가는 것이 중요하다고 생각한다.
이렇게 한 몇 개월을 사용해 보니 스스로 조금 더 관리됨을 느끼긴 했지만 데이터가 늘어나면 워드 파일이 너무나도 커지기도 했고, 관리하기도 힘들었다. 무엇보다, 한눈에 들어오지 않았다. 그래서 반년 뒤인 2012년, 엑셀을 통한 관리를 시작했다.
엑셀로 관리되는 인생 100년
2012년 부터는 워드에서 엑셀로 자기관리를 시작했다. 단순하게, 위에는 년도를 2011년부터 75년 뒤인 2085년까지 써두고 이를 10년 단위로, 즉 20대/30대/40대 ... 80대/90대 까지 나누고 하고싶은 일을 적었다. 20대에는 뭐 미국진출 및 대학원 / 30대에는 미국 엔지니어.. 이런 식으로.
그렇게 하고나서, 본래 분류했던 내가 하고싶던 일들을 분류로 나눴다. 건강/지식/자격/학업/명예/업적/사회/취업/행복/물질 로 분류하고 이에 대해서도 세부 카테고리를 두었다. 예를들어 '건강' 범주에는 75kg/절주/습관/스타일/새벽형 인간이, '지식' 에는 영어/프로그래밍/디자인/음악 이런식으로.
연간 계획은 일단 100년 계획을 세운 후, 해당 년도에 해당하는 범주만 가지고 이에 대해서 세부 계획을 세우는 것으로 시작한다. 매년 1월 1일쯤에 계획을 시작하고, 세부 플랜에 대해 해당하는 '기간'을 둔다.
월간 계획 역시 연간 계획을 세운 후, 해당 '월'에 해당하는 범주와 계획을 가지고 언제까지 할 것인가에 대한 데드라인을 정한다. 계획을 습관성/성취성 으로 구분한 후 습관성의 경우 한주에 몇 번 언제언제(주3회 혹은 매주 월/목/금 이런 식) 할 것인지, 성취성의 경우 몸무게 몇 kg, 공부할 분량의 몇 % 이런 식으로 계획한다.
주간 계획은 이제 실제로 내 데이터를 기록하는 단계이다. 월간 계획에서 나눈 계획을 주단위로 구분하고, 이에 대해 했다/안했다, 실제 수치(몸무게 같은..) 혹은 그날 했던 것들(식사기록, 운동은 무엇을 했는지)를 기록한다.
그렇게 해서 나온 일일 체크리스트를 보면 아래와 같다.
왜 이렇게까지 나눠야 하는가? 위 8월의 체크리스트를 보면 2,3주차가 기록되지 않았고 특히 1주차를 보면 거의 빨간색 투성이다. 물론 9월도 중간중간 빈 부분이 보이긴 하지만 8월에 비하면 상당히 양호한 편이다. 그럼 이것을 보면 어떤 것을 알 수 있는지, 그것은 딱 봐도 8월에 내가 마음가짐을 바로하지 못했고 내가 계획한 삶 속에서 살지 못했다는 것을 정확히 나타내는 것이다.
그리고 나는 이 체크리스트를 기록하기 위해 하루에 거의 한 시간을 소비했다. 물론 이 체크리스트 뿐만 아니라 다른 행동도 수반되긴 하지만, 특히 조용한 새벽 시간을 활용하기 위해 4~5시 쯤에 기상을 한다. 그리고 숙면을 위해 전날 10시 전후로 취침에 들어간다. 결국 8월의 저 공백 기간은 내가 10시에 취침하지 못했거나 일찍 일어나지 못했다는 것이다.
결국, 계획 나누기 가 내 자기관리 시스템의 중점이 아닐까 싶다. 위의 과정을 정리하면 다음과 같다.
이렇게 계획쪼개기 과정을 거쳐 나는 '추상적인 꿈' 에서 '오늘 당장 구체적인 할일' 로 바꿀 수 있었고, 당장 할 필요가 없는 것들에 대해 '언젠간 하겠지' 가 아닌 '43살부터 45살에 하자.' 와 같이 구체적인 기간을 정할 수가 있었다. 한편으로는 체크를 하지 못한 부분에 대해서는 어떤부분이 잘됬고 안되었는지를 확연히 알 수 있어서 지속적으로 계획을 수정 및 보안해 나갈 수 있었다.
엑셀 자기관리 시스템의 문제점
이렇게 관리를 시작한지 벌써 5년이 지났다. 데이터도 상당히 많이 축적되었다. 몸무게, 기상시간, 공부한 것들, 식사 종류, 운동종류, 운동시간, 명상유무, 심지어 데이트 할때 어디를 갔는지, 무엇을 했는지까지. 하지만 아무리 좋은 시스템이더라도 쓰지 않으면 무용지물이다. 그렇게까지 고민하고, 오랜 기간을 들여 만들었지만 솔직히 나도 사람인지라 귀찮음이 없지않아 있었다. 방학때는 유럽이나 미국에 한 달씩 여행을 가곤 했는데, 물론 인터넷이 필요없긴 하지만 자주 놓치곤 해서 기록을 거의 안하게 되었다.
더 중요한 것은, 아무리 데이터를 많이 쌓은다 하더라도 이에 대한 '회고'가 있어야 하는데 한주간의 반성이나 한달간의 반성은 그럭저럭 되는데 일년치 데이터가 쌓이면 하도 데이터가 많아서 이게 당최 잘 되고 있는지 아닌지 잘 모르겠더라. 결국 한 눈에 잘됬는지 안됬는지 보기가 힘들었다. 엑셀의 수식이라던가, 그런 것을 이용해서 차트로 만드려고 했던 시도도 데이터가 숫자만 있는 것이 아니다 보니 정형화 시키기 어려웠다. 더불어, 매달/매월/매년 엑셀 Sheet를 만들어야 하는데 이것도 생각보다 오래걸리기도 했다.
즉 귀차니즘, 회고, 그리고 시각화의 세가지 문제를 생각했다.
해결책은?
'귀차니즘' 즉, 데이터 기록을 안했을 때는 당연히 최대한 많은 '자동화'가 필요할 것이라 생각했다. 마침 애플와치나 핏빗을 선두로 웨어러블도 발전하고 있고, 아직은 WiFi저울과 뭐 수면 관련 제품등 헬스케어 IoT가 대부분이지만 이 또한 점차적으로 많아질 것이라 생각했다. 아마 생활에 필요한 대부분의 것은 IoT가 되지 않을까, 그렇게 되면 굳이 내가 기록을 안해도 API연동만 하면 데이터 자동수집이 되겠지. 이 뿐만 아니라 나 스스로가 페북이나 인스타를 너무나도 열심히 하기 때문에, 해시태그를 통한 내 활동이 트래킹 가능하다고 봤다. 더불어 뭐 Rescue Time같이 데스크탑 tracker를 세팅해 둔다면 이 역시나 작업을 할 때의 부분을 측정할 수도 있다고 봤다. 요즘엔 뭐 코딩 시간도 측정하던데..
'회고' 라는 것을 극복하기 위해, 요즘 Spark등 빅데이터/머신러닝 관련 오픈소스와 기술이 비약적 발전을 하고 있는 것을 짐작했다. 마침 나도 3년 전에 AI를 수강했었는데 그때의 작지만 지식을 가지고 자동화된 '평가'를 할 수 있을 것이라 생각했다. 데이터가 분명 많아지겠지만 도커 등 마이크로아키텍처도 워낙 활성화가 많이 됬고, 로드밸런싱이나 스케일 인/아웃 등을 Automation하는게 워낙 쉬워서 적은 금액으로도 구현할 수 있을것이라고 생각했다. 만약 러닝을 넣는다면, 컴퓨터한태 내가 잘했다 안했다를 조금만 알려주면 데이터가 누적되서 알아서 측정하지 않을까, 소셜을 넣는다면 타인이 나를 평가하는 기준을 만들어 줄 수도 있고, 잘 된 사람들과 나를 비교할 수도 있을 것이다.
'시각화'를 극복하기 위해, D3.js를 선두로 Chartist등 많은 데이터 시각화 라이브러리가 나와있고 Bootstrap으로 스킨만 입히면, 앵귤러 써다가 반응형 웹 만들면 된다. (사실 말이 쉽지만 직관적인 UI만드느려고 힘들었다.... 그리고 아직도 해야할 것이 산더미 같다.) 어떻게 하던 간에 개인적으로는 엑셀보다는 UI가 낫지 않을까 라는 생각과 함께, 차트를 열심히 사용하면 데이터가 보이지 않을까 라는 생각을 했다.
유라임의 시작
웹사이트를 만들기 시작한지 20년, 내가 가장 자신있는 것은 당연히 웹개발이다. 그래서 위 서비스를 웹으로 만들기로 했다. 사실 제작년 미국유학을 준비할 때 연구할 주제가 필요하기도 했고, 이 자기관리 시스템에 대한 구체적인 '설계'가 필요했다. 그래서 2014년, 본격적으로 프로젝트를 시작했다.
이름을 무엇으로 지을까 하다가 끌로이가 이 시스템이 내 인생을 함께 만들어 가는 의미인 것 같다며, '우리'가 어떻냐고 하였다. 그런데 도메인을 찾아보던 중, urhy.me 가 있길래 문득 신청을 했는데 이게 영어로 읽어보니 "유라임" 이 되더라. 우연일까, "라임(rhyme)" 이라는, 운이 맞다 라는 뜻이 있기 때문에 삶의 '조화'를 찾아가는 과정이라는 의미에서 너무나도 마음에 들었고, 유라임이라고 정하였다.
물론 미국 유학준비와 여기서 석사 공부랑 스타트업을 만드는 과정동안 거의 하지 못했지만, 어쨌든 그리고 지난 주, 드디어 베타(Private Beta)를 만들었다.
체크리스트에서 계획을 세우고, 목표를 정하고, 기간을 정하고, 데이터 소스를 정한 다음 등록을 하면 다음부터는 알아서 일일로 데이터를 수집해 온다. 그리고 나중에는 내가 설정한 카테고리를 기반으로 성취도를 그래프로 나타내준다. 즉, 내가 만약 몸무게 10kg감량 이란 목표를 정하고, Weight라는 목표로 연결한다면 내가 연동해둔, 집에 있는 Withings WiFi Scale에서 받아온 데이터로 자동으로 저장하고, 대시보드를 통해 평가하는 것이다. 전체를 간단히 도식화 하면 아래와 같다.
아직 베타라서 뭐 IoT라던가 해시태그, 캘린더 데이터 등은 제공되지 않지만 일단 웹 서비스로서의 형태를 갖추었다. 최종적으로 유라임의 목표는, 자동 수집된 생활데이터와 AI를 통한 내가 원하는 삶의 라이프 밸런스를 맞추는 것이다. 그리고 이를 가지고 멋진 나의 데이터 시각화 페이지를 만드는게 목표이다.
누구나 자신의 꿈을 가질 권리는 있다. 상황이 어떻게 존재하던, 꿈을 꾸는 것은 자유이다. 하지만 우리는 꿈을 어떻게 하면 이루는 지를 잘 모른다. 그래서 책도 잃고, 다양한 사람들의 성공담, 경험담을 듣곤 한다. 나는 유라임을 통해 많은 사람들이 삶의 선택과 집중을 통해 진짜 자신이 원하는 '꿈'에 다가갈 수 있었으면 좋겠다. 서로 비판만 하는 웹이 아니라, 여러 사람들이 서로간의 꿈을 이뤄가는 데에 있어서 경험을 공유하고, 서로 응원해주는 그런 의미의 웹서비스로 성장했으면 하는 바램이다.
그리고, 앞으로 유라임을 4개월간 만들면서 겪은 '개발'과 '디자인'적인 이야기를 적어내려고 한다. :)
(하면서 나도 공부도 하고...)
3. C.I. , C.D. 를 위한 Devops 환경 구성
4. Google Cloud/Nginx와 Kubernetes로 LB/Proxy구축
5. Fullstack 개발(백엔드와 프런트 앤드)
6. 테스트와 프로토타입 배포
7. Responsive, 로고, 디자인 및 랜딩페이지
8. 향후 작업 프로세스 설계