개요
2024년 7월부터 11월까지,
약 4개월 간 패스트캠퍼스의 Inner Circle이라는 직장인 부트캠프에 참여했다.
참여하게 된 이유부터 수료 후 지금까지
해당 과정에서 경험했던 일들과 후기를 기록한다.
참여하게 된 이유
나는 대학생 시절 개발 지식이 전무함에도 학교 연계형 인턴으로 전 회사에 입사했다.
회사에서 실무부터 경험하게 되다 보니 연차가 쌓이며 일은 잘하게 되었지만,
개발 지식이나 다양한 환경에서의 경험은 많이 부족하다는 것을 뼈저리게 느꼈다.
특히 이직 과정에서 나의 부족함을 정말 많이 깨달았고,
다양한 경험을 통해 성장하고 싶은 욕구가 강했다.
그러던 중 SNS에서 Inner Circle 과정의 광고를 접했는데,
퇴근 이후 시간 비대면, 국비지원으로 무료로 들을 수 있는 걸 보고 관심이 갔다.
자세히 보니 평소 커뮤니티에서 엄청 잘한다고 알고 있던 태양님께서 리더로 있고,
소수정예로 잘하는 사람들만 모인다는 말에 끌려 신청하게 되었다.
신청 과정에서 자기소개서와 사전 역량 평가를 제출해야 했는데,
내가 지금까지 노력했던 것들과 겪었던 경험들을 진솔하게 작성하면서 나를 다시금 돌아보게 되었다.
지금까지의 노력들을 좋게 보셨는지는 모르겠지만,
다행히 최종 합격하여 Inner Circle 1기 과정에 합류하게 되었다.
온보딩 과제
첫 주차에는 구글 폼과 같은 설문조사 서비스를 구현하는 과제가 주어졌다.
양식 자체를 관리자가 변경할 수 있는 서비스의 형태로,
RDBMS만 사용이 가능하다는 제약조건이 있어 고민할 점이 많았다.
나의 경우 기존 서식 관련 내용은 Json 그대로 저장하는 방식을 보통 사용해 왔어서 해당 방식으로 구현했는데,
Json을 직접 저장하는 것이 성능과 메모리적 관점에서 좋지 않을 수 있다는 리더님의 피드백이 있었다.
이와 더불어 공통적으로 RDBMS의 테이블 설계를 깔끔하게 구성하는 여러 팁들을 얻을 수 있었다.
라이브러리 만들기
다음은 라이브러리를 만드는 과정이다.
Jitpack으로 라이브러리를 배포할 수 있다는 내용은 진작 알고 있긴 했는데,
직접 만들어 본 적은 없었다.
(Jitpack으로 배포할 수 있다는 내용은 아래 글에서 처음 접했었다.)
https://medium.com/banlife/transactional-없애려다-오픈소스-라이브러리까지-만든-이야기-5426116036bb
@Transactional 없애려다 오픈소스 라이브러리까지 만든 이야기
안녕하세요!
blog.ban-life.com
나는 기존의 Slack API로 메시지를 보내는 형태가 생각보다 간단하지 않다는 생각을 하고 있었어서,
Slack API를 추상화하여 쉽게 메시지를 보낼 수 있는 라이브러리를 만들어 보았다.
기존의 웹 개발 사고방식에서 벗어나, 라이브러리를 만들고 실제 Jitpack을 통해 배포하고
내 프로젝트의 build.gradle에서 내 라이브러리를 직접 설정하여 사용해 보는 경험은
한 번쯤은 해봐야 할 좋은 경험이었다고 생각한다.
프로젝트 시작
다음은 대망의 프로젝트 시작.
o2o, 핀테크, 커머스 총 3개의 도메인 각각 두 조씩 총 6조로 구성되었다.
나는 커머스 서비스를 만드는 5조로 편성되었다.
각 도메인의 두 조는 같은 데이터를 통해 각각 서비스/관리자를 만드는 임무가 주어졌고,
따라서 필연적으로 같이 논의해야 하여 커머스 도메인의 두 조도 프로젝트 첫날 같이 회의하기로 했다.
막상 두 조가 모였는데 백엔드 개발자가 5조에는 나, 6조에 한 분 더 해서 총 2명밖에 없었다.
총인원이 각 조당 백엔드 3명, 프론트 3명으로 구성되어 합치면 6:6이 되어야 하는데 4명이 없었던 것이다.
(나중에 한 분이 더 들어오시긴 했지만..)

그래서 반 강제적으로 5/6조의 백엔드는 같이 작업하는 것으로 결정했고,
백엔드를 어떻게 구상할지 남은 한 분과 논의를 하게 됐다.
그런데 여기서 오히려 좋았던 건,
그래서 의사 결정을 빠르게 할 수 있다는 점이었다.
나는 실무에서는 Java를 쓰지만 학습 목적으로 Kotlin을 쓰고 싶었고,
다른 한 분도 Kotlin을 쓰고 계셨어서 언어도 바로 정할 수 있었다.
또한 프로젝트 구조나 나머지 필요한 것들도 빠르게 의사 결정을 해버릴 수 있었다.
(내가 경력이 좀 더 있어서 자연스럽게 팀장이 되었다)
이때 에라 모르겠다 하고, 또 하고 싶었던 멀티 모듈로 구성하기로 협의했다.
처음 구상은 학습을 위해 멀티 모듈과 MSA로 가져가지만,
적은 인원이서 서비스와 관리자를 둘 다 만들어야 하기 때문에 FM으로 하면 시간 상 촉박할 것이라고 판단했다.
따라서 일단 DB를 같이 사용하니 Repository를 합치고 DB 모듈을 하나 따로 만든 후,
"관리자 및 서비스 어플리케이션에서 해당 DB 모듈을 참고하도록 하면 최소한 DB Entity 등의 개발 시간은 줄일 수 있지 않을까?"
라고 생각하여 그렇게 처음 구성을 잡았다.
프로젝트 진행
3명이서 협업을 하기 위해 업무 분담이 필요했다.
나와 우리 팀원들 모두 학습과 성장을 위해 여기 모인 것이기 때문에,
최대한 각자 하고 싶었던 기술을 배우고 도입하면서도 좋은 결과물을 낼 수 있는 방향을 잡으려고 했다.
운이 좋게도 팀원 중 Kotlin을 사용할 줄 아는 한 분은 문서화에 강점이 있어서,
도메인이나 ERD 설계했던 내용들 등의 여러 문서를 GitHub Wiki에 잘 정리해 주셨다.

중간에 합류하신 다른 한 분은 Kotlin을 경험해 보신 적이 없어서,
Kotlin을 따로 학습할 수 있는 시간을 최대한 보장해 드렸다.
그동안 내가 잘 협업할 수 있는 초기 프로젝트 구조를 잡고,
MSA 기반으로 각자 도메인에 맞는 모듈들을 나누었다.
이커머스 도메인이었기 때문에, 인증/상품/주문 모듈로 나누어 각자 하나씩 맡아 진행하기로 했다.
내가 인증 쪽을 먼저 구현하며 세부적인 프로젝트 방향을 잡고,
약간 헤매거나 잘 모르는 분이 계신 경우 잘 이끌어주며 같이 가기 위해 노력했다.
멘토링
Inner Circle에는 리더 피드백 이외에도 주 1회 각 도메인의 고연차 현업 개발자분의 멘토링이 존재했다.
멘토링 신청서를 작성하고, 평일 저녁에 1~2시간 동안 양질의 멘토링을 들을 수 있었다.
나는 이 시간이 엄청 소중하다고 생각했기 때문에,
매주 진지하게 물어볼 것들을 충분히 고민하고 준비하여 멘토링에 임했다.
다행히 정말 열정적이고 좋은 멘토님을 만나서,
실제 현업에서의 여러 방법론이나 코드 리뷰 등 도움이 많이 되는 멘토링을 받을 수 있었다.
확실하지 않은 부분은 회사의 담당자들에게 물어보기까지 해 주시면서 답변을 주시거나,
멘토링 이외 시간에도 도와주시기 위해 소통 채널을 만들어주려고 하시는 등 만족스러운 멘토링이었다.
해당 멘토님과는 수료한 이후에도 단톡방에서 좋은 관계를 유지하고 있다.
뿐만 아니라 Inner Circle의 리더분들도 계속 도움이 필요할 때 적극적으로 도와주셨다.
한 번은 리더님을 붙잡고 2시간 넘게 인프라 관련하여 배움의 시간을 가진 적도 있었다.
협업 규칙
나름대로 팀원 모두의 학습과 성장을 위해 노력했다고 생각했지만,
너무 내가 하고 싶은 대로 하고 있는 것은 아닌가 하는 걱정이 들었다.
그럴 때쯤 리더님이 과정 내에서 사이드 프로젝트 운영 관련한 세션을 준비해 주셨고,
서로가 프로젝트에 기대하고 있는 것을 솔직하게 공유하라는 조언을 들었다.

해당 내용이 고민하던 부분을 관통하는 인상 깊은 내용이어서,
다음 모이는 시간에 바로 서로의 얘기를 하는 시간을 가졌다.
다행히 지금까지의 방향성에 대해 다들 좋게 생각하고 있었고,
프로젝트에 대한 확신을 더 가지고 임할 수 있게 되었다.
중간발표
어느덧 중간 네트워킹 시간에 가까워져 프로젝트 중간발표를 준비하게 되었다.
평소 오프라인 발표 경험을 쌓고 싶어 하기도 했고, 팀장이었던 만큼 자연스럽게 중간발표는 내가 하게 되었다.
중간발표 때까지는 인원이 적다 보니 서비스/관리자 중 서비스만 MVP 형태로 만드는 걸 목표로 했고,
따라서 서비스를 만드는 과정과 우리 팀의 방향성 등에 대한 이야기를 녹이려고 했다.
우리 팀의 아주 멋있는 프론트 팀장님과 같이 발표를 하기로 했고,
개발자뿐만 아니라 PM&UXUI 분들까지 같이 있는 자리였기에
최대한 알아듣기 쉽고 재미있는 발표를 준비하고자 했다.

다른 팀들과는 다르게 우리 팀은 하나의 발표에서 프론트&백엔드가 같이 발표했다.
둘이서 번갈아 가며 최대한 흐름이 끊기지 않는 발표를 준비했고,
재미있는 발표 자료, 최대한 알아듣기 쉬운 설명과 더불어
프론트 팀장님이 준비해 주신 시연 영상까지 보여주며 발표를 마무리했다.
발표와 짧은 Q&A까지 마치고 자리에 돌아오니,
팀원들이 발표 중 가장 좋았다는 긍정적인 평가를 해줘서 기분이 좋았다.

발표 준비를 열심히 한 보람이 있게, 발표 결과에서도 1등을 수상하게 되었다.
피드백으로는 재미있고 알아듣기 쉬웠다는 내용과 시연 영상이 눈에 보여서 좋았다는 반응이 주를 이루었다.
우리의 발표 전략이 틀리지 않았다는 확신을 얻었을 때 정말 기분이 좋았다.
중간발표 이후
중간발표 이후 프로젝트 완성까지의 방향성을 다시 생각해보고자 했다.
백엔드뿐만 아니라 프론트까지 인원이 반토막 나버려서,
관리자까지 구현하게 된다면 기존 인력 대비 2배의 구현을 해야 하는 상황이었다.
기능 구현을 하려면 할 수야 있겠지만,
기한 내에 구현하기 위해 반복되는 작업만 하게 된다면
우리가 목표했던 학습과 성장이라는 측면과 멀어진다고 생각했다.
따라서 관리자를 포기하고 서비스를 더 고도화하는 방향을 제안했고,
프론트 인원분들도 해당 방향성에 공감해 주셔서 빠르게 의사 결정 후 서비스 구현에 집중하게 되었다.
인프라
나는 평소 사용해 보고 싶었던 AWS 기술들이 많았는데,
개인적으로 써보기에는 비용이 발생하고, 회사에서는 도입할 수 있는 상황이 아니어서 아쉬움이 많았었다.
Inner Circle 과정에서는 이런 아쉬움을 해결하고 실제 배포까지 경험하게 해 주기 위해 각 조당 예산을 부여해 줬다.
우리는 5/6조 통합으로 진행하고 있었기 때문에 두 배의 예산을 사용할 수 있었다.
따라서 AWS의 ECS를 통해 마이크로서비스로 구성된 총 3개의 서버를 구축하고,
API Gateway, Elasticache, CloudFront 등 여러 추가적인 기술들을 도입해 보며 기술 욕구를 많이 해소할 수 있었다.
(이때의 인프라 구성에 리더님의 도움을 많이 받았다.)
또한 서버 중 하나를 프리티어로 도입하여 예산을 초과하지 않도록 비용 절감도 해보았다.
관련 내용은 블로그 포스팅으로도 기록해 두었다.
https://hojun-dev.tistory.com/entry/ECS-EC2-프리티어로-Spring-Boot-배포하기
[AWS] ECS EC2 프리티어로 Spring Boot 배포하기 (with GitHub Actions)
개요사이드 프로젝트에서 ECS로 인프라 구성을 진행하는데,여러 Application이 Fargate로 배포되어 비용이 많이 발생하는 문제가 있었다. 비용을 효율적으로 사용하기 위해 태스크 하나를 EC2 프리티
hojun-dev.tistory.com
최종 결과
어느덧 열심히 작업하고, 멘토링 듣고 공부하며 16주 과정의 마지막에 도달했다.
(2기부터는 13주 과정인 것 같은데, 1기는 16주 과정으로 진행되었다.)
코드 퀄리티도 중요하지만, 기한 내에 최종 결과물을 만들고 배포하는 것 물론 중요하기에
마지막 배포 후 시연까지 잘할 수 있도록 작업에 박차를 가했다.
그 결과 아래 사진과 같은 예쁜 디자인의 페이지가 구현되었고,
회원가입부터 주문까지의 전체 프로세스가 동작하는 반응형 웹 페이지를 완성할 수 있었다.
(물론 예쁜 디자인과 반응형은 위대하신 프론트 분들의 피와 땀으로 구성되었다)

최종 발표
마지막 직전 주차에 프로젝트의 최종 발표 일정이 잡혔다.
최종 발표는 아쉽게도 비대면 발표로 구성되어 있었다.
발표 경험을 쌓는 것 자체도 성장에 중요하다고 생각했기 때문에 가능하면 최종 발표는 팀원분께 양보하고자 했다.
(나는 이미 중간발표때 했으니)
백엔드 팀원 중 한 분이 관심을 보이셔서 최종 발표를 양보해 드렸고,
프론트엔드도 발표자가 다른 팀원 분으로 변경되었다.
최종 발표 전 발표하시는 백엔드 팀원분이 나에게 모의 발표 피드백을 요청 주셨는데,
정말 열심히 준비하신 점이 보일 정도로 재밌고 잘 구성된 발표 자료와 시나리오여서 많이 놀랐다.
디테일한 피드백 몇 개 정도 드린 것 외에는 거의 완벽했던 발표 구성이었다.
열심히 준비하신 두 분의 노력에 보답이라도 하듯, 최종 발표 역시 아주 완성도 있고 유익하게 잘 끝났다.
아쉽게도 최종 발표는 순위 매기기가 없었지만, 나는 정말로 우리 팀이 1등이었다고 생각한다.
수료식
최종 발표 바로 다음 주에 Inner Circle의 마지막 과정인 수료식을 진행했다.
마지막으로 다 같이 오프라인에서 한 곳에 모여 팀원들과 반갑게 인사했다.
레크리에이션 및 회고 등이 진행되고, 수료식의 마지막을 향해갈 즈음 각 파트의 MVP를 발표했다.
가장 먼저 프론트엔드 MVP가 발표되었는데,
우리 팀의 최종 발표를 진행했던 팀원분이 선정되었다.
역시나 과정 내에서 두각을 나타내셨던 분이었던 만큼, 당연히 받을만했던 것 같다.
다음으로는 백엔드 MVP가 발표되었다.

사실 정말 열심히 했고 출석률도 매우 좋았다 보니 어느 정도 예상은 하고 있었는데,
그래도 지금까지 열심히 한 게 헛되지 않았다는 걸 증명한 것 같아 정말 기분이 좋았다.
이 외에 아차상(?)에서도 너무 당연히 모두가 예상했듯 우리 팀의 프론트엔드 팀장님이 선정되었다.
개인 결과도 우리 팀이 휩쓴 만큼 우리 팀 모두가 너무 잘한 것 같아서 만족스러웠다.
끝나고
Inner Circle 전 과정을 마치고 돌아보니 아래와 같은 것들이 남았다.
- 기술 스킬 향상 : 현업에서 안 써본 최신 기술들을 마음껏 활용해 보고 학습할 수 있었다.
- 협업 스킬 향상 : 팀원들과 꾸준한 협업을 경험하고, 온라인으로 진행되는 어려운 협업 환경을 극복한 만큼 성장했다.
- 멋있는 동료들 : 과정 끝나고도 연락하고 지내는 단톡방과, 멘토님 및 리더님들과도 지속적으로 연락하고 배우고 있다.
- 또 다른 기회 : Inner Circle 우수 사례 회고 세션 진행, 이후 패스트캠퍼스 측의 여러 활동 제안 예정(?)
Inner Circle 과정을 하지 않았다면 이러한 성과를 가지기 정말 어려웠을 것이라고 생각한다.
해당 과정에서의 성과를 바탕으로 현업에서도 더 자신감 있게 임할 수 있게 된 것 같고,
특히 멋있는 동료들을 많이 얻은 것은 앞으로 커리어에 있어서 큰 힘이 될 것 같다.

'일상' 카테고리의 다른 글
| 2025년 회고 (0) | 2026.02.23 |
|---|---|
| 2024년 회고 (4) | 2025.02.09 |
| 인프콘 2024 후기 (0) | 2024.08.09 |
| 대형 면허 도전기 (+ 불합격에 익숙해지기) (0) | 2024.04.29 |
| 2023년 회고 (1) | 2024.01.05 |
