1. 샵꾸 배포
작년 10월 말, 식스샵으로 이직했다. 기존에 해왔던 커머스 도메인에 에디터까지 할 수 있을 거라 생각해 기대됐다. 새롭게 진행하는 프로젝트인 모바일브랜드샵(이하 모브샵, 출시명은 샵꾸)을 맡게 되었고, 다른 프론트 개발자 분과 둘이서 프론트를 맡아 진행했다.
샵꾸는 모바일에서 웹빌딩을 할 수 있는 서비스로, 블록을 조합하고 주어진 템플릿의 세부 디자인을 변경하는 것이 주요 기능이다.
1) 프론트 개발자로의 첫 프로젝트
개발자로 취직 후 장고로 프론트, 백을 해오면서 리액트를 잊고 있었기에 초반에는 다시 리액트를 익히는 데 초점을 맞췄다. 작은 컴포넌트부터 하나씩 만들면서 동료 개발자와 컨벤션을 확립하고 서로가 이해할 수 있는 코드를 작성하는 데 신경을 많이 썼다. 동료와 진행하는 프론트 코드리뷰는 처음이라 리뷰에도 신경을 많이 썼다.
물론 코멘트 10개 미만도 많았다. 초반이라 컨벤션 등 맞출 것이 많아 리뷰가 특히 활발했던 시절.
2) 시간 관리와 작업 상황 공유
주요 컴포넌트들을 만들고 인증, 상태관리 등의 기본적인 틀이 갖춰질 무렵부터 출시 시점에 대한 압박감이 있었는데, 내가 합류하기 전부터 이미 잡혀있던 스케줄과 정리되지 않은 기획 범위 때문에 2월부터 출시 범위를 다시 조정했다.
그 전까지는 대부분 혼자 작업해오다보니 작업 진행상황을 틈틈히 공유하고, 예상 일정을 산정하는 것이 익숙하지 않았다. 그래서 의식적으로 구조설계서를 작성하거나 예상 일정을 미리 도출해서 공유하려 노력했고, 타임박싱을 하는 등 시간 관리에 관심을 갖게 되었다.
사진은 1월 마지막주. 이 때 스케줄 관리를 타임박싱으로 처음 하기 시작해서 지금도 꾸준히 잘 사용하고 있다.
3) UT 진행
4월과 6월에는 두 번에 걸쳐 UT(Usability Test, 사용성 테스트)를 진행했다. 내가 만든 서비스를 실제 사용자가 어떻게 다루는지 직접 보고, 그들의 이야기를 듣는 과정이었다. 처음 경험해봤는데 그 분들이 예상했던 문제점을 짚어주는 것도, 생각지 못한 부분을 긁어주는 것도 제품의 방향성에 많은 도움이 되었다.
UT를 통해 기본적인 개념과 와이어프레임이 수정되기도 했으니, 초기에 더 잘 기획했다면 시간을 아낄 수 있지 않았을까 하는 아쉬움도 들고, 지금이라도 더 나은 제품을 만들 수 있어 다행이라는 생각도 든다.
UT 진행 중. 참가자 옆 방에서 화면을 통해 실시간으로 지켜보며 인사이트를 얻었다.
4) 테스트
출시 직전, 프로젝트 전 범위에 걸친 테스트를 진행하면서 버그 처리에 애를 먹기도 했다. 그동안 개발하면서 개발자나 디자이너 선에서 적당히 확인하고 넘어갔기에 마지막에 테스트 해야 할 분량도 많고 고칠 부분도 많았다. 프로젝트 초반부터 스프린트 단위나 기능 단위로 끊어 테스트를 진행했으면 좋았겠다는 생각이 들었다.
5) 출시 후
그리고 8월, 작업에 합류한 지 10개월 만에 샵꾸가 릴리즈되었다. 중간에 셀러리의 하위 기능으로 편입되면서 변경된 부분도 있었고, 새로 고려해야 할 부분도 있어 목표보다 더 늦어지기는 했지만 충분히 테스트 후 배포할 수 있었다. 예상보다 더 사용자들이 어려움 없이 멋진 사이트를 만들어주어 보는 재미가 쏠쏠하다.
디자인도, 판매상품도 다양한 셀러리 고객사들
개인적으로는 출시 직전 미리보기와 에디터 영역이 급하게 통합되면서 에디터쪽 코드의 성능을 신경쓰지 못 한 점이 마음의 짐처럼 남는다.
2. 셀러리셀 이동
셀러리는 모바일에서 간편하게 주문 링크를 생성해주는 서비스인데 6월쯤 출시가 되었다. 샵꾸가 셀러리의 하위 기능으로 편입되면서 샵꾸 릴리즈와 함께 자연스럽게 셀러리셀로 이동했다.
1) 새로운 멤버, 새로운 협업 방식
셀이 바뀌면서 같이 작업하는 멤버들이 바뀌었다. 새로운 PM, 새로운 디자이너, 새로운 백엔드 개발자, 새로운 프론트 개발자. 기존에 셀러리셀에서 해왔던 방식과 상점제작셀에서 해오던 방식을 공유하고, 셀러리셀의 일하는 방식을 배웠다. 예를 들면 지라 사용법이나 스프린트 플래닝, 일정 산정 방식 등.
기존 셀에서는 기획에 대한 문서가 명확하게 정리되어있지 않아, 피그마를 최대한 참고하며 구조설계서를 따로 작성하곤 했는데 세부 구현 방향이나 일정 면에서 모든 멤버가 같이 볼 수 있는 자료가 없는 점이 아쉬웠다.
셀러리셀에서는 지라에 업무별 스토리와 세부 정의를 해놓고, 예상 일정까지 같이 의논한 뒤 작업에 들어간다. 해야할 일을 명확히 정리해두고 들어가니 의사소통 및 진행상황 공유가 한결 수월했다.
2) 새로운 스택 도입과 리팩토링
일정에 맞춰 출시를 하고 우선적으로 필요한 기능들을 붙여가면서 더 나은 작업 효율성을 위해 새로운 스택을 도입했다.
우선 redux-saga를 react-query로 바꿨다. react-query를 사용하면 기존보다 코드량을 줄이고 데이터 상태에 선언적으로 접근할 수 있다는 장점이 있다. 다만 이 과정에서 약간의 의견 충돌이 있었는데, 나는 점진적으로 개선해나가자는 의견이었고 동료 개발자분은 기왕 바꾸는 김에 한 번에 다 바꾸자는 의견이었다. 각자가 그렇게 생각한 이유를 충분히 나누지 않아 오해를 한 부분이 있었다는걸 나중에 대화하면서 알게 되었고, 이 때를 계기로 커뮤니케이션의 중요성을 더더욱 많이 느꼈다.
이후에도 일부 글로벌 상태를 zustand로 관리하고, 구조를 모노레포로 변경하는 등 해본 적 없는 시도들을 하면서 많은 것들을 배웠다.
특히 새로운 스택에 보수적으로 접근하는 편인 나는 그렇지 않은 동료 개발자분께 일단 한 번 해보지 뭐, 같은 담대한(?) 마음을 배웠다. 이전에는 experimental 단계의 기능을 프로덕션에 적용하면 위험하다는 게 기본 입장이었다면 이제는 지금의 팀과 서비스 규모에서 안 써보면 언제 써봐? 정도로 마음이 열렸다.
3) 마케팅과 비즈니스에도 관심을
셀러리 첫 릴리즈 후 가장 큰 목표는 카드 결제 배포였다. 카드 결제만 붙이면 공식으로 릴리즈도 하고, 광고도 제대로 돌리고, 그러면 사람들도 많이 유입되어 결제량도 늘어나는 등, 고민하던 많은 것들이 해결될 거라 생각했다.
그런데 카드결제를 배포했는데도 사용자가 늘지 않았다. 새로운 기능이 사용자를 끌어들이는 전부가 아니라는 것을 알게 되었다. 셀원들과 같이 우리가 만든 걸 어떻게 알릴지, 누구에게 알릴지를 고민했다. 10월부터는 개발과 병행해서 인스타그램 관리도 시작했다.
셀러리가 어떤 서비스인지, 어떻게 사용하면 되는지, 세련되지는 않지만 지금 당장 할 수 있는 방법으로 컨텐츠를 만들었고, 직접 인스타그램이나 블로그 등으로 판매 중인 사람들에게 DM을 보냈다. 그렇게 직접 두들겨보니 우리 서비스에 관심을 가지는 분들이 생겼고, 판매자가 생기니 주문이 생겼다.
변화가 없던 밋밋한 대시보드에서 조금씩 지표가 올라가며 기능에 대한 문의도 하나둘씩 늘었고, 우선순위에 따라 후속 기능(배송비 설정, 구매수량 설정, 주문 시 안내사항 등)을 배포했다.
작은 조직이어서 가능한 일이었겠지만, 직군 상관 없이 내가 만든 서비스에 관심을 가지고 어떻게 해야 잘 될지 고민하면서 서비스의 부족한 점과 필요한 점을 더 객관적으로 보게 되었다.
4) 셀러리 종료 논의
이렇게 손발 맞춰 재밌게 기능을 붙여가던 어느 날, 서비스 종료에 대한 이야기가 나왔다. 전사적으로 중요하게 생각하는 방향과 목표에 리소스를 집중하고 싶다는 회사의 의견이 있었다. 갑작스러웠지만 셀에서 그동안 해왔던 것들, 그걸 통해 알게된 것들, 앞으로 하려던 것들을 정리해보면서 맞는 방향이 무엇일지 고민했다. 그리고 아쉽지만 셀러리를 종료하기로 결정을 내렸다.
종료는 22년 3월로 정해졌다. 처음부터 만들어서 조금씩 키워온 서비스라 정이 많이 들었는데, 마무리도 잘 해야겠다.
3. 면접 참여
올해는 기술 면접에도 많이 참여했다. 처음에는 부담스럽기도 했지만, 같이 일하고 싶은 사람을 찾는다는 마음으로 들어가니 조금 마음이 편해졌다. 설명이 유창하고 능숙해도 그다지 같이 일하고 싶지 않았던 사람도 있고, 대답을 조금 못하더라도 같이 일하고 싶은 사람이 있었다.
면접을 위해 질문을 준비하고 다양한 대답들을 들으면서 나라면 어떻게 대답했을지 상상하며 나 자신을 되돌아볼 수 있는 시간이었다.
4. 기타
1) 스터디와 활동들
올해 한 게 없는 것 같으면서도 하나하나 되돌아보니 이런저런 활동들을 많이 했다.
우선 부트캠프 코드리뷰와 멘토링. 개발공부를 시작하신 분들이 부트캠프에서 내준 과제를 수행하는 동안 궁금증을 해소해주거나, 제출한 과제의 코드리뷰를 해주는 역할이었다.
코드리뷰는 사소하게는 컨벤션이나 변수명에 대한 조언부터 구조에 대한 설명까지 꼼꼼히 봐드리려고 노력하다보니 항상 주말이 통째로 날라가기 일쑤여서 오래 하지는 못했다. 리뷰 달아드린 것에 학생분들이 다시 또 꼬박꼬박 감사하다고 리뷰를 달아주셔서 힘들어도 뿌듯했다.
멘토링은 두 기수를 진행했는데, 오랜만인 주제들은 미리 과제도 풀어봐야하고 오프라인으로 주중에 진행하다보니 한창 모브샵 업무가 바쁠 때는 양쪽으로 정신이 없었다. 학생 별로 질문 했던 내용이나 이해도를 개인적으로 기록해두었다가 끝날 때쯤 피드백을 드리고 싶었는데, 코로나로 인해 마지막이 흐지부지 끝나게 되어서 조금 아쉽다.
멘토링 기간 동안 평소에 알고 있는 것을 남에게 설명하려니 정리가 잘 안되서 당황스러운 경험을 많이 했다. 그렇게 당황하면서도 한 번 더 찾아보고 다시 또 설명하면서 내 스스로 정리된 것이 많은 시기이기도 하다.
그리고 각종(?) 스터디들. 초반에 바쁜 스케줄로 자진하차한 SQL 스터디, 비밀 프로젝트를 진행했던 svelte 스터디, 바닐라 JS의 중요성을 많이 느끼게 해줬던 cypress 스터디, 그리고 지금까지 진행 중인 타입스크립트 스터디까지 다양한 스터디에 참여했다.
지금 돌아보면 뭐 하나 마무리를 제대로 못 지은 듯한 느낌이 조금 들어 민망하기도 한데, 회사에 열정적인 분들이 많아 자극받을 수 있는 환경이 너무 감사하다.
2) 새로운 작업공간
10월에 새 집으로 이사를 했다. 이사를 하면서 가장 원했던 것은 언제든 바로 작업에 몰입할 수 있는 환경이었다.
이전 집에서는 작업 공간이 마땅치 않아 식탁에서 노트북을 펴놓고 작업했었다. 의자도 불편하고, 매번 모니터 설치하기도 불편하다는 핑계로 개인적인 공부를 많이 못 했던 것 같다.
그래서 이번에는 작업 공간에 중점을 두어 배치를 했다.
새로 책상도 사고 모니터도 추가로 샀다. 독서대도 사고 M1 프로 맥북도 샀다(!) 허먼 밀러 의자도 샀다(!!)
모든 것을 질렀으니 이제 재택을 해도 걱정이 없다. 개인적으로 바쁜 일들도 다 끝났다. 공부만 열심히 하면 된다.
5. 내년 목표
1) 개발 공부 꾸준히 하기
이건 365일 하는 생각인 것 같긴 한데, 그동안 의욕만큼 실천을 못 해서 항상 부끄러운..그런 목표다.
올해는 CS처럼 밑바탕이 되는 과목들과 빠른 주기로 접해야 하는 것들을 적절히 섞어서 한 쪽에 치우지지 않게 공부하려고 한다.
자료구조나 디자인 패턴, 네트워크 등은 필요성을 느끼면서도 당장 직접적인 실력 향상과 거리가 있다보니 우선순위에 곧잘 뒤로 밀렸다. 그렇다고 이것에만 집중하기엔 빠르게 지나가는 트렌드와 새롭게 나오는 기술들도 알아야하니, 주제 별로 잘 배분을 해봐야겠다. 특히, 인프라 쪽도 올해는 꼭 깊게 공부해보고 싶다.
2) 공부한 것, 경험한 것을 밖으로 꺼내는 연습하기
개발 공부를 시작한 뒤로 계속 해야지, 해야지, 하면서 제대로 못 하고 있는 게 블로그다. 항상 내가 보기 편한 정도로만 적어두는 것에 익숙하다보니, 보기 좋게 글을 다듬는 것이 항상 어렵게 느껴졌다. 매번 새해 목표로 잡아두기만 하고 한두편 꾸역꾸역 쓰다말다 해왔다.
하반기에 셀러리에서 react-query를 도입한 것, 상태관리 라이브러리를 변경한 것, SSR을 도입한 것 모두 새로운 배움이자 경험이었는데, 기록 없이 지나가는 것이 아깝다는 생각이 들었다. 그래서 하나 작성해본 것이 react-snap 도입과 관련한 글. 시간이 많이 걸리긴 했지만 정리해놓으니 내가 보기에도 좋고, 다른 사람들에게도 도움을 줄 수 있겠다는 생각이 들었다.
글을 ‘잘' 써야한다는 강박에 시작을 겁낸 부분도 있었던 것 같아서 마음을 조금 가볍게 먹고 한 달에 적어도 한 편은 써봐야겠다.
3) 운동 꾸준히 하기
하루종일 앉아있는 시간이 많다보니 몸은 뻣뻣해지고, 체력도 예전에 비해 많이 떨어졌다. 올해도 러닝, 수영, 헬스를 하긴 했지만 꾸준히는 못 했다. 10월부터 PT를 시작하면서 근력도 체력도 조금씩 붙고 있어서 내년에는 헬스와 러닝을 꾸준히 해보려고 한다.
4) 시간 관리 신경 쓰기
위 1, 2, 3번을 해내려면 결국 효율적인 시간 관리가 필요하다. 하고 싶은 것을 다 할 만큼 하루가 넉넉하지 않기 때문에, 집중할 때는 집중하고 쉴 때는 충분히 쉬면서 무리하지 않는 페이스로 꾸준히 걸어보는 것이 올해 가장 중요한 목표!
시간이 하루하루 지날 때는 굉장히 빠른 것 같지만, 연말에 돌아보면 정말 많은 일들이 있었다. 올해 아쉬웠던 부분들을 내년에 더 노력해서 알찬 한 해를 만들어봐야겠다.