24시간이 42번 돌아가는 시간 동안, 프로젝트를 할 때 가장 아쉬었던 점과, 뿌듯했던 점을 적어보려고 합니다.
정교한 로직, 오차가 없는 코드, 그 이면에는 부족할 수 밖에 없는 인간의 생각이 들어있다는 것을 늦게 깨달았을 때 아쉬웠습니다. 어떤 인간도 완벽할 수 없습니다. Redux를 만들고 React 생태계에 많은 공을 기여한 Dan 마저도 Div를 가운데 정렬 하는데 정말 많은 어려움을 겪었습니다. 어쩌면, 불완전한 세상 속에서 완전함을 찾는 것 자체가 모순덩어리지 않을까요? 실전 프로젝트가 중요한 포트폴리오로 남게 되며, 절박함 속에서 찾았던 행위들은 지금 돌아보면 "불가능한 것을 붙잡은 것"처럼 보입니다. 자신이 짠 코드에 대해서 이유를 이야기 하는 것. 그것은 우리의 삶의 이유를 이야기 하는 것과 같이 주관적일 수 밖에 없습니다. 강박스러울정도로 완전함에 찾았던 제 자신이 그야말로 오차임을 알았을 때, 뒤도 돌아 볼 수 있는 여유를 가지면 더욱 좋았을텐데 그 순간 속에서도 붙잡으려고 했던게 많이 아쉽습니다. 이 글을 보고계시는 항해 99 후배님들이 계시다면, 결과보다는 배우는 과정에 집중을 많이 하라고 당부드리고 싶습니다. 어차피, 결과물은 다시 되돌아보면 항상 부족할테니까요. 그리고, 6주간 프로젝트를 해낸 사실에 대해 스스로 자랑스러워하셨으면 좋겠습니다.
정식 릴리즈가 되지 않은, 실험 단계의 라이브러리를 사용한 것은 뿌듯한 것과 동시에 아쉬움이 많이 남습니다. 이번 프로젝트에 저희 팀은 상태관리 라이브러리로 Recoil을 적용했습니다. 현재 개발 진행중이며, 아직 해결못한 리코일의 단점은 특정 상태 API에 대해 가비지 컬렉팅이 되지 않는 점입니다. atomFamily 혹은 selectorFamily로 상태가 메모리에 등록된다면 새로고침과 같은 조치를 취하지 않는 이상 자연스럽게 지워지지는 않습니다. 처음으로 새로운 상태 관리 라이브러리를 사용했다는 점에서는 칭찬하고 싶지만, 프로젝트의 완성도 측면에서 어쩔 수 없는 결함을 만든 것은 많이 아쉽습니다.
멋집니다! 앞으로도 멋진 프론트엔드 개발자로써의 커리어를 응원할게요! :)