menulogo

IT 연합 동아리 DND 8기 활동 후기

@corinthioniaMarch 10, 2023

지원 동기

이전에 활동했던 창업 동아리에서 예상치 못하게 운영진에, 회장까지 해 버리며 정작 나의 개발자 커리어 패스는 어디로 갔는지... 회장 일이 끝날 시점부터 바로 프로젝트를 진행하고 싶어서 이것저것 찾아보다 DND를 알게 되었다.

이전에 학업과 개발 동아리를 병행한 적이 있었는데, 그 당시 너어무 힘들었어서 그 뒤로 학기 중에는 다른 프로젝트를 진행하지 못했다.

그런데 DND는 대학생들의 방학 시즌에 맞추어 진행되기 때문에 온전히 프로젝트에만 집중할 수 있다는 점이 좋았다. 또 현직자들과 함께 프로젝트를 진행할 수 있다는 점이 나에게 매력적으로 다가왔다. 그리고 무엇보다도... 면접 과정이 없다 😂😂 지원서만 잘 쓰면 되겠다는 생각에 큰 부담을 덜고 지원했다.

지원

지원서 문항들이 전체적으로 깔끔 담백했다. 개인적으로 필요한 질문들만 담겨 있다는 생각이 들었다. 한편으로는 면접이 없기 때문에 지원서가 정말정말 중요할 것이라 생각했고, 질문들을 기반으로 며칠에 걸쳐 답변을 구체화했다.

마감 2시간 전부터 생각해 둔 내용을 바탕으로 지원서를 작성했고... 🫠 결국 마감 7분 전에 지원서 제출 성공!

근데 1,012명이나 지원했다고요?

이래가지고 붙을 수는 있을지 걱정이 되기도 했지만, 모든 질문에 대해 구체적이고 진심을 담아 썼기에 이 정도면 합격하지 않을까 내심 기대를 하기도 했다 🙄

합격!

1월 4일이 합격자 발표일이었는데, 1월 3일 오후 11시에 합격 메일을 받았다 😎
7기 아니고 8기 합격자입니다 😁


본격적인 팀 프로젝트 시작

0. 8주 간의 여정

운영진분들이 제공해 주시는 8주간의 가이드라인은 다음과 같다.
가이드라인이긴 하지만 매주 해당 주제에 대해 팀별로 회의를 진행하고 과제를 제출해야 한다. 개인적으로 이렇게 어느 정도의 강제성이 있다는 게 마음에 들었다. 가이드라인이 있어서 짧은 기간 내에 이 정도까지 구현할 수 있었다고 생각해서, 가이드라인이 없었다면 지금보다 훨씬 더 늘어졌을 것 같다.

1주차: 프로젝트 시작

첫 주차는 프로젝트 주제 선정을 진행했다. 우리 팀은 피그잼에서 각자 아이디어를 공유하고, 이를 읽으며 든 의문점을 남기고 그에 대해 대답하는 시간을 가졌다. 그후 팀원들 간 투표를 통해 약속 시간 조율 서비스로 주제가 확정되었다!

나는 이전에 1년 반 동안 창업 동아리에서 활동을 했다 보니 사이드 프로젝트 주제로는 조금 재미있는 주제를 진행하고 싶었다. 아무래도 창업 프로젝트는 비즈니스적인 부분을 고려해야 하다 보니 순수한 관심/재미보다는 수익성에 초점을 맞춘 서비스들을 많이 봐 왔기 때문이었다. 그래서 "재미"에 초점을 맞춘 주제 두 가지를 생각해 갔는데, 그때 '그럼 이 주제는 어떤 문제점을 해결하는 건가요?'라는 질문을 받았다.

개인적으로 DND에서 이루고 싶었던 목표 중 하나가 오래 지속 가능한 서비스 개발이었는데, 이를 위해서는 결국 사용자가 정말 이 서비스를 필요로 하는지를 고려해야 했다. 즉, 아무리 사이드 프로젝트라 하더라도 Problem - Solution 구조를 뗄레야 뗄 수 없다는 것을 다시 한번 깨닫게 되었다 😂

2주차: 사용자 경험 조사

2주차는 필드 리서치와 사용자 모델링, IA 설계까지 일주일만에 끝내는... 지옥의 한 주였다. 우리 팀은 이틀 간 설문조사를 진행한 뒤 다음 이틀 간 인터뷰를 진행하고, 남은 날 동안 IA 설계를 진행했다 😇😇

이 많은 것을 한번에 진행하다 보니 한 번 회의 하는 데 최소 3시간씩 진행했다. 그래도 다들 군말없이 열심히 참여해 주셔서 기획 단계를 탄탄히 다질 수 있었던 것 같다!


이게 모두 2주차 때 나온 결과물... 🫠

3주차: 와이어프레임 + 프로젝트 세팅

사용할 기술 스택과 역할 분배를 진행했다.

DND를 지원했던 이유 중 하나가 현직자분과 협업하며 곁에서 많은 것들을 배워 보고 싶었는데, 공교롭게도 우리 팀의 개발자들은 전부 대학생으로 구성되었다. 그래서 새로운 기술들을 써 보는 것보다는, 차라리 기존에 알고 있던 기술들을 사용하여 기초를 탄탄하게 다지는 프로젝트를 진행하기로 결정했다.

따라서 평소에 자주 쓰고 익숙했던 React를 사용하여 개발하기로 했다. 이 외에도 TypeScript, Recoil, Emotion, Storybook 어느 정도 익숙한 라이브러리들을 사용했다.

4주차: 프로젝트 세팅

사용할 기술 스택이 확정된 후 프로젝트 세팅을 진행했다. 필요한 라이브러리들을 설치하고, husky 및 필요한 부분에 Github action 세팅과 이슈 템플릿, PR 템플릿 등도 추가해 놓았다.

5주차: 회고

여태까지 매주 미션 제출하느라 정신이 없었는데, 5주차는 한 주 쉬어 가는 느낌이었다. 회고를 통해 진행상황을 되돌아보고 앞으로의 방향성도 생각해 볼 수 있었다.

그리고 중간에 모각코도 몇 번 해 주었다. 확실히 다같이 모여서 작업하니까 힘도 나고 열심히 하게 되는 것 같다 💪🏼

6주차: 프로토타입 데모

우리 서비스의 핵심 기능은 '조율 현황' 부분이라 생각하여 최대한 이번주 내에 구현하고 싶었다. 그런데 유난히 그 주에 다른 일들이 많이 생겨서 온전히 개발에만 쏟은 시간은 3일 정도였던 것 같다.

개발하다가 막힌 부분이 있기도 했는데, 그때 백엔드 분들께 api 수정 요청을 드렸고 흔쾌히 요청을 받아 주셔서 해결할 수 있었다 😂 그렇게 우여곡절 끝에 그럴 듯한 프로토타입 화면을 만들 수 있었다.

그렇게 완성한 조율 현황 프로토타입!

이제 와서 하는 말이지만 이때 알게 모르게 스트레스를 많이 받았는지 프로토타입 제출 끝나자마자 갑작스러운 위경련 증상으로 응급실까지 다녀왔다 😇

7주차: 우선 순위 조정

이때 진행상황을 공유하고 남은 일정 동안 무엇을, 언제 진행할지 계획을 세웠다.

위 사진처럼 계획을 세웠지만
모든 게 계획대로 되진 않지 😁

8주차: 최종 발표

최종 발표 전날 DND 측에서 숙소를 제공해 주어 해커톤처럼 밤샘 작업을 진행했다. 중간에 보드게임도 하면서 머리도 식히고 맛있는 것도 많이 먹으면서 재미있게 작업했다! 아래 사진은 다른 팀 두 분도 같이 찍었는데 우연히 모두가 맥북 유저길래 찍어 보았다 ㅎㅎ

DND 활동 기간이 워낙 짧다 보니 모든 기능을 다 구현한 팀이 몇 없다는 운영진분들의 말을 듣고 구현 가능한 부분까지만 열심히 개발했다. (그래도 이때 핵심적인 부분은 거의 다 완성했다!!)

최종 결과 페이지도 구현 완료하고 api 연동, 배포까지 진행했다. 그런데 기능 개발에만 급급해서 버그들도 많고 코드도 엉망이라 추후에 리팩토링도 꼭!! 진행할 예정이다.

최종 발표는 공덕 프론트원에서 진행했다.

우리 팀 발표자료 너무 예쁘고 귀엽다 🥹

발표가 끝난 후 DND 스티커와 뱃지도 받았다!


후기

개인적으로 DND에 들어와서 얻고 싶었던 것은 총 3가지였다.

  1. 현업자와 협업 경험을 통해 코드 스타일, 업무 방식 등을 습득하기
  2. 단기 프로젝트로 끝나는 게 아닌, 오랫동안 지속 가능한 서비스 개발하기
  3. 프론트엔드 개발자로서 유의미한 기능들을 개발해 보기

첫 번째는 팀 빌딩이 생각했던 대로 되지는 않았지만 (현업자와 협업), 기존에 알고 있던 기술들을 다시 한번 활용해 보며 이해도가 깊어진 것 같다는 생각이 들었다. 특히나 State 관리나 컴포넌트 렌더링, DOM 조작 방법, 아키텍처 등에 대해 깊게 고민해 보았던 좋은 경험이었다.

두 번째는 DND 활동 기간 안에 구현하는 게 최종 목표가 아니라, 완성도 높은 프로덕트를 만들고, 실제 사용자를 받아 보고, 최종적으로는 많은 사람들이 일상생활 속에서 자주 사용하는 서비스를 만들어 보고 싶었다. 다행히도 모든 팀원이 DND 활동이 끝나고도 계속해서 서비스를 발전시켜 나가고 싶다는 생각이 있어서 가능할 것처럼 보인다!!

세 번째는 프론트엔드 개발자로서 JavaScript를 이용해 다양한 기능을 구현해 보고 싶었다. 이번 프로젝트에서도 다소 구현이 까다로운 부분이 많았는데, "아 이건 못할 것 같아요 ㅠㅠ"라는 식의 말을 꺼낸 적은 단 한 번도 없었다. 오히려 나에게 주어지는 퀘스트라는 생각으로 개발에 임했고 😂 그렇게 어려워 보이는 부분들을 하나하나 해결해 가며 완성한 순간의 그 희열은 정말로 잊지 못한다.

어쨌든 결과적으로 성공적인 팀 프로젝트 활동이었다는 뜻이다 😁 일정이 촉박하여 기간 안에 모든 기능을 완성하지는 못했지만 앞으로 계속 완성해 나갈 예정이니까!

개발하는 도중에는 개발자 적성에 안 맞는 것 같다는 말을 (장난 삼아) 달고 살지만, 이렇게 보면 개발자가 적성에 맞는 건가 싶기도 하다 😏

마지막으로

최근에 열린 정기회의에 올 출석한 팀원들!

← 이전 글[JS] keydown/keyup에서 한글 입력 시 함수가 두 번 실행되는 경우
다음 글 →모바일 환경에서 애니메이션 사용 시 잔상이 생길 때