[회고] - 2023년 1월 회고


캥스터즈에서 패러다임쉬프트로 이직한지 한달이 넘었고, 이제 부터 매달 회고를 작성해보고자 한다.

첫 회고 이기 때문에 패러다임쉬프트에 처음 이직했을 때의 상황부터 정리해보자

이제 새로운 시작


패러다임 쉬프트에 이직했을때는 막 시드 투자가 끝난 단계였고, 그때 까지 버블이라는 노코드 툴로 웹앱을 만들어서 고객들이 사용하고 있는 단계였다.

처음에는 Flutter로 bubble 웹을 다시 래핑해서 native 카카오톡 로그인 기능을 연동하는것을 첫 목표로 삼았었다. 그러다가 bubble의 성능적인 이슈를 해결하고자 tab별로 화면을 쪼개고 flutter에서는 IndexedStack을 활용하는 구조로 설계하였다.

💡 bubble이 그렇게 느리진 않다. 하지만 우리는 SPA처럼 보여야 했기에 한 페이지에 모든 요소를 넣어서 만들수밖에 없는 구조였고, 그러다보니 수 많은 컴포넌트들의 향연으로 느려질 수 밖에 없는 딜레마였다. (bubble.io는 태생이 앱이 아니라 웹 빌더다)

그렇게 버블의 여러 화면과 Flutter를 엮어가는 과정에서 프랑켄슈타인이 되어가는 것을 느꼈고(내 역량 부족 일수도) 그래서 결국 고민하다가 그냥 다시 React 기반으로 새로 만들기로 결정하였다.

하지만 시간을 많이 쓸 수 없는 단계 였고 (추가로 개발해야하는 피쳐가 대기중이였다) 1주안에 기능을 만들기로 결정하였다 (이때까지는 몰랐다 QA가 이렇게 오래 걸릴지는…)

신규 개발 시작


그렇게 Next.js, TailwindCSS, ReactQuery, Recoil 을 사용해서 개발을 시작하였다. 백엔드는 bubble.io의 DB와 workflow를 사용하기로 하였다.

한주안에 기능만드는 것은 성공하였지만 너무 많은 기능을 한번에 만들어서 배포하려다 보니 전수 QA를 하고 버그를 고치면 다시 전수 QA를 하고를 계속 반복했다 (고통 스러웠다)

게다가 아직 아이템에 대한 완전한 이해가 되지 않은 상태에서 개발을 시작해서 놓친 기능들도 있었다.(레퍼럴 이벤트 페이지 등)

결국 설까지 껴서 3주후에 배포를 하였고, 배포하는 날도 Bubble.io의 디비를 역정규화 해야했기에 밤을 세면서 정리하였다.

💡 Bubble.io는 nosql기반의 데이터베이스이다. bubble.io내부 workflow에서는 관계형처럼 서로가 연결되어있지만 data api로 데이터를 요청하면 데이터 필드가 다 비어서 오는 이슈가 있었다. workflow로 가져오기에는 workflow가 생각보다 많이 느리다는 이슈도 있었다. 해당 이슈를 해결하기 위해 역정규화를 하기로 결정하였고, 새벽에 역정규화를 진행하였다.

웹 개발자의 숙명…


배포 이후에는 Sentry와 mixpanel을 통해 버그를 추적하며 유저들 이슈들을 대응하며 아주 바쁜 주말을 보내게 되었다.

다사다난 했지만 개발적으로 매우 즐거운 한달이였다. 웹 프론트엔드로 전향의 첫 시작을 알리는 이벤트로는 매우 즐거운 경험이였다.

물론 브라우저 이슈들을 대응하며 속으로 욕이 올라왔지만… 웹 프론트엔드 개발자의 숙명임을 받아들이기로 하였다.

💡 대표적으로 ios 키보드 이슈, 카카오 브라우저 이슈, android 사진 crop 이슈 등…

정리


조금 늦은 2월 12일에 회고를 쓰며 지금은 추가적으로 클럽 기능을 만들어서 배포했고, 앞으로도 개발할 기능은 많지만 이제는 슬슬 프로젝트 구조에 대한 질문들이 들기 시작했다.

지금은 속도가 우선이다 보니 달려왔지만 새로 개발자가 들어와 협업을 할 수 있는 구조로써 아토믹 패턴을 사용할지 VAC 패턴 구조를 사용해볼지 고민을 하고 있다. 다음 달에 적용한 내용들을 회고 해보도록 하겠다.

1월 한달은 웹 개발자 첫 시작의 달이였고 2월달은 이제 웹 개발자로써 조금씩 성숙해져가는 달이 되었으면 좋겠다.