작년 이맘때 회고의 글을 읽어봤다.
글 말미에 프론트엔드 개발자로 일해보겠다고 말했는데 이직을 염두해둔 말이었다.

나는 지난 2017년 배민찬이라는 모바일 반찬가게의 프론트엔드 개발을 해왔다. 웹프론트엔드 영역에 본격적으로 뛰어 들어 기술적 역량을 키우고, 푸드 커머스라는 새로운 영역의 멋진 서비스를 만들고 싶었다. 물론 배민처럼 핫하게 말이다.

지난 1년간 하나의 서비스를 만드는데 나는 어떤식으로 일해왔을까 돌아보자.

회사일

“회사일”이라는 단어를 사용하게 다소 어색하다.
회사일이 있으면 개인일이 있다는건데 그런 식으로 경계를 긋고 일해본게 언제인지 모르겠다. 그땐 정말 회사일이 싫었고 내게서 떨쳐내 버리고 싶은 심정이었다. 퇴근 이후에 회사일은 완전히 잊어버리고 내일만 집중했던 시절이 있었다.

개발자로 일하면서 부터는 장소와 시간에 상관없이 업무을 생각했다. 야근을 하고 주말에 일해도 즐거웠다. 노력한 만큼 결과물이 나오는 것 같았고 스스로 성장하는 것이 보였다. 일하는 것 자체가 일종의 “놀이” 같았다. 노는것 처럼 재밌었다.

하지만 언제부터인지 “회사일”이라는 단어를 사용했고 반대로 “개인일”이라는 것도 생겼다. 말 그대로 회사일은 회사에서 하는 일이고 개인일은 블로그, 공부, 강의준비 같은 것들이다.

여하튼 2017년 내게 주어진 회사일은 배민찬을 개발하는 것이다. 배민찬은 모바일 반찬가게다.

배민찬 로고

내가 할 수 있는일

처음 서비스를 접하고 코드를 읽으면서 느낀 첫인상은

“할게 많구나!”

할게 많아서 싫은게 아니라 오히려 좋았다. 기존 제품을 개선하고 사업에 혁신을 만들어 가는것이 스타트업 개발의 보람이라고 생각한다.

내가 할 수 있는 일부터 시작했다.
상품 이미지가 대부분인 사이트에 lazy-loading으로 초기 렌더링 속도를 높였다. 통짜로 개발한 자바스크립트와 스타일시트에 ES6, SASS를 적용해 가독성을 확보하고 유지보수하기 수월하도록 준비했다.아이프레임(iframe)으로 꼬일대로 꼬인 프론트엔드 로직을 AJAX 기반으로 개선해서 리팩토링했다.

하지만 여전히 확장에는 닫혀있고 변경에는 열려있다. 기능하나 추가하려면 동일한 모듈을 복사하다시피 재 작성해야하고, 기존 로직은 쉽게 새로운 로직의 영향을 받아 버그를 만들기 쉬웠다. 한번은 구글 분석기(Google Analytics) 로직만 수정했는데 결제가 안되는 사고도 있었다.

근본적인 개선이 필요하고 웹 서비스를 재구현해야 한다는 말도 나온다.

동의한다.

하지만 서비스에 발담군 이들이 많다. 각자의 입장이 다르고 이해하는 배경지식과 경험도 천차만별이다. 개발해야하는 일만큼 타인을 설득해야하는 비용이 상당하다. 의사결정 할수 있는 시점이 늘어졌다.

솔직히 나는 이런 부분, 남을 설득하고 기술의 적합성을 설명하는 기술이 부족하다. 우리는 스타트업인데 이렇게까지 짚고 가야해? 불평을 하기도 했다.

여하튼 기술적 혁신을 이루는 것은 성공보다는 실패에 가까웠다.

모바일 넘버원

모바일은 지난 회사에서 부터 일했던 부분이다. 요즘 시대에 모바일을 이해하지 못하고 일하는 개발자가 몇이나 될까? 어떤 기술로 어떤 사업을 하던지 간에 모바일은 무시하고 지나칠 수 없는 키워드다.

과거 모바일 저널 서비스를 출시했고, 모바일 서비스 외주 개발도 해봐서 이 분야에 대한 자신감은 있었다.

과연 1년간 내 손을 거쳤던 배민찬이 과연 모바일 넘버원인까? 의문이다.

여전히 모바일에서 사용하는 것은 힘들고 불편하다. 사용하는 유저를 생각하면 가끔은 부끄러워질 때도 있다.

이 작은 손바닥만한 장비를 이용해 제대로 물건을 파고 있는걸까?

반찬가게

반찬 가게, 푸드 커머스라는 도메인은 생소했다.

커머스를 잠깐 접해보긴 했지만, 본격적으로 생산, 주문, 배송을 전담하는 서비스는 처음이다. 상품, 진열, 주문, 클래임 이라는 도메인 이름도 처음에는 생소했다. 다 처음 듣는 용어다. 팀에는 각 분야의 리더급이 있었고 그분들을 통해 쌓은 지식은 가치있는 일이었다.

푸드 커머스

한편 나 스스로 반찬을 사먹는 사람인지 자문해보자. 시장에서 사먹는게 아니라 인터넷으로 주문해서 먹는것 말이다. 누가, 어디서, 어떻게 만드는지도 불확실한 음식을 내 입에 넣기 위해 꽤 비싼 가격을 지불해야한다.

반찬을 사먹는 사람들을 얼마나 이해하고 있을까? 그 사람들이 누구이며, 어떤 음식을, 왜 사먹는지는 고민해 봤을까? 고객을 얼마나 이해하고 서비스를 만들었을까?

짧게는 한달에서 세달까지 진행되는 반복되는 개선 프로젝트를 통해

우리의 고민을 제품에 충분히 담아냈을까?

단지 주문수가 늘었다는 오비이락같은 프로젝트 성과에 만족할수 있을까?

배달의민족은 전단지에서 앱으로 시선을 옮겼놓았다.
배민라이더스는 식당음식을 집에서 먹도록 바꿔놓았다.

우리는 뭘 바꿨을까? 여전히 배민의 후광에 둘러쌓여 있는것 같아 걱정스럽다. 사업적 혁신을 못찾겠다.

블로그

안정적인 회사에 다니면 글을 더 많이 쓸줄 알았다. 마음의 여유를 갖고 정리하는 시간이 많을거라는 생각. 하지만 이번만큼 블로그 활동이 저조한 해가 없었다.

총 31개 포스팅

일하면서 조사하고 적용했던 기술을 정리한 내용이 블로그의 대부분이다.

하지만 이번에 작성한 글들을 보면 스터디 내용이나 강의준비를 위한 글이 대부분이다. 오히려 이런 글보다는 Vue.js, Webpack 처럼 실용적인 글들이 더 인기 있었다.

2017년 인기 글

  1. 과연 Vue.js가 앵귤러나 리엑트보다 좋을까?
  2. Vue.js 살펴보기
  3. 웹팩의 기본 개념
  4. 자스민으로 프론트엔드 테스트 코드 작성하기
  5. 노드 개발자가 IO 작업을 시작하면 무슨일이 일어날까?
  6. Vue 글로벌 컴포넌트 테스트
  7. 프론트엔드 개발을 위한 Gulp
  8. 함수형 프로그래머가 되고 싶다고? 파트6
  9. 자바스크립트 this 바인딩 우선순위
  10. Node.js Stream 당신이 알아야할 모든 것 1편

블로그를 쓰는 것은 상당한 비용을 지불하는 행위다. 자료를 조사하고 실습해보고 정리한 뒤 나름의 결론을 내야한다.

문제는 글의 소재다. 업무와 연관된 내용을 다뤘던 지난해와 다르게, 2017년은 스터디나 강의을 위한 내용을 다뤘다.

에너지가 분산된다.

회사일과 글쓰는 일이 하나의 선으로 이어져야 “시너지”를 일으킬 수 있다.

맥북

강의 또한 에너지를 분산시킨다. 강의 업무와 회사 업무의 공통분모가 매우 적다.

그래서 회사일과 개인일을 별개로 분리해서 생각한다. 항상 바쁜것 같지만 예전보다 성과가 부족한 것도 그 때문인것 같다.

그럼, 2018년에는

진단만 해봤다. 어떻게 올해를 살아야할지 아직 정리하지 못했다. 여전히 회사에서는 회사일을 하고 퇴근하고 나서는 개인일을 하면서 살까? 그러면 내가 행복할까?

스스로 회사일에 제3자처럼 떨어져 있는 기분이다. 강의하는 것도 실무에서 검증하지 않은걸 다루게 된다. 자신감이 떨어진다. 분산된 에너지를 집중하고 멋진 서비스를 만들고 싶다.