카테고리 없음

{10월 첫째주 회고 - 2} 개발공부 자극 | useSWRInfinite | 프로젝트 회고

윤코코 2022. 10. 9. 18:56

이번주는 4일밖에 없어서 더 후다닥 지나가 버렸다.

그리고 개발적으로는 공부를 해야한다는 자극을 많이 받고 조금이나마 실행을 해본 주간이었다.

 

 

📝 순서

1. 드디어 프론트 동료가 생겼다!
2. 개발공부에 대한 자극 (새로운 스터디 2개 시작 예정)
3. useSWRInfinite 적용
4. 노마드코더 개발자 글쓰기 모임 - 첫 그룹 회동
5. 메인개편 프로젝트 회고

 

1. 드디어 프론트 동료가 생겼다!

이번주 화요일부터 우리 회사에 신입 프론트엔드 개발자분이 새로 합류하셨다. 팀장님 외에 프론트엔드 동료가 생기는 건 처음이다. 업무적으로나 개인적인 성장을 하는데 있어서 서로 도움을 줄 수 있지 않을까 해서 너무 기다리고 있었다. 오시면 제안 드리려고 리액트 스터디도 준비하고 있었다. 그래서 다음주부터 같이 리액트 스터디를 시작하기로 했다 (꺄올)

입사 하신 첫날 온보딩은 내가 담당했다. 같은 날 디자인 인턴분도 함께 입사하셔서 같이 안내 드렸다. 계정 초대, 회사/미팅/업무툴 소개 등등 대략적인 안내를 드리고 나니 하루가 끝나있었다. 생각보다 많은 시간이 들어서 정신을 차려보니 5시가 넘어 놀랐던 기억이 난다.

 

2. 개발공부에 대한 자극 (새로운 스터디 2개 시작 예정)

나는 국내 대기업도, 해외 IT 기업도 가보고 싶다. 그래서 아직 안주할때가 아닌데, 편히 즐기는 생활패턴을 버리지 못하고 있었다. 예를 들면, 퇴근하면 쉬고 주말에는 놀러나가는 것 말이다. 일을 하다보면 성장을 할거라고 생각했지만, 그렇게 6개월정도가 지나면서부터 일"만" 해서는 성장하는 속도가 너무 더디다는 것을 느꼈다. 일도 하고, 공부도 해야 한다는 필요성을 느끼고 있는 동시에, 편한 생활 패턴을 버리지 않고 있으니 스스로 스트레스를 받았다.

 

그러나 요즘 주변 개발자분들과 이야기를 나누면서 "개발공부"에 대한 정곡을 여러번 맞았다. 그런데 혼자서는 도통 실행이 되지 않으니 이전에 내가 자주 취하던 방식을 다시 가져오기로 했다. 나와 같은 목적을 가진 사람들이 있는 환경에 나를 가져다 놓는 것이다.

 

다음주부터 개발 스터디 2개를 새로 시작하기로 했다. 하나는 회사 프론트 개발자분과 매주 화/목 저녁 8시부터 10시까지 코딩애플의 리액트 강의를 듣는 것이다. 또 다른 하나는 회사 iOS 개발자분과 매주 수/목 아침 8시부터 10시까지 각자 분야의 개발공부를 하는 것이다. 이 시간에는 러닝리액트 책을 읽으면 어떨까 싶다. 몇 개의 주제를 동시에 조금씩 공부하는 것보다, 기간을 정해놓고 그 기간안에 한가지 주제에 집중해서 이해하려고 한다.

 

3. useSWRInfinite 적용

지금 구현중인 프로젝트에서 무한 스크롤을 사용해야하는 파트가 있었다. 유저가 다른 화면을 봤다가 해당 list 뷰를 다시 보면 1)스크롤 위치는 유지하고, 2)리스트 중 바뀐 데이터를 동기화 해줘야 해서 useSWRInfinite를 사용해보기로 했다. 이전에 사용하던 방식은 리스트의 끝에 다와가면 fetcher를 실행시켜 store에 저장되어있는 기존 리스트에 추가로드된 items를 붙이는 방식이었는데, 이 방식으로는 이미 저장되어있는 기존 리스트는 데이터 revalidate가 안되기 때문이다.

 

이전부터 이런게 있다는 건 알았지만 '새로 배워 사용하기에는 시간이 오래 걸릴것 같으니 일단 원래 쓰던 방식으로 하자!' 했었다. 그런데 막상 해보니 그리 어렵지 않았다. 새로운 것을 배우는데는 오래 걸리고, 어려울 것 같다는 막연한 두려움이 있었는데, 요즘은 그걸 부숴나가는 과정에 있는 것 같다.

 

4. 노마드코더 개발자 글쓰기 모임 - 첫 그룹 회동

노마드코더에서 ding-co님 리드하에 진행되고 있는 개발자 글쓰기 모임에는 서로 리뷰어와 리뷰이가 되어주는 그룹이 있다. 이렇게 만나게 된 것도 인연인데 그룹 멤버분들이랑 인사를 나누고 싶어 온라인 회동을 진행하게 되었다. 닐리님, 경아님, 정민님 그리고 나를 포함한 우리 그룹 전원과 ding-co님까지 5명이서 30분동안 이야기를 나누었다.

 

각자의 짧은 소개와 어떤 공부를 하고 있는지, 개발 글을 쓰는데에는 어려운 점이 없는 지 등에 대해 이야기를 했다. 개인적으로 한창 개발공부에 대한 자극을 받고 있는 기간이어서 다른 분들은 어떤 방식으로 공부를 하고 계시는지 궁금한 점이 많았다. 그래서 30분이 참으로 빨리 갔다.

 

여러 이야기 중에서도 가장 인상이 깊었던 건 ding-co님께서 나와 개발공부를 시작한 기간이 비슷하다는 것이었다. 그런데 블로그와 글쓰기 정모에서 보면 개발 지식의 깊이가 나와 달라서 나보다 경력이 오래되신 분인줄 알았기 때문이다. 그래서 여기서 또 한번 뼈를 맞았다... 내가 대학생일땐 이런 말이 있었다. 정신차려 나레기!🚨

 

5. 메인개편 프로젝트 회고

일주의 마지막, 금요일에는 메인개편 프로젝트에 대한 회고시간이 있었다. 우리 서비스의 메인화면을 개편하는 프로젝트였고, 나는 어드민 파트를 담당했다. 어드민 라이브가 된지는 한달정도가 지났지만 iOS 배포가 아직 되지 않아서 이제서야 회고를 하게 되었다.

 

개인적으로는 1) 앞으로 앱 메인을 관리할 수 있는 어드민을 만드는 작업이어서 규모와 중요도가 컸고, 2) realtimeDB가 사용된 프로젝트고, 프론트에서 데이터를 잘 관리해야 했기 때문에 라이브 되었을때 참 뿌듯했던 프로젝트였다.

 

하지만 이번 프로젝트에서 내가 PM님에게 스스로 고지했던 데드라인을 한참 넘겨서야 개발을 마무리할 수 있었는데, 이로 인해 배운 점은 세가지로 요약할 수 있었다.

 

1) 외부 api으로 인한 정책 조사가 필요한 경우, 개발 시작단계에서부터 미리 조사를 시작하자

   - 개발을 해야될때가 되어서야 조사를 하려고 하니 데드라인으로 인해 마음은 조급하고, 조사를 위한 시간도 충분하지 않았다.

2) 기획의 단위가 너무 클 경우, 쪼개서 보는 시각 기르자

   - 큰 사이즈의 기획을 한번에 개발하다보면, 앱의 라이브사이클이 길어지면서 기획적으로나 개발적으로 피드백을 주고 받기 어렵다. 기획을 공유 받는 킥오프 회의에서도 기획자와 소통할 수 있어야 하고, 개발을 하면서도 코드리뷰 단위를 쪼개야 한다.

3) 기능개발과 리팩토링의 경계를 구분짓자

   - 마지막에 리팩토링을 하면 또 버그가 발생할 수 있다는 생각에 한번에 QA를 넘기려고 했는데 오판이었다. 기능 개발이 완료되면 그건 그거대로 QA하고, 리팩토링에 대한건 또 그거대로 QA를 받는게 맞다. 기능 개발에 대한 QA 만으로도 내가 보지 못한 수정사항을 발견할 수 있는데, 리팩토링이 완료될때까지 그 문제를 모르고 있으면 서비스 라이브 기간이 점점 딜레이 될 수 있다.

 

지금 하고 있는 다른 프로젝트에서는 2번을 바로 적용해서 하나의 기획이지만 그게 2개의 화면을 개발해야해서, 개발을 화면별로 한번 쪼개고 그 안에서도 UI와 데이터로 개발을 구분해서 PR을 생성하고 있다.

 

 

 

이렇게 또 일주일이 끝났다.

열심히 살았지만, 다음주에는 더 열심히 살 예정이다.

다음주에 새롭게 시작하는 스터디는 또 어떤 결과를 얻을 수 있을지 기대가 된다.