오늘로 13일간의 프리 프로젝트 기간이 끝이 났다.
정말 어떻게 지나갔는지 모를정도로 하루하루가 바쁘게 지나갔다.
매일매일 그날 한 일, 느낀점들을 간단히 남겨왔으니 오늘은 교육 컨텐츠에서 제시하는 회고 주제로 작성해보고자 한다.
1. 기대 혹은 염려했던 첫 프로젝트 경험은 어땠나요?
정말 너무나도 좋은 경험이었다. 약 3개월 반동안 학습을 하면서도 이걸 어떻게 쓸 수 있을지 감이 오지 않아서 막막했던 적이 있다.
프로젝트를 통해 하나의 프로그램을 기획하고 직접 구현하고 배포하는것까지 전 과정을 수행하면서
배웠던것들이 어떻게 쓰이는지, 내가 어떤 부분이 부족하고 어떻게 채워나가야할지 알 수 있는 시간이었다.
특히 Spring Security, 인증, 인가, 배포쪽에 대한 이해가 많이많이 부족하다고 느끼고 있었는데
이번에 그 부분을 직접 구현해보면서 개념을 어느정도 정리할 수 있었다.
그리고 좋은 팀원분들을 만난 덕분에 프로젝트 기간이 더욱 즐겁고 유익하게 느껴졌다.
우리팀은 비전공자 6명이 모인 팀이었고 아무도 프로젝트 경험이 없었다. 오히려 그다보니 처음부터 다같이 하나씩 해결해나가는 재미가 있었다. 서로 모르는 부분을 물어보고 찾아봐주면서 부족한 부분을 채워나갈 수 있는 시간이었다.
백엔드쪽 팀장으로 프로젝트를 하다보니 계속 진행상황과 일정을 체크할수밖에 없었는데, 감사하게도 팀원분들이 잘 도와주셔서 무사히 마무리할 수 있었다.
2. 좋았던점, 아쉬운 점은 무엇이었나요?
좋았던 점은 크게 세가지이다. 팀의 분위기가 좋았고, 문서화를 잘 해두었고, 다들 책임감을 가지고 노력했던 부분이다.
먼저 팀 분위기가 정말 좋았다. 하루에 한번씩 시간을 맞추어 프론트엔드, 백엔드 모두 모이는 시간을 가졌는데 서로 진행된 부분과 진행할 부분에 대해 얘기를 나누고 서로 필요한 부분을 공유했다. 이런 부분을 통해서 같이 일하는 흐름과 방법을 알 수 있었다. 다른 사람의 작은 의견도 서로 수용하면서 긍정적인 분위기를 이어갔던것 같다.
문서화가 잘 되어있던 부분이 좋았다. 아무래도 프론트엔드와 백엔드 모두 각자 코드를 작성하기에도 시간이 부족했는데 초반에 문서를 잘 정리해두어서 그 내용으로 작업을 할 수 있었다. 테이블 구조, 필드명, API, URI 같은 정보를 구글 스프레드시트로 정리해두어서 필요할때 참고하고, 변경이 필요하면 서로 협의해서 변경하면서 필요한 내용을 바로바로 참고할 수 있었다. 아무래도 초기에는 서로 주고받을 수 있는 형태가 없었다보니 이런 부분이 도움이 많이 됐다.
책임감을 가지고 노력했던 부분이 인상깊었다. 다들 맡은 부분이 있고 시간은 한정적이다보니 다들 그 부분을 구현하려고 노력한 것이 느껴졌다. (심지어 어떤분은 거의 밤도 새셨다고...🥲) 그래도 그 덕분에 오늘 최종적으로 배포까지 할 수 있었던것 같아서 보람있었다.
아쉬운 점은 서로 코드 공유가 늦어졌던 부분과 배포를 늦게 시작했던 부분이다. + 깨끗하지 못한 코드..
처음에 깃헙에서 이슈를 정하고 이슈 하나가 완료되면 PR을 하고 코드 리뷰를 하기로 했었으나 그렇게 진행되지 못했다.
코드 구현이 시작되고 4일이 지난 후 (총 구현 기간은 8일이었다.) 코드를 처음으로 합치게 되었다. 충돌되는 부분들을 수정하다보니 시간이 조금 지체되었다. 그래서 구현하고싶었던 몇가지 기능들을 포기해야하는 상황이 생겨 아쉬움이 남는다.
또한 그러다보니 배포 준비도 늦어져서 어제부터 배포 준비를 시작했다. 그 전에는 ngrok으로 서버를 열어 프론트엔드 서버와 요청을 주고받았는데 가능하다면 미리 서버를 구축해서 CI/CD를 적용했어도 좋았을것같다.
프로젝트 마무리 단계가 되니 오류는 발생하고, 시간은 부족해서 정말 구현'만' 되는 코드가 작성되기 시작했다.
처음 계획은 코드 작성해서 돌아가는지 보고 정상작동하면 리팩토링을 해야지! 라고 생각했는데 코드 수정하기에도 시간이 부족했다.
아무래도 로컬환경에서 테스트하는것과 실제 배포서버에서 동작하는것에서 다른 부분이 있어서 해당 부분을 먼저 구현하고 맞춰서 수정하는 방법이 더 좋을것 같다는 생각이 든다.
3. 다가올 Main-Project를 위해 나는 무엇을 하고, 하지 말아야 할까요?
프리프로젝트를 하면서 여러가지 에러를 마주하고 구글링을 통해 해결해나가는 것, 부트캠프에서 배운것을 잘 활용하는 것, 배우지 않은 내용이어도 스스로 학습하고 적용하는것. 이런 부분이 얼마나 중요한지 다시한번 느꼈다. 아마 메인프로젝트는 기간도 길고 실제로 구현해야할것도 더 많은 만큼 새로운 부분도 많고 에러도 많이 겪게 될것이다. 그래도 포기하지 않고 하나하나 차분하게 해결해 나갈것이다.
대신, 건강은 잘 관리해야할것같다는 생각이 들었다. 프리프로젝트를 하는기간동안 정말 밥먹는시간, 잠자는 시간 빼고는 하루종일 컴퓨터 앞에 앉아있었다. 그래서 운동도 못하고 있었고 집밖으로도 거의 나가지 못하고있었다. 메인프로젝트때는 계획을 미리 잘 세워서 프로젝트에서의 워라밸을 지켜보고자 노력할것이다.
+ 아직 부족한 부분은 많지만 작고 소중한 우리의 결과물..!!
'부트캠프 개발일기 > Pre-Project' 카테고리의 다른 글
92일차: Pre-Project Day 12(배포: EC2, S3, RDS, gradle) (0) | 2023.06.26 |
---|---|
91일차: Pre-Project Day 11 (Mapper/MapStruct 생성안됨) (0) | 2023.06.23 |
90일차: Pre-Project Day 10-2 (코드 Merge, CORS 오류 해결, Ngrok) (0) | 2023.06.23 |
90일차: Pre-Project Day 10-1 (인증 에러 처리: AuthenticationFailureHandler, AuthenticationEntryPoint) (0) | 2023.06.22 |
89일차: Pre-Project Day 9 (HandlerInterceptor, JWT 정보 가져오기) (0) | 2023.06.21 |