About
home
About Me
home
🍽️

콩나물 북어국과 데이터

Date
2021/07/12
Category
Essay
퇴사를 했다. 그리고 요즘 나는 요리를 한다.
이유는 다양하다. 내가 좋아하던 서비스였기에 선택했다. 하지만 나온 시점에서는 그 서비스마저 좋아하지 않게 되었다. 제품이 n년째 성장하지 않았다는 것을 구성원이 되고 난 후에 알았다. 프로덕트 관점에서 제품 성장의 안목을 지닌 사람이 내부에 없었다. 설상가상으로 의논하고 개발하며 빠르게 제품을 키울 개발자도 없었다. 나라도 외쳐보자 다짐했지만 메아리만 돌아올 뿐이었다. 비슷한 시기에 출범한 회사들은 이미 유니콘 또는 IPO 기업이 되어 있었다. 왜 이루지 못 했을까. 꼬인 매듭은 풀기 힘들다는 사실을 대학원 시절 경험했기에 빠르게 정리했다. 몸소 부딪혀 가며 경험했고 많은 부분을 깨닫고 나왔다. 그 뿐이었다.
그런 생각을 하며 끓이던 북어국을 마저 휘저었다. 그 순간 연락이 왔다. 전직장이었다. 퇴사절차 가장 끝에 있는 정산 연락이었다. 근로자로서 법적 의무를 다해야 하는 정산을 완료했다. 부가적인 요청이 다시 왔다. 뜬금없이 600을 내라고 이야기 했고 우린 최악의 이별을 맞이했다.
북어국은 맛있었다. 첫 도전인데 꽤나 훌륭했고, 사랑하는 이가 내 제품의 해비 유저가 된 첫 날이었다. 유저를 위해 지난 1 년여간 데이터를 축적해왔다.(365일 * 2.7끼 = 985.5끼. 충분하다.) 데이터를 대충 정리하면 아래와 같다.
미팅 시간 기준으로 업무 시작은 보통 11시이다. 아주 간혹 10시 미팅도 있다.
미팅 시간 기준으로 업무 마감은 보통 6시이다. 아주 간혹 7시에 끝난다.
주로 한식을 좋아한다. 밥에 국이 있는 것을 특히 선호한다.
국은 다양하게 좋아하지만, 된장국을 가장 선호하고, 시원하고 칼칼한 맛을 좋아한다.
아침을 꼭 먹는다. 부스터 같은 역할이다.
과일은 먼저 먹고 싶다 말하지 않는다. 단, 챙겨주면 다 먹는다.
면 종류를 매우 좋아한다. 특히, 라면, 짬뽕, 마라탕 등 얼큰한 면 음식을 선호한다.
등등
유저의 안녕을 위해 후보군 데이터들도 수집했다. 국 종류는 핵심 후보 데이터이고, 간혹 아침에 미팅 준비하며 밥을 먹기에 덮밥과 볶음밥류의 음식 종류를 수집했다.(파워 블로거 여러분 존경합니다.) 그 다음 주방을 분석했다. 아이템 중에 황태와 콩나물이 있었다. 과거에 유저가 직접 구매한 아이템이었다. 그래서 첫 타자가 북어국이었다. 정확히 명칭하면 콩나물 북어국이다. 한 번 끓고 난 뒤 북어국에 청양고추를 넣었다. 화룡점정, 아주 완벽한 마무리였다. 유저 만족도 최상이었다. 별점 5점 만점에 5점.(유저 만족도-식사 중 감탄사 외친 횟수, n그릇 등으로 판단.)
맑은국
콩나물 북어국, 2021-07-09, 5
그렇게 새로운 테이블이 클라우드에 생성되었다.
철저한 데이터 분석이 끝나고 본격 프로덕트 준비에 앞서 파이프라인 로직을 잘 구축해야 한다. 유저 데이터 분석 후 나는 첫 프로덕트 아이템으로 콩나물 북어국을 선택했다. 선택한 후 바로 야채부터 썰기 시작하면 파이프라인이 중간에 꼬여서 불필요한 시간 리소스를 사용하게 된다(예: 불가피한 주방 정리, 설거지, 등등)
나름의 파이프라인을 고안했다.
1.
재료 먹을 양만큼 준비
a.
황태, 콩나물, 무, 대파, 청양고추, 멸치다시마팩
2.
재료 손질
a.
먹기 좋은 크기로 썰기 - 황태
b.
넓직하게 채썰기 - 무
c.
어슷썰기 - 대파 & 청양고추
3.
도구 준비
4.
본격 요리 단계
5.
간 보기(테스트)
a.
IF 부족하다면 → 4번의 00번째 단계로 리턴
b.
IF 완벽하다면 → 청양고추 추가
6.
유저 입으로 배포
6단계로 큼직하게 나누었다. 사이 사이에 치우는 과정도 속해있다. 4번은 과정이 길어 생략한다. 파이프라인 로직을 세우고 그 안에서 단계 별로 진행하니 주방마저 깔끔한 상태로 콩나물 북어국이 완성되었다. 4, 5 번의 반복과 디버깅 없이 운 좋게 한 번에 잘 완성되었지만, 대부분의 경우 4, 5번의 반복과 디버깅 과정이 필요하다. (*아주 간혹 4, 5번을 반복하며 무엇이 부족한지 고민하다 보면, 미처 투입하지 않은 재료의 존재가 나타날 때가 있다.)
역시 어렵다. 회사를 일구는 일도 어렵겠지만 나와 맞는 회사를 찾는 것은 더더 어렵다. 나는 스스로에 대해 충분한 데이터를 확보한 사람이라고 생각했다. 오만이었다. 잘못된 데이터 분석으로, 잘못된 선택을 했고, 디버깅 마저도 잘못했다. 그 결과 최악의 이별을 했다.
요리에는 언제나 대상이 있다. 그 대상은 수많은 아이템과 유저들이다. 개인화 맞춤 요리를 제공하기 위해 유저의 과거 데이터와 평소 행동 로그 데이터를 분석했다. 또한 현재 내가 보유하고 있는 아이템 리스트를 확인했다. 나의 경우 현재 유저가 한 명이라 개인화가 꽤나 쉬웠다. 따라서 고도화는 별도로 요구되지 않았다. 프로덕트가 구체화 되면 개발 로직을 잘 짜야한다. 재료 손질이 먼저일지, 육수가 먼저일지 또는 양념장 제작이 우선일지 등 로직을 세분화해서 잘 짜야 중간에 불필요한 리소스가 낭비되지 않는다. 적어도 내 경우는 그렇다.
회사를 고를 때도 코드를 짤 때도 일련의 로직이 필요하다. 철저한 데이터 분석이 선행되어야 한다. 콩나물 북어국을 끓이며 깨달았다. 확증 편향으로 인해 회사를 잘못 선택했었다. 코딩할 때도 유닛테스트를 통해 구현 중인 로직에 대한 반복적 테스트가 필요하고 디버깅 역시 꼼꼼히 수행해야 한다. 그렇지 않으면 나도 회사도 리소스 낭비와 손실이 커진다. 그 손실은 나에게도 막대한 영향을 끼친다.
끓고 있는 콩나물 북어국을 휘저으며 연락 온 전 직장의 황당한 요구로 갈등하던 찰나 일련의 생각들이 뇌리를 스쳐지나갔다. 역시 콩나물 북어국은 시원하니 맛있다. 이 국을 끓이기로 결정하는 시점에서부터 유저 입으로 배포하기 까지 머릿속에는 수많은 계산들이 빠르게 지나갔다. 국 하나를 끓이는데도 이렇게 복잡한 연산 과정이 필요한데, 하물며 회사를 선택하고 제품을 개발하는 일에 대해서 내가 구태여 설명할 필요가 없을 듯하다.
구태여 설명할 필요 없다지만, 그래도 기나긴 설명 과정 하나 정도 글로 적어놔야 요구사항 전달이 명확해진다.
글또 6기를 시작한다. 기나긴 설명 과정 하나 이상을 기록해보려고 한다. 대략적으로 다음과 같다.
반드시 기록해두면 좋을 내용
회사별 추천 엔진 파헤치기
넷플릭스, 스포티파이 등등
추천시스템 논문 리뷰 및 구현
NLP 논문 구현
정리해볼 만한 내용
데이터 엔지니어링 스터디
6개월 뒤에 좀 더 깊은 맛을 우려내는 콩나물 북어국과 함께 글또 6기를 회고할 수 있길 스스로에게 기대한다.
개인적으로는 반드시 기록해두면 좋을 내용 - 75% 달성 및 정리해볼 만한 내용 - 45% 달성이면 꽤나 성공적인 글또 6기를 보냈다고 말할 수 있을 것 같다.
마지막으로 글을 읽은 누군가들 중에 한 명이라도 시원한 북어국이 생각난다면 이 글은 나름 성공한 셈이다. 야호.
참고로 이 글을 쓴 7월 12일에는 시래기 된장국, 5로 데이터가 새로 추가됐다.