기타

[스위프 후기] 5기 백엔드 스위프 참여 후기

seolyork 2024. 8. 19. 14:26
 
 
 

스위프  혜택

스위프에서 백엔드로서 팀 프로젝트를 진행하면서 아무래도 제일 좋았던 해택은 웹 호스팅(프론트엔드만)과 프로젝트 URL 보존이었다.

그 외의 리뷰데이를 통해 다른 팀원들의 프로젝트 진행 과정을 지켜볼 수 있어서 좋았다. 다른 팀들의 백엔드 발표 부분이 궁금했는데, 사실 백엔드는 API를 보여주는 것 외에 딱히 발표할게 있나..? 싶어서 다른 팀들의 백엔드 발표를 참고하고 싶었다. 참가한 13팀에서 백엔드 개발자분들이 사용한 기술스택은 거의 다 똑같았다. Spring boot + jdk 17 + MySql + AWS 등등.. 

다른 팀들의 백엔드 발표도 결국에 내가 생각했던 API 보여주기가 대부분인 것 같아 백엔드 발표는 저렇게 할 수 밖에 없구나 라고 생각했다.

내가 느낀 대부분 팀들의 발표의 구성은 아래와 같았다

기획은 내가 이렇게 기획을 했다! 기획의 목표와 목적!

디자이너는 내가 이렇게 예쁘게 신경써서 디자인을 했다!

프론트엔드 개발자는 내가 이런 화면들을 만들었다!

백엔드 개발자는 내가 이런 API들을 만들었다!

 

- 참여 동기

취준생으로서 팀프로젝트를 하나 해서 포트폴리오에 넣고 싶은 마음이었다. 물론 거기서 내 역량 강화도 미친듯이 하고 싶었긴 했다.

사실 제일 고민됐던건 돈이었다. 정말 많은 고민 끝에 돈은 나중에 취직해서 벌면 되지.. 하는 생각으로 신청했다.

 

-팀 빌딩

사실 팀 빌딩이 온라인으로 이루어지고, 각자가 써놓은 자기소개 노션을 보고 자율적으로 컨택해서 이루어지는 거라 부담이 컸다. 때문에 자기소개를 굉장히 공들여서 썼고, 기획자들의 자기소개 노션을 정독한 다음, 가장 마음에 드는 기획자 분께 바로 연락 드렸다. 기획자 분이 같이 개발할 백엔드 팀원을 구해달라고 하셨고, 다시 백엔드 개발자분들의 자기소개 노션을 정독한 다음, 마음에 드는 분들께 전부 연락을 돌렸다. 답이 없으신 분들도 계셨고, 이미 팀빌딩이 완료됐다고하신 분들도 많아서 애간장이 탔는데, 그 중에 운 좋게 백엔드 개발자 한분이 수락해주셔서 같이 팀원이 되었다. 사실 팀빌딩이 제일 마음이 불안했달까? 팀프로젝트라는게 기획에 따라 많이 갈리기도 하고, 내가 원하지 않는 기획을 개발하면 아무래도 의욕도 조금 떨어지는 것 같다. 그리고 같이 일하는 개발자분들도 너무 중요했던게, 내가 실력이 뛰어나지 못하니까 나랑 비슷한 분과 팀원이 됐을때 정말 막막할 것 같아서 실력이 있는 분이 필요했었다. 

결론적으로 컨택 끝에 실력이 뛰어난 백엔드 개발자와 팀원이 됐고 프로젝트 진행하면서 정말 많은 것을 배우고 성장했던 계기가 됐다.

 

- 가장 인상 깊었던 경험
 
얼마전에 개발 문제로 고민하던 나에게 동기 친구가 이런 말을 했다. 딱 한번만 처음에 힘들면 된다고. 그 다음부턴 조금이나마 수월하고 길이 보일거라고. 그 딱 한번 힘들었던 순간이 이 프로젝트를 진행하면서 겪은 것 같았다. 정말 이주일이 넘는 시간 동안 잠자는 시간 외에 책상에서 떨어진 적이 없었다. 하루에 12시간 넘게 책상에 앉아있으면서 울기도 많이 울었고 내 자신이 답답해서 미칠 것 같았다. 분명 이해했다고 생각했는데, 머리로는 이해가 된 것 같은데, 막상 코드로 짜보면 내가 이해한게 이해한게 아니었다. 마치 내가 한번도 본 적 없는 괴생명체를 그려서 제출해야 하는데, 어떻게 생겼는지 알 것 같아 시도했는데 점 하나 찍고 막힌 느낌이었다. 이게 계속 반복됐다. 난 개발 머리가 없는 것 같았다. 난 개발이 적성이 아닌것 같다고 엄마 앞에서 엉엉 울기도 했다ㅋㅋㅋ
어쨌든 포기하지 않으면 된다. 나도 해냈다. 그렇게 힘들었는데 미친듯이 실패하고 머리가 쥐날때까지 싸맨 결과 해내긴 해냈다. 
프로젝트에서 내가 경험한 그 부분이 내 개발 커리에서 있어서 어떤 중요한 초석 중 하나가 된 것 같다.
(물론 실패한 부분도 있다. 근데 그건 내가 부족해서 어쩔 수 없는거라 생각하고 더 배우는 수 밖에 없다.)
 
- 배운 것과 성장한 부분
기술적으로 말해보자면, spring boot 도메인 주도 패턴으로 개발하기 + Restful API + Jpa + DB(MySql) 다루기(데이터 삽입, 수정, 외래키 재약, sql문) 정도인 것 같다.
그리고 좋았던 점은, 팀 내에서 나만 취준생이었다...ㅋㅋㅋㅋ 다들 몇년차 직장인이시고, 직장인이셨다. 그래서 모두 협업을 어떻게 해야하는지 아시는 느낌이었다. 배워갈게 많았다. 커뮤니케이션은 이렇게 해야하는구나, 프론트엔드랑 백엔드는 이렇게 협업을 하는구나. 기획에 따라 백엔드가 이렇게 바뀌는구나. 기획이랑 백엔드는 이렇게 커뮤니케이션 하는구나.. 등등을 배웠다. 
그리고 제일 좋았던 부분은 나랑 같이 개발하시는 백엔드 개발자분도 직장인이셨기 때문에, 사수가 있는 기분이었다. 사실 같은 취준생이나 혹은 대학생과 팀원이 되었다면, 어떤 코드가 좋은 코드이고 어떻게 코드를 짜야하는지도 모른채 작동만 되는 개발새발 코드를 짰을지도 모른다. 적어도 이 프로젝트에선 내 코드를 평가해줄 사람이 있었고, 피드백을 줄 위치에 있는 사람이 있었기 때문에 그 부분에 대한 가이드라인과 믿음을 가지고 코드를 짰던 것 같다. 피드백은 소중하다. 특히 나 같이 아무것도 모르는 사람에겐 더더욱.
 
그리고 어떤 걸 사용할때나 어떤 부분에 살짝 의문이 들지만 그냥 쓰고 있을때 그 이유를 찾아보는 습관이 생겼달까?
이걸 '왜' 사용하는지, 어떨 때 사용하는지, 이점과 단점이 뭔지, 사용 안하면 어떻게 되는지, 다른 대안은 뭐가 있는지, 뭐가 제일 효율적인지 등등..
사실 이게 제일 중요한 듯 개발에 있어서
그런 자세를 또 백엔드 개발자 분이 알려주셨다. 그래서 그 후에 개발도 최대한 항상 그런 자세를 가지며 개발하려고 노력 중이다.
 
- 어려웠던 점과 극복한 방법
개발이 어려웠다. 하지만 극복했다. 어떻게 극복했냐면.. 우선 하루종일 나와 대화한 사람이 ChatGPT밖에 없었던 날도 있었다. ChatGPT를 무진장 괴롭혔다. 왜의 왜의 왜의 왜를 파고 들고, 진짜 원인을 모르겠는 에러도 몇시간 동안 파고 들고..  ChatGPT가 항상 맞는 건 절대 아니다. 정말 쉬운 에러도 못 잡아낼 때가 많고, 어떤 특정 부분을 아예 고려를 안하고 답을 줘서 엉뚱한 부분만 계속 삽질하게 만들기도 했다. 그래서 ChatGPT에만 의존하지 말고, 구글링, 유튜브 강의, 인프런 + 내가 직접 코드 + 에러 하나하나 보면서 생각해보기를 해야한다.
그리고 종이에 직접 그려보는 것도 도움이 된다. 현재 연관관계나 속성 등등 머리속에서 막연하게 안다고 생각했던 것들을 종이에 그림과 글로 쭉 정리해보면 머리속에 있던 것들이 선명해진다. 난 종이에 그려보는게 도움이 많이 됐던 것 같다. 인터넷으로 글을 작성하거나 아이패드에 애플펜슬로 적는 것과는 다른 아날로그만의 장점이 있다.
 
그리고 이건 여담인데 마감일 바로 전 날 DB가 다 날라간 경험도 했다ㅋㅋㅋㅋ
다시 DB 넣느라 정신 없었고 힘도 빠졌지만 뭐 잘 넣었다.
이런 경험하는 것도 좋다고 생각해서 뭐.. 좋은 경험이었다!
 
 
- 수료 후 소감과 계획
끝나지 않을 것만 같은 6주가 끝나고 수료를 했다. 해냈다..! 싶은 마음이다. 하지만 이건 또 다른 시작이다. 이 때의 내가 느꼈던 경험, 어려움, 보람을 잊지 않고 앞으로도 개발의 길을 잘 걸어나가고 싶다. 
수료했지만 팀프로젝트는 계속되기 때문에 추가 기능 구현과 코드 리팩토링을 하지 않을까 싶다.
 
 
 
 

기타

내 노션

진짜 프로젝트 기간 동안 노션에 적은게 얼만지 셀 수도 없다. 하나라도 놓치고 싶지 않아 정말 모든 걸 다 적었다.

 

이건 팀노션

매주 주간 업무를 모든 팀원이 적고, 수요일과 일요일에 짧은 회의를 통해 리뷰하는 형식을 반복했다. 

그리고 노션에 간트차트도 활용했는데, 매우 유용해서 다른 팀 프로젝트에서도 사용하고 싶다.

 

 

그리고 이번에 프로젝트 진행하면서 깃허브도 진짜.. 많이 늘었다.. 

 

 

진짜 끄읏~~!!!