넥스터즈 22기 활동이 끝났다. ‘출출’ 팀에서 넥스터즈 운영진을 위한 어드민 서비스 위클리를 만들었다. 많이 부족했지만 팀원들의 배려 덕분에 한 기수를 즐겁게 마쳤던 것 같다. 8주 동안 넥스터즈에서 어떤 활동을 하는지, 프로젝트를 어떻게 했는지에 대한 후기이다.
매주 토요일마다 정기 세션이 있다. 매주 위치가 정해져 있지는 않고, 대관이 되는 곳으로 정해지는 것 같음. 세운상가 세운홀, 역삼역 마루180 등 스타트업 창업과 관련된 장소를 주로 이용했다.

매주 세션은 이 순서대로 진행된다. 1주차 활동이 시작하기 전에 미리 아이디어 발제와 투표를 하는 시간이 주어진다. ‘모임모임’ 이라는 서비스를 이용한다. 몇 기수 전에 넥스터즈 안에서 개발한 프로젝트를 실제로 사용하고 있는 것. 발제자가 자신의 기획을 작성해서 올린 후에 익명으로 원하는 서비스 3개의 투표를 한다. 넥스터즈 안에 다양한 파트가 있기 때문에, 내가 참가할 수 있는 (웹 프론트를 필요로 하는) 기획 위주로 투표를 했던 것 같다. 투표가 마감되면 선정된 10개의 아이디어가 발표된다.
1주차에 바로 팀빌딩이 진행된다. 발제자(PM)들이 준비해온 발표를 모두 마치면 1지망부터 3지망까지 선택해 폼을 제출한다. 사람이 많고 시간도 없어서 회원들마다 하나씩 살펴보는건 아닌것 같고… 지망 순으로 가져가는 것 같다. 자세한건 모름. ‘모임모임’ 서비스를 여러 기수동안 실제로 사용해온 것을 보고, 넥스터즈 출석 어드민 서비스 또한 동아리 안에서 실제 유저가 사용할 수 있는 프로젝트라 생각했다. 높은 순위로 지망에 넣었다. 그리고 두달 동안 ‘출출’ 팀에서 프로젝트를 하게 되었다!
5주차 UT는 디자이너들이 만든 프로토타입을 시연해보면서 사용성을 테스트하고 피드백하는 시간이다. 피그마 프로토타입을 이용하거나 메이즈라는 서비스를 이용한다.
7주차 컨퍼런스 데이에는 넥스터즈에서 활동하는 회원들이 직접 준비한 세션을 들을 수 있었다. ZEP이라는 메타버스 플랫폼에서 진행되었다. 게더가 이제 몇십명 이상 쓰려면 꽤 비싼 돈을 줘야 하는거로 기억… 주니어를 위한 ‘오픈소스에 기여하는 법’, Supabase 소개, 이직썰 등의 발표가 있었다. 직접 실무에서 일하는 개발자들의 경험과 지식을 공유받을 수 있다는 점이 너무 좋았다. 나도 몇년 뒤엔 실력있는 넥스터즈 OB가 되어 컨퍼런스를 준비하겠다는 다짐을 하면서.
8주차 넥나잇은 원래 밤을 새며, 최종 발표 1주일전 남은 개발을 달리는 날이다. 이번엔 여러 상황이 겹쳐 나잇까진 아니고 ‘넥버닝’으로 진행되었다. 동아리에서 제공해준 피자 냠냠하면서 개발 낭낭하다가 저녁 느즈막히 집에 왔다.
프로젝트와 팀에 대한 이야기. 현재 넥스터즈의 세션 출석체크는 운영진들이 직접 수기로 하고 있다. 세션 장소에 오면 이름표를 나눠주고 엑셀에 체크한다. 출석 시간이 지났을때 남은 이름표와 체크한 엑셀을 대조해보면서 출석체크를 하는 것. 문 앞에 운영진이 항상 상주해있어야 하고, 사람이 많이 모이면 운영진 테이블 앞에 병목현상이 자주 일어나는 문제가 있었다.

이 문제를 해결하기 위해 넥스터즈 출석체크 웹으로 출발한 것. 거기서 조금씩 살을 더해 전체 회원과 활동점수 관리, 세션 관리 등의 기능으로 기획이 완성되었다. 맨 앞 스크린에 띄워진 1분마다 새로 바뀌는 QR코드를 이용해 각자 출석체크를 빠르게 하면서도 어뷰징을 방지할 수 있다.
매 주차가 진행될때마다 화면에 저기 초록색 귀요미가 하나씩 늘어난다. 마지막 8주차 세션 출첵 화면에는 네잎클로버 모양의 귀요미가 두마리 보여지는 것. 디자이너들은 어떻게 저런걸 빠른 시간 안에 뽑아내는지. 볼때마다 신기하다.
운이 좋게도 좋은 팀원들과 함께 하게 되었다. 디자이너와 프론트 개발자는 모두 현직자였다. 백엔드 팀원들도 현직자 한분과 우테코 세분으로 이루어져 있었다. 정말 좋은 기회였다. 특히 같은 프론트 팀원분들이 많은 도움이 되었다. 내 피알에만 리뷰 수십개씩 달리면서 봐주시기도 하고.. 모르는게 있을 때 물어보면 알려주기도 했다. 그만큼 더 열심히 하게 되는 것 같기도.
뒷풀이도 지금까지 했던 동아리들과는 느낌이 전혀 달랐다. 대부분 현직자다 보니 회사 이야기, 이직 이야기를 많이 한다. 처음에는 적응이 잘 안됐지만 몇번 듣다보니 점점 재밌게 들렸다. 항상 마지막은 속으로 쉬는 한숨으로 끝난다. 1년만 일찍 태어날걸!
넥스터즈에서 개발을 하면서 느꼈던 점을 생각해본다.
코드를 짜는 시간보다 키보드에 손 떼고 구조에 대해서 고민하는 시간이 더 길다. 넥버닝때 PM겸 프론트 형이 머리를 감싸안고 꽤 오랫동안 미동도 안하고 있었다. 옆에서 뭐하냐고 물어보니 어떻게 하면 토큰 관리를 기가막히게 할 수 있을가 고민하고 있다더라. 물론 나도 고민을 안하는 건 아니지만. 짜면서 고민하는 것보다 어느정도 두 과정을 분리하는게 길게 개발하는데 더 좋은 방법인 것 같다. 오늘 소프트웨어 공학 1주차 수업에도 지나가면서 나왔던 내용과 어느정도 일치한다.
타입을 쓰는데서 실력의 편차가 크게 나타난다. 컴포넌트 prop의 타입들에 특히 신경을 많이 쓰는 것 같음. 컴포넌트 내부의 타입과 외부에서 그 컴포넌트를 사용할때 보여지는 타입을 사용하는 방식이 다르기 때문에. 이 외에도 유틸리티 타입과 리액트 내장타입을 활용하는 방식을 많이 배웠다. 실제로 써보거나 양질의 다른 코드를 보지 않으면 쉽게 알 수 없는 정보였다.
아직 Next에 대한 이해가 부족하다. 두둥을 개발하면서 어느정도 익숙해졌다고 생각 했는데, 아직 한참이다. 프로젝트를 하며 의문이 생기는 지점이 종종 생긴다. 서버 사이드에서 리액트 쿼리의 prefetchQuery를 사용하거나, 인증정보를 관리하는 방법. 그 외에 문서에서 한번 읽고 넘어갔지만 사용해본 적 없던 유용한 기능들. 이런 것들을 새로 배울 수 있었다.
프로젝트를 많이 하고 경험이 쌓이다보면 자연스레 다양한 나만의 패턴이 생기는 것 같다. 글을 쓸 때 자주 쓰는 말투와 어휘, 문장이 있듯이. 겉으로 보기엔 똑같이 작동하더라도 코드는 수많은 방식으로 짜여질 수 있다. 프론트엔드 공부는 그중에서 더 나은 방법을 계속 찾아 나가는 과정인 것 같다. 그러니까 다른 사람들의 코드를 보는 것이 중요하다. 활동이 끝나고 나면 다른 프로젝트의 코드들도 천천히 읽어보고, 다음 프로젝트에 적용도 해보는 시간을 가져봐야겠다. 모든 것이 경험.

글을 마무리하며. 항상 새로운 사람들을 만나는 자리는 긴장으로 시작한다. 그래도 매번 좋은 사람들이어서 감사. 개발을 하면서 자존감이 종종 내려가려고 할때가 많은데, 그 때마다 간신히 붙잡아주는 한두마디가 툭툭 들려온다. 여기든 저기든. 개발을 하는것도 일을 하는것도 언제나 코드보다 사람이 먼저라는 생각을 하면서!!
개발자로서도, 사람으로서도 쪼오오금은 성장했다고 느끼는 뿌듯한 겨울방학이었다.