ETC

DND 9기 회고

onddd 2023. 11. 23. 19:57
728x90

 

https://velog.velcdn.com/images/ondj/post/baaf5914-d583-4764-9561-5b0fa213eaab/image.png)

[프로젝트에 즐거움을 모두에게 기회를 : DND](https://www.dnd.ac/)


# 지원 배경

개발자가 되기로 마음먹고 잘 다니던 직장을 퇴사하며 다짐했던 내 목표는 잘하는 개발자도 아니고 좋은 개발자도 아니었다.

내 손으로 유의미한 무언가를 만드는 게 좋았고, 그 과정 자체에서 재미를 느꼈다.
사람마다 성장을 위한 동력이 나뉘어있다면 나는 즐거움과 새로움으로 움직이는 사람이었고, 개발이라는 키워드는 이 두 가지를 모두 충족함과 더불어 미지근한 일상을 도전과 오기로 채워주는 장작이 되어주었다.

나는_ 멋쟁이 사자처럼_ 이 주관한 `광주 인공지능사관학교 2기`를 통해 프로그래밍에 처음 입문했고 

180여 명에 달하는 수강생들이 보여주는 열정에 자극받아 그때부터 좋은 개발자가 무엇인지에 대해 고민하며 

부족한 내 모습에 실망했었다. 어느 순간 정신 차려보니 공부를 위한 공부를 하는 나를 발견하게되었고, 당연한 결과로 목표가 없는 공부는 나를 지루한 일상으로 인도했고 효율은 떨어졌다.

물론 비전공자인 내가 실무에서의 의미를 떠나 자격증을 취득하며 기반을 쌓은 시간과 프레임워크, 언어, CS를 공부한 시간 자체가 의미가 없었던 건 아니지만, 그 시간 자체를 온전히 내 것으로 하지 못했다는 생각이 들어 아쉬울 뿐이다.

이런 배경들이 쌓이고 쌓여 방향성에 대한 고민이 들 때쯤 발견한 게 `IT 동아리 DND`였고 나에게 탈출구가 되어주길 희망하며 9기에 지원하게 됐다.

간절한 마음으로 지원했지만 지난 기수들의 프로젝트 결과나 후기를 살펴보며 나만큼 간절하면서 나보다 더 열심히 매진한 분들이 많다는 사실에 떨어지더라도 덤덤히 받아들여야겠다고 생각하기도 했다.

결과는 운이 좋았는지 아니면 내가 쓴 자소서에 간절함이 느껴졌는지 새롭게 도전할 기회가 주어졌다.




# 어떻게 활동하나?

이번에 무사히 종료된 9기는 약 500명 정도의 지원자를 통해 60명 6명씩 총 10개 조로 구성되었고 디자인, 프론트, 백엔드 각각 2명씩 짝지어 조를 결성하고 8주간 프로젝트를 진행했다.

8주의 시간이 길다고 생각할 수 있지만 그중 4주는 기획 단계로 팀원 모두 함께 매주 주어지는 임무를 수행하며 개발하게 될 프로젝트의 주제를 잡게 된다.

개발자를 지망하는 사람에겐 다소 생소하고 흥미에 맞지 않을지도 모르지만 하나의 애플리케이션을 개발하기 위해 어떤 단계들을 거쳐 프로젝트 방향을 잡는지 알 수 있는 시간이고 운영진들이 준비한 레퍼런스를 참고하면 앞으로 어디서 어떤 프로젝트를 하게 되든 팀원들과 원활하게 소통할 수 있는 기반을 다질 수 있기 때문에 좋은 의견을 내지 못하더라도 다른 사람들이 어떤 생각을 하고 있는지, 어떤 방식으로 대화하는지 귀를 열고 듣는 것을 추천한다.
(이 단계에서 백엔드 개발자라면 미팅과 과제에 열의를 보이면서 인프라 구축을 틈틈이 해두는 것도 구현에 집중할 수 있는 방법 중 하나일거같다. )

나머지 4주는 집중적으로 개발에 돌입하는 시간인데, 개발자들끼리 코어 타임을 정해두고 개발하는걸 추천한다. 한 번 경험을 해보니 같은 파트끼리 모이는 것도 좋지만 서로 다른 파트, 예를 들어 로그인 기능을 구현하기로 한 프론트 개발자와 서버 개발자가 함께 하는 게 바람직하다는 생각이 들었다.


## 배운점
참고로 내가 4주동안 개발한 항목 다음과 같다.

- Backend init Project 설계 및 구현
- AWS EC2 인스턴스 및 S3, Domain 구축
- Backend/Frontend CICD github action 구축
- Kakao OAuth2.0 with JWT 구현
- Member API CRUD 구현

여기서 member API CRUD를 제외한 나머지 항목들은 다음에 포스트 할 계획인데 겪었던 어려움을 미리 공유하자면 먼저 구축해뒀던 AWS EC2 서버가 먹통이 되어버렸었다. 

처음부터 배포 서버와 테스트 서버를 나눠서 인스턴스를 두 개 만들어 운용 중이었는데 다행히 테스트 서버의 인스턴스가 다운되어 배포 서버로 모든걸 해결했다.

DND에서 AWS 비용을 일부 지원해주긴 하지만 RDS, Route 53, EC2를 모두 사용해야 했기 때문에 서버 스펙을 최하위로 할 수밖에 없었는데 안 그래도 부족한 용량에 Redis를 설치하고 사용하려고 하니 배포 서버도 운영은 잘 되지만 어느 순간부터 접속이 원활하게 이루어지지 못해 한동안 서버 로그를 확인하지 못했다.
(이건 정말 눈 감고 개발하는 거랑 같다는 생각이 들 정도로 막막하다.)

결국 JWT 리프래쉬 토큰을 포기하고 액세스 토큰의 유효 기간을 일주일로 늘리는 걸로 타협을 보고 결과 발표를 성공적으로 할 수 있었다.

다음으로 소셜 로그인을 구현하는 부분에서 시간을 많이 잡아먹었는데 이건 정말 예상외의 일로 한 줄로 표현하면 사고였다.

소셜 로그인은 토이 프로젝트로 두세 번 구현해 본 항목이고 카카오 디밸로퍼의 레퍼런스를 따라가면 어려울 것 없는 항목이라 여겼는데 혼자 작업하는 게 아닌 이상 내 마음처럼 되는 건 없다는 걸 깨달았다.

누군가의 실수이거나, 잘못된 사용 방법으로 어려움을 겪었다기보다는 서로 다른 방식을 생각하며 구현해 겪게 된 헤프닝에 가까웠다. 이래서 기업에선 잘하는 개발자보다 소통 잘하는 개발자를 더 선호하나 보다.

나는 이 과정을 통해 소셜 로그인 관련 코드를 총 세 번 A to Z로 갈아엎었고 결과적으로 정돈된 코드를 작성하며 소셜 로그인이라는 항목을 완전하게 습득할 수 있었다. 세상은 등가 교환이 맞다.

이런저런 과정을 통해 다가온 발표회 마지막 주는 정말 정말 고통의 연속이었다.
우리는 프론트 영역과 백엔드 영역을 통합하는 과정을 마지막 주에 한 번에 진행했었는데 `이거 안 돼요`의 연속이었다. 함께한 팀원 모두 정말 책임감 강하고 성실하신 분들이라 느낀 순간이기도 했는데 한 명이라도 그만하자는 말 없이 묵묵히 개발만 하시더라….

이렇게 각자 역할에 맞는 일을 책임감 있게 수행한 덕분에 무사히 발표회에 참여할 수 있었고, DND 운영진분들이 준비한 장소에서 오후 두 시부터 저녁까지 즐거운 시간을 보낼 수 있었다.


## 운영진에 대해
마지막으로 조마다 담당하는 멘토님이 계시는데 다른 조의 멘토님들은 어떻게 활동하셨는지 알 수 없어 이야기할 수 없지만, 우리 조를 담당하신 멘토님은 사람이 이렇게 정 많고 친절할 수 있나 싶을 정도로 잘 챙겨주셔서 놀랐다.

다른 동아리 활동을 해 본 적은 없지만 처음 언급했듯 다른 교육 기관은 경험해봤고 거기에도 멘토와 비슷한 역할을 하는 분들이 있었지만 이렇다 할 대화를 나눠본 적도 없었고 내게 무언가 도움을 줄 거란 생각을 해본 적이 없었는데 DND의 멘토님은 불편한 점이나 프로젝트 진행에 어려움이 없는지 먼저 물어보는 세심함과 프로젝트 진행과 무관한 개인적인 질문 ( 방향성…. 공부의 폭…. )도 흔쾌히 답변해주고 추후에 내가 궁금해할 법한 것들을 먼저 알려주려고 노력하시는 게 느껴졌다.

이 외에도 운영진에서 준비한 스몰 토크가 있는데 만약 본인이 부족하다 느껴지는 부분에 관련된 거라면 참여해서 현직자들의 사용 방법과 생각을 들을 기회이다.(특히 디자이너 운영진 분들이 프로젝트 초반에 엄청나게 케어를 잘해주려고 노력한다 들었다.)

이상으로 DND 9기 백엔드 파트 회고는 끝이다.
글을 쓰면서 처음 IT 동아리를 경험했고 그게 DND여서 다행이라는 생각이 들었다. 다음 기수는 12월에 시작한다고 하니 동아리 활동에 관심이 있다면 DND에 참여해보는 걸 추천한다. 무엇보다 굿즈가 이쁘다.

### 굿즈





# 지원 팁

담당 멘토님과 이런저런 이야기를 많이 했었다. ( 첫 통화에 3시간 동안 대화를 나눴다. )
대화를 나누던 도중 내가 어떻게 연합 동아리에 참가할 수 있게 된 건지 궁금해 DND의 인재상에 대해 질문을 했었는데 운영진마다 개인 성향으로 조금씩 다른 부분이 있어 구체적인 답변을 받을 순 없었지만 공통부분이 있어 이 부분을 공유하려고 한다.

**첫 번째**
DND는 팀을 이뤄 8주간 프로젝트를 진행한다. 가장 중요한 부분으로 '이 사람이 팀의 일원으로 원활한 소통을 할 수 있을까?' 라는 고민을 가장 먼저 한다고 한다.

**두 번째**
연합 동아리의 목적은 프로젝트를 통한 성장이다. DND는 기존에 프로젝트 경험이나 교육 기관 참여 이력을 크게 고려하지 않는 대신 꾸준히 성장하고자 노력하는 사람인지 고민한다고 한다.

**세 번째**
프로젝트를 진행하면서 여러 가지 애로 사항을 겪을 수 있다. 지원자가 어려움을 극복할 수 있는 사람인지 궁금해한다.

지원 팁이라고 적어두긴 했지만 위 세 가지 항목은 회사든, 다른 동아리든 어디서든 궁금해하고 고려하는 부분이라고 생각되고 지원 항목에도 이와 관련된 질문이 있다. 굳이 지원 팁을 적은 이유는 지원할 생각이 있다면, 이 부분을 다시 한번 상기 해서 작성하길 바라는 마음으로 작성했다.