미루고 미루던 사이드 프로젝트를 올해 초 드디어 각 잡고 시작했다.
사이드 프로젝트를 해야겠다고 생각한 이유는 개발 초기 환경 세팅부터 기능 개발 후 출시까지 모든 과정을 직접해보고 싶었기 때문!
주니어 개발자로 실무를 하다 보면 프로젝트의 본질(개발 환경이나 프로젝트 구조, CI/CD 등 기본적인 것들..)에 대해서는 모른 채 당장 필요한 기능을 만드는데에 급급하게 되는 것이 항상 아쉽고 꼭 다시 공부해야겠다고 생각했는데 이런 부족함을 사이드 프로젝트로 공부할 수 있을 것 같아서 올해는 무조건 해야겠다고 생각했다.
특히 이런 경험은 주니어 시기에 꼭 해봐야 시니어 개발자로 성장할 수 있기 때문에 ,, 공부가 필수였다!
사실 입사 후 2년 동안 회사 일을 핑계로 자기 계발은 소홀하게 했던 것도 사실이다..
비전공자 개발자로써 두 배 이상 공부하고 경험해 봐야 하는데 매번 의지박약으로 실천하지 못하고 있었다ㅋ
나약한 의지를 다지기 위해서는 내가 재밌게 만들 수 있는 프로젝트를 개발해야겠다는 생각을 했고,
마침 기획자로 일하고 있는 친구의 번뜩이는 아이디어로 사이드 프로젝트를 실행할 수 있게 되었다!
기획자 1명과 개발자 2명으로 시작하는 간단한 프로젝트고 목표는 "앱 출시"
진짜 일단 앱 출시만 빨리 해보자 라는 마음으로 시작했다!!
사이드 프로젝트 주제
주제는 '인생네컷 아카이빙'
MZ들을 겨냥한 어플로 기획자 친구가 제시한 아이디어다.
간단하게 사이드 프로젝트로 구현하기 딱 좋다고 생각해서 아이디어를 바로 채택하고 회의를 진행했다.
요즘 다양한 인화 사진기들이 있지만 어떤 사진을 찍으러 가던 '인생네컷' 찍으러 가자고 하기 때문에
우리 프로젝트의 이름은 '네컷로그'로 결정했다.
진행 방식
기획자가 피그마&구글 스프레드 시트에 상세 기획을 작성하고 2주에 한 번씩 온라인 미팅을 통해 브리핑 및 질의하는 시간을 가진 후 개발자가 개발하는 방식으로 진행하기로 했다.
특별하게 어려운 기능이 있다거나 사이즈가 큰 프로젝트가 아니라서 매주 미팅이 필요하다고 생각하지 않았고, 처음에는 일과 병행하여 사이드 프로젝트를 진행하기로 했어서 시간을 여유롭게 잡고 진행하기로 했다.
기획자가 만들어놓은 내용을 기반으로 개발자들은 먼저 함께 기술 스택을 정하고 ERD, 기능 명세서, API 명세서를 작성한 후, 프로젝트 생성 및 개발 환경 세팅을 완료하고 역할을 분담하여 각자 기능 개발에 도입하기로 했다.
BE와 FE가 명확하게 나뉘면 좋겠지만 현재로써는 인원도 적고 모든 것을 경험해보는 것을 목표로 하는 프로젝트이기 때문에 개발 환경 세팅까지는 같이 공부하면서 해보고 이후, 도메인별로 역할을 분담해 BE와 FE를 모두 개발하는 방식으로 진행하기로 했다.
툴 + 기술 스택
이번 프로젝트에서는 사이드 프로젝트를 통해 모두가 다양한 경험으로 성장하는 것을 목표로 툴과 기술 스택을 선정했다.
기획자와 개발자가 협업할 때 많이 사용되는 이슈 트래킹 및 프로젝트 관리 툴인 JIRA를 활용하여 서로 소통하고, 기획과 디자인에는 Figma를 사용하기로 했다.
개발은 주로 공부하고 사용해온 Java를 기반으로 Spring Boot를 사용해 백엔드 개발을 진행하되, 새롭게 경험해보고 싶었던 JPA를 적용해보기로 했다. 빌드 도구는 Gradle을 사용하고, 데이터베이스는 MySQL을 메인 DB로, 캐싱과 세션 관리를 위해 Redis를 함께 활용할 예정이다. 프론트엔드는 크로스 플랫폼을 지원하는 React Native로 개발하고, 서버는 AWS EC2 + RDS를 사용해 배포할 예정이다. 형상관리는 GitHub를 사용하여 코드 버전 관리 및 협업을 진행하기로 했다!
개발 환경에 대한 더 자세한 내용은 다음 포스팅에서 다루게씀..
개인적인 목표
이번 프로젝트를 진행하면서 내가 계획한 목표 중 가장 큰 것은 프로젝트 개발 환경과 흐름을 완벽하게 이해하는 것이다.
여기서 말하는 프로젝트 개발 환경과 흐름은 정말 처음부터 끝까지의 모든 과정을 말한다.
경력은 벌써 3년차인데 개발할 때 기능 구현에 급급하여 프로젝트 전반의 흐름이나 환경에 대한 기초적인 지식이 많이 부족하다는 것을 느꼈다.
사이드 프로젝트를 하면서 모든 부분을 직접 공부하고 구현해보면서 이해하고 알아가는 것이 가장 큰 목표이다.
더하여 사용해보지 않은 다양한 기술들을 사용해보는 것도 또 다른 목표이다.
JPA는 실무를 하면서 정말 아주 깔짝! 다뤄봤는데, 이번 기회에 제대로 사용해보면서 이전에 진행했던 프로젝트에 대한 공부도 다시 해보는 기회로 삼아야겠다는 생각을 했다. 또 서버 배포를 제대로 해본 적이 전혀 없기 때문에 AWS EC2+RDS로 직접 서버 배포도 해보면서 다양하게 경험해보는 것이 이번 프로젝트에서 나의 목표이다!
마지막으로 모든 과정을 기록하면서 복습하고 정리하는 것이 목표 중 하나다. 개발하면서 겪는 시행착오나 해결 과정들을 블로그에 꾸준히 작성하여, 나중에 비슷한 문제를 만났을 때 참고할 수 있도록 하고 다른 개발자들에게도 도움이 되는 콘텐츠를 만들어보고 싶다.
사실 이 프로젝트의 첫 회의가 3월 말이었으니 벌써 4개월이 흘렀다.
그동안 이래저래 다양한 사정으로 인해 개발 일정이 점점 밀렸지만 지금부터 빡세게 준비해서 빠르게 출시하는 것이 목표다!
사실상 제대로 프로젝트를 시작한 것은 6월 초중순이라고 봐도 무방하기 때문에 이제 더 이상 지체하지 않고 빠르게 개발을 진행해 보도록 하겠다 .. !
'Side Project' 카테고리의 다른 글
[네컷로그] 3. 사이드 프로젝트 개발 환경 세팅(2) : Spring Boot 프로젝트 세팅 (3) | 2025.07.17 |
---|---|
[네컷로그] 2. 사이드 프로젝트 개발 환경 세팅(1) : 기술 스택 선정 (6) | 2025.07.16 |
[네컷로그] 1. 사이드 프로젝트 기획 및 설계(ERD, API명세서, 기능명세서) (0) | 2025.07.15 |