프로그래머스에서 운영하는 데브코스에 참여한 지도 벌써 두 달이 지났습니다.
그동안 배운 내용도 인상 깊었지만, 특히 저번 주에 진행했던 프로젝트 과정이 기억에 남습니다.
이번 포스팅에서는 그 프로젝트를 돌아보며 좋았던 점, 아쉬웠던 점, 그리고 앞으로의 계획을 정리하고자 합니다.
GitHub
지난 두 달 동안 데브코스는 백엔드 개발자의 필수 역량을 키우는 데 집중했습니다.
Servlet 기반 웹 개발부터 시작해, Spring Boot, Spring Data, Security 까지 다양한 기술을 다루며 백엔드 개발의 변천사를 경험할 수 있었습니다.
그래서 1 차 프로젝트는 데브코스에서 제시한 서비스 시나리오를 바탕으로,"지금까지 알려준걸로 직접 만들어봐!"
처럼 도전 과제를 해결하는 방식으로 진행되었습니다.
데브코스에서 제시한 시나리오는 간단했습니다.
온라인 커피 주문 서비스를 가정해, 고객은 원하는 커피를 주문하고 관리자는 커피의 종류와 제고 등을 CRUD 하는 시스템을 개발하는 것이었습니다.
프로젝트는 총 1 주일동안 진행되었습니다.
첫 3 일
은 팀원 각자가 개별적으로 개발을 진행했습니다. 2 일
은 LMS 강의를 클론 코딩하며 학습했고,
마지막 2 일
은 팀원간 협업으로 추가 기능을 구현하며 프로젝트를 마무리했습니다.
서비스 상황이 간단했기에 저희는 빠르게 클론 코딩을 마쳐, [09/10]
부터 협업을 시작했습니다.
저희는 기본 기능 외에도 로그인 및 유저 권한 조회
, 유저 등급별 주문 할인
, 주문 취소 및 주문 상품 추가
기능을 덧붙이기로 하였습니다.
저는 이 중 로그인 기능
을 담당하여 JWT
토큰을 이용한 Access 및 Refresh 토큰 인증 기능을 구현했습니다.
이를 통해 "Refresh 토큰을 꼭 DB 에 넣어 관리해야 할까?"
라는 의문점을 "서비스의 형태에 따라 유동적이다"
는 것을 깨달아 해소하였습니다.
팀원 간 협업은 주로 PR 후 code review
를 통해 진행하여, 코드의 개선점과 궁금한 점 등을 논의하였습니다.
![]() | ![]() |
이 과정을 통해 코드 리뷰 스킬
과 merge conflict 최소화
같은 비개발적 역량도 크게 향상될 수 있었습니다.
프로젝트 도중 예상치 못한 버그가 발생하기도 했습니다.
저희는 버그를 발견하면 이를 issue
로 정리하고, Assignees
를 지정해 논의하며 해결책을 찾아갔습니다.
이러한 협업 과정을 통해 문제를 신속히 발견하고 보완할 수 있었고, 협업의 중요성을 다시금 실감할 수 있었습니다.
![]() | ![]() |
각자 담당한 기능을 모두 구현한 후, 저희는 브랜치를 나눠 순차적으로 merge
를 진행했습니다. 해당 과정에서 merge conflict
이 일어나기도 했지만, 그동안 쌓은 비 개발적 역량을 통해 빠르게 해결할 수 있었습니다.
또한 모든 브랜치 merge
가 완료된 후, 프로젝트를 설명하는 README
를 작성하였습니다.
README
에서 추가된 기능을 설명하고 프로젝트 중 발생한 트러블 슈팅 경험을 정리해 프로젝트의 진행 과정을 담고자 노력하였습니다.
![]() | ![]() |
이 후 완성한 프로젝트를 공개하여 다른 팀에게 평가를 받고, 팀원들간 보완점을 이야기하는 등 서비스의 CI/CD
에 대해 논의하였습니다.
이번 프로젝트는 제게 큰 성장을 안겨준 경험이었습니다.
대학교 시절에도 다양한 프로젝트를 진행해봤지만, 백엔드 중심의 프로젝트는 이번이 처음이었습니다.
Spring Framework 를 이용한 실제 애플리케이션 개발을 경험하며 백엔드의 기초 역량을 탄탄히 쌓을 수 있었고, 특히 팀원들과의 협업이 개발 과정에서 얼마나 중요한지 느낄 수 있었습니다.
기술적으로는 JWT
인증과 권한 관리, 그리고 Spring Security 를 다루며 좋은 인증 전략에 대해 생각해 볼 수 있었습니다. 학습하며 궁금했던 의문점들도 직접 구현하며 해소할 수 있었고, 서비스의 형태에 따라 달라질 수 있다는 점을 배우게 되었습니다.
하지만 아쉬운 점도 존재합니다.
다른 팀의 경우 Swagger
, REST Docs
를 활용해 API
문서화를 진행하거나, Toss Payment API
를 적용해 결제 시스템을 구현하기도 했습니다.
이를 보며 저희도 수업에서 배우지 않은 기술들을 적극적으로 활용했으면 어땠을까 하는 생각이 들었습니다.
![]() | ![]() |
??? 혹시 하루가 48 시간 이신가요??
이번 프로젝트를 통해 스스로 많은 생각을 하게 되었습니다.
지금까지 많은 것을 배웠지만, 그만큼 더 배움이 남아 있다는 생각에 막막함이 들기도 합니다.
"이 모든 것을 언제쯤 내 것으로 만들 수 있을까?"
라는 고민이 들기도 하지만, 결국 중요한 것은 한 걸음씩 꾸준히 나아가는 과정이라 믿습니다.
결국 우리는 개발자니까요.
비록 지금 당장은 부족해 보일지라도 꾸준히 나아가다 보면 언젠가는 더 큰 성장을 이뤄낼 수 있을 거라 생각합니다.
취업이 다소 늦어진다 해도, 중요한 건 올바른 방향으로 꾸준히 전진하는 것이라 믿습니다.
저도 언젠가 능숙한 개발자로서 더 큰 프로젝트를 이끌 수 있기를 바라며, 오늘도 한발씩 나아가겠습니다.