해당 회고록은 위코드 부트캠프의 1차 프로젝트의 중간 회고록입니다.
이번 프로젝트는 Paffem이라는 향수 추천 웹사이트를 클론코딩하게 되었습니다.
팀원은 FE(4명), BE(2명)으로 구성되어 있으며, 본인은 BackEnd 개발을 담당하였습니다.
1차 프로젝트에 대한 추가 설명 및 코드는 프로젝트가 끝나면 포스팅 할 예정입니다.
1차 프로젝트 1주차 동안 처음 경험해보는 개발자의 협업 툴과 업무 방식에 대해 이해하고, 실제 서비스에 적용되는 코드를 직접 작성해보는 시간을 가졌습니다.
오픈 소스를 공유해야하는 개발자에게 가장 필요한 협업 툴이라고 생각합니다.
git과 github을 사용할 수 있었지만, 협업을 하면서 pull request를 작성하고 merge가 되는 과정, conflict를 해결하는 등 git flow에 대해 좀 더 이해할 수 있었습니다.
프로젝트가 마무리 되면 github의 레포지토리 링크 공유도 하겠습니다.
단순히 다른 개발자와 채팅하고 소통하기 위한 도구가 아니라, 실시간으로 코드 블럭을 쉽게 공유할 수 있었습니다.
같은 공간이 아니여도 slack이라는 창구를 통해 시간과 공간에 제약받지 않고 소통할 수 있었습니다.
이번 팀 프로젝트에서는 Notion과 Trello를 통해 SCRUM
방식 업무를 진행해 볼 수 있었습니다.
Notion
을 통해 필요한 API 명세서를 공유할 수 있었고, 개발을 하면서 어려웠던 부분이나 공유가 필요한 부분들을 작성하였습니다.
Trello
를 통해 2주 동안 각자의 담당 업무 티켓을 발행하여 sprint 업무를 나누고 진행 속도와 blocker가 무엇인지 공유할 수 있었습니다.
1주차에 적정한 티켓들을 sprint 업무로 배정하여 총 sprint 업무 중 80% 이상을 달성하는 등 긍정적인 성과를 보였습니다.
2주차에는 필수 구현 사항에 집중하여 배포 시에도 작동에 문제가 되지 않도록 sprint 업무를 무리하지 않게 구성하였습니다.
현재 사용 중인 Trello 화면입니다.
프로젝트가 끝난 회고록에서는 링크 첨부를 하여 공유하겠습니다.
실제 현업에서 사용하는 다양한 협업툴을 경험할 수 있었습니다.
이번 프로젝트를 통해 개인적으로는 개발자의 업무에 대해 이해해보고 체감해보려고 노력했습니다.
실제 개발자들은 지금 프로젝트를 진행하는 것보다 훨씬 더 개발 속도도 빠르고, 더 많은 소통을 나눌 것이라고 생각합니다.
현업에서 사용하는 다양한 툴에 대한 사용방법과 감도 익힐 수 있었으며, 개발과 관련된 전문 용어를 더욱 많이 사용하게 되는 발판이 되었습니다.
세분화된 업무 계획과 프로젝트를 바라보는 시야를 넓힐 수 있었습니다.
혼자 진행하고 있는 프로젝트는 기획부터 배포까지 사전 지식이 없던 상태여서 기간이 상당히 오래 소요되고 있습니다.
(좀 더 일찍 이런 부트캠프나 커리큘럼을 경험했으면 하는 아쉬움도.. 있지만!)
프로그래밍 공부를 하면서 큰그림을 그릴 줄 알아야한다는 말을 많이 들어봤습니다.
이 부분 역시 Trello와 프로젝트 미팅을 통해 각 단 (end)에서 어떤 업무까지 생각을 해야하는지도 배울 수 있었습니다.
아직 개발자와 관련된 업무를 파악하는 능력은 부족하지만, 일상에도 계힉이 필요한 저에게는 정말 잘 맞는 업무 방식인 것 같습니다.
리액트에 대한 지식이 팀 프로젝트에서 소통 윤활제가 되었습니다.
위코드 부트캠프를 하기 전 Javascript와 리액트를 통한 프로그래밍 공부를 하고 있었습니다.
Python 언어로 백엔드 개발을 맡았지만, 프론트엔드에서 필요한 정보가 무엇인지 빠르게 파악할 수 있었고 백엔드 동료 개발자가 이해하기 쉽게 설명할 수 있었습니다.
scrum 방식의 업무를 못했던 것 같습니다.
전반적으로 sprint 업무를 마친 다음, 각 기능 별로 테스트를 할 수 있었지만 기능을 하나씩 개발하면서 end-to-end 테스트를 진행하였습니다.
업무 진행을 front-end에 맞추려고 했던 부분이, 목표했던 sprint 업무를 달성하지 못한 것으로 이어진 것 같습니다.
(괜히 FE분들께도 업무 진행에 차질을 준 것이 아닌지..)
현재 프로젝트에서 구현 중인 필수 기능들에 대한 분석이 부족했던 것 같습니다.
팀 프로젝트에서 필요한 부분만 모델링을 하다보니 views.py
로직을 짜면서 필요한 기능을 구현하지 못했던 것 같습니다.
클론코딩 프로젝트여도 모델링에 대한 부분은 해당 웹 전체 부분을 해보았으면 좀 더 성장할 수 있었을 거라 생각합니다.
이 부분은 2차 프로젝트에서 보완해보겠습니다.
Django ORM에 대한 공부를 더 하고 공식문서를 보는 연습을 더 늘려야겠습니다.
views
로직에서 필요한 ORM에 다양한 메서드가 존재합니다.
모든 것을 외우고 있다면 좋겠지만 공식문서를 통해 내가 활용하고자 하는 ORM 메서드를 찾아 적용하는 능력도 중요할 것 같습니다.