2022년 2월도 벌써 중반을 지나고 있는데 회고를 쓰는 개발자가 있다!?
네.. 그게 접니다.. 늦었지만 빠르게 가볼까요!
회사 업무에 관해
Notification 기능 개발
2021년 연초부터 계획된 대규모 작업이었습니다. 기존 UI와 이질감이 들지 않게 Notification 기능을 개발해야 했거든요. Frontend와 Backend 간의 긴밀한 협업이 필요해서 정규 회의가 아니더라도 수시로 소통하면서 개발을 진행했던 기억이 납니다. 회의 때 나왔던 이야기여도 구현하는 실무자들끼리 의견을 조율해서 선조치하고 후보고하는 형식으로 기민하게 일이 진행되었고 실제로 기능 시연 때도 박수를 받았던 기억이 있습니다. 이 때를 기점으로 회사에서도 어느 정도 인정을 받기 시작했던 것 같아요. 동시에 온갖 이슈가 저에게 토스되어서 넘어오기 시작한 지점이기도 합니다...ㅎㅎㅎ
클라우드 서비스 POC
기존에 설치형으로 운영하던 프로젝트를 Cloud화 해서 서비스하고자 하는 움직임이 있어서 사업성을 제고하기 위해서 POC를 진행하게 되었습니다. 우선은 MSA로 구상을 하게 되었구요, 저는 Frontend와 BFF를 담당하게 되었네요. SvelteKit을 처음으로 이용해본 경험이 되었습니다. 아마 실서비스도 SvelteKit을 이용해서 구축하게 될 것 같아요. SvelteKit을 써본 경험을 조금 공유하자면, 기존에 React를 접해보지 않은 팀원들도 하루 이틀만에 금방 배워서 컴포넌트를 만들 수 있을 정도로 간단합니다. 그리고 빌드 단계에서 Svelte는 사라지므로 패키지 용량이 작아진다는 것도 매력적이라고 생각했습니다. 아직까지 생태계가 그렇게 크지는 않다는 점만 제외하면 향후에 React의 아성을 무너뜨릴 대항마로 활약할 수 있는 라이브러리가 아닐까, 하고 개인적으로 생각하고 있습니다.
이 프로젝트를 진행하면서 처음으로 AWS의 다양한 기능들을 이용해 볼 수 있었던 것 같습니다. SES, Route53, VPC, Load Balancer까지요. 혼자 토이 프로젝트로 진행했다면 비용적인 문제에서도, 규모의 문제에서도 분명히 한계가 있었을 것 같은데 이번 기회에 열심히 공부해서 적용을 해볼 수 있어서 좋았습니다. 조금 아쉬운 점이라면 저도 아직 VPC 등의 네트워크 구성이 서툴러서 자주 삽질을 할 수밖에 없었던 점이라고 생각합니다. 사내에서 특별히 조언을 얻을만 한 인원도 없어서 또 다시 이게 정답인가 아닌가를 고민하면서 진행하느라고 예상 외로 시간이 오래 걸렸던 점이 아쉽습니다.
Unit Test 도입
관련 포스팅에서는 칭찬을 많이 하기는 했지만 사실 저는 Unit Test가 꼭 필요한지에 대해서 의문을 가지고 있는 사람 중에 하나입니다. 역설적으로 그래서 한 번 도입해보자는 생각을 하게 됐어요. 테스트 무용론을 주장하는 사람도 있고, 테스트 예찬론을 주장하는 사람도 있는데, 써보지도 않고 남의 말만 듣고 판단하는 건 싫었기 때문입니다. 결과적으로는 아직까지는 Unit Test의 필요성에 대해서 크게 공감하지는 못하고 있습니다. 무용론까지는 아니지만, 가성비가 너무 안 좋은 것 같다고 할까요? Frontend 개발이라는 것이 결국에는 HTML, CSS, JS가 모두 뭉뚱그려졌을 때 의미있는 테스트가 된다고 생각하는데, 아직까지는 테스트들이 너무 파편화되어 있는 것 같아보입니다. 프론트엔드 테스트의 가장 본질적인 부분은 화면이 깨지지 않고 잘 그려지는가
유저 이벤트로 인한 기능이 잘 동작하는가
라고 생각합니다. 물론 Jest, Testing-library 등의 툴을 통해서 어느 정도 DOM을 기반으로 비지니스 로직 테스팅을 할 수 있다는 점이 좋아보이기는 했어요. 하지만 JSDOM을 통해서는 시각적인 요소를 전혀 확인할 수가 없다는 부분이 찜찜하더라구요. 그러다보니 Cypress를 통해서 E2E 테스트로 진행을 하면 충분하지 않을까 하는 의심이 드는 것도 사실입니다. 컴포넌트 단위의 UI를 확인하려면 Storybook과 storyshot을 사용하면 될 거구요.
개인적인 일에 관해
블로그
원래 블로그에 글을 계속해서 업데이트하려고 노력했지만, 업무에 치이다보니 집에 와서는 누워서 아무 생각도 안하고 잠만 자는 경우가 많았던 것 같습니다. 누군가 꾸준히 읽어주고 피드백주는 사람이 생기면 얼마나 좋을까, 그런 생각을 늘 했던 것 같아요. 아무도 읽지 않을 글을 공 들여 적는다는 것은 생각보다 어려운 일입니다. 언젠가 내가 읽고 스스로에게 도움을 줄 수 있을거라고 생각하면서 정리하지만, 그럴 거라면 노션으로도 사실 충분해요. 누군가가 봐줄 거라는 생각을 가지고, 그걸 보는 사람이 정말 아무 것도 모르는 사람이라는 생각을 가진 채로 글을 적어내려야 지식의 저주(내가 아는 걸 저 사람도 당연히 알겠지라고 믿어버리는 현상)에서 해방될 수 있다고 생각하거든요. 그리고 그렇게 해야만 스스로가 어디까지 정확하게 알고 있고, 모르고 있는 지도 점검해 볼 수 있게 됩니다. 그러다가 메이커준이 진행하는 블랙커피 블로그 스터디를 진행하게 됐고 덕분에 불타올라서 글을 적을 수 있었던 것 같습니다. 누군가가 읽어주고 피드백을 받는다는 생각을 하니까 너무 기대되고 설렜어요.
글쓰기
블로그와는 별도로 운영하고 있는 브런치가 있는데요, 거기는 문과생으로서의 루크가 고스란히 드러나는 장소입니다. 대략 2020년 중순부터 작가로 등록되어서 글을 적어올리고 있는데요, 본래 브런치를 개설하게 된 목적은 내 이름으로 된 책 출판
이었어요. 대학생 때부터 막연하게 가지고 있던 버킷리스트 중에 하나였거든요. 브런치 북 프로젝트를 정기적으로 진행하기 때문에 그에 맞춰서 작품을 내고, 운 좋게 선정이 되어서 출판사와 계약하는 원대한 꿈을 꾸고 있었는데 아직은 좀 먼 이야기일 것 같습니다. 뼈대는 어느 정도 잡았는데 어쩐지 진도가 잘 안나가네요. 블로그도 그렇고 브런치도 그렇고, 역시 글이라는 건 누군가가 지켜봐주고 응원해줄 때 비로소 빛을 발하는 것 같습니다. 악플보다 무플이 무섭다는 옛말도 있듯이요. 저는 칭찬과 응원을 먹고 자라는 사람인 것 같습니다.
빵 테스트
사이드 프로젝트라는 거창한 이름을 붙이기에는 귀여운(?) 자그마한 프로젝트를 진행했었습니다. 거의 10만원 정도의 광고수익을 얻을 수 있었어요. 정말 별 것 아닌 프로젝트지만 이걸로 작게나마 수익을 올리고 하니까 프로젝트에 더 많은 애정이 생겼습니다. 이 프로젝트의 경험을 바탕으로 느끼게 된 건, 아무래도 꾸준히 유저가 인입될만한 컨텐츠가 부족하다는 생각이었어요. MBTI 테스트를 하려고 여러 번 들어오는 경우는 거의 없으니까요. 어느 정도 규모가 있는 프로젝트를 한 번 운영해보고 싶다는 생각을 했습니다. 회사 일만 하다가 오랜만에 개인적인 개발을 하니까, 정말 오랜만에 몰입도가 올라갔습니다. 몸이 아픈 줄도 모르고 집중해서 코딩했던 기억이 있는 소중한 프로젝트였습니다.