[SOPT] 라이온하트 2차 회고, 그리고 솝트 32기 회고

 

라이온하트 2차 회고

SOPT 32기 회고

 

GO SOPT & LionHeart

 

IT 동아리 솝트에서 진행한 앱잼에서 누구보다 뜨거운 여름을 경험하였고이를 나중에도 떠올릴 수 있도록
5주간 라이온하트 서버를 개발하면서 배운 점들과 아쉬웠던 점
그리고 최종적으로 솝트 32기 활동을 돌아보는 과정을 글로 녹여내보려 한다.

 

상반기를 거의 솝트와 보냈기 때문에 사실상, 상반기 회고라고 생각한다.

 

 

지난 회고

 

[SOPT] 앱잼, 라이온하트 개발 중간 회고

SOPT 앱잼, 1차 회고 IT 동아리 SOPT에서 경험하게된 앱잼의 합숙 1주차가 지나며, 한 주간 라이온하트 서버를 개발하면서 겪은 감정과 경험을 글로 녹여내는 시간을 가지려고 한다. 🦁 라이온하트?

pgmjun.tistory.com

 

 


 

📱 앱잼 과정

 

라이온 하트와 함께한 앱잼은 3주간의 세팅, 2주간의 개발로 총 5주의 시간을 팀원들과 함께했다.

 


⚙️ 기초 세팅 기간(3주)

(2023.06.18 ~ 2023.07.09)

 

 

3주 동안은 개발을 위한 협업룰 지정, 프로젝트 설계, 기초 세팅에 매진하는 기간이었다.

이에 대해 상세히 기록해보고자 한다.

 


📝 1. 주요 협업룰

 

🤝 공유 문화

아직 학습이 많이 필요한 부분이 많이 있었지만,
서로 래퍼런스를 열심히 공유하고 아는 것을 나누는 공유 문화 덕분에 정말 빠르고 문제없이 세팅이 가능했다.

 

 

🤔 코드 리뷰

또한 아래와 같은 코드리뷰 룰을 정하여 서로의 코드를 분석하고 이해할 수 있는 기회를 마련하였다.

코드리뷰 룰


덕분에 자신이 구현하지 않은 코드에 대해서도 충분한 이해도를 가져갈 수 있었다.

 

'같이의 가치'란 이런 것들이 아닐까 하고 생각한 시간이었다.

 

 


💭 2. 프로젝트 설계

 

1. 기획 측이 준비한 기능 명세서와 피그마를 보며, ERD를 설계

 

ERD

ERD는 동시 협업이 가능한 무료 툴 ERD 클라우드를 통해 수행하였다.

 

팀 단위로 ERD를 생성하여 관리가 가능하고, 변경되는 사항들이 실시간으로 반영되어 협업이 수월하였다.

 

(ERD클라우드에 대해 알고 싶다면 아래 포스팅 클릭!)

 

[데이터베이스] ERD cloud 사용법 - 무료 ERD 모델링 도구

안녕하세요! 동아리에서 팀 프로젝트 중이라 오랜만에 게시글을 올립니다ㅠㅠ 프로젝트를 하면서 ERD를 설계할 일들이 있는데요 이번 프로젝트 팀원 분께서 ERD cloud라는 ERD 모델링 도구를 추천

pgmjun.tistory.com

 

 

2. 기능 명세서와 ERD를 참고하며, 서비스에 필요한 API 명세서를 도메인 단위로 구분하여 설계

 

API 명세서 일부

 

API 명세서 설계는 대표적인 협업 툴인 Notion을 사용해 소통하며 설계함.

 

 

3. 역할 분담

 

경험하고 싶은 기능 또는 담당하고 싶은 도메인을 정하고,
최대한 비슷한 양의 경험을 할 수 있도록 소통을 통해 역할을 분담했다.

 

이때 비활동 기수였던 혁준이 형은 이미 많은 프로젝트를 경험해 보았기에 YB였던 우리에게
최대한 경험하고 싶은 것들을 선택할 수 있도록 배려해 주었던 것이 너무 고마웠다!

 

이 외에도 3주간 아래와 같이 꽤나 많은 업무를 수행하였다.

 

- 깃허브 Organization, Repository 생성

- CI/CD 무중단 배포 파이프라인 구축

- JWT, OAuth2 카카오 로그인 적용

- 멀티모듈 분리

 

 


💻 개발 기간(2주)

(2023.07.10 ~ 2023.07.21)

 

 

이렇게 설계된 API는 2주의 실제 개발 기간 동안 구현되었다.

 

API 개발은 사실 크게 어렵지 않았는데, 개발 이후 클라 측과 연결하는 과정에서 정말 많은 오류가 발생했다.

 

서로 DTO의 필드명이 일치하지 않아 데이터 매핑에 실패해 오류가 발생하거나,
출석체크 API 로직에서 이미 출석체크가 되었는지 확인하는 로직이 빠져있어 계속해서 출석체크가 무제한 수행되는 문제 등 다양한 문제가 발생했었다.

 

때문에 개발 기간엔 오류 처리에 대해 많은 고민을 한 것 같다.
그리고 그 결과로 아래와 같은 포스팅이 나오게 되었다.

 

 

[SpringBoot] 스프링부트 예외 발생 시, Slack으로 알림 보내기 (feat. Slack WebHooks)

스프링부트 with Slack슬랙 WebHooks 사용하여 에러 로깅해보기 서버를 개발하다보면 미처 처리하지 못한 알 수 없는 에러가 발생하는 경우가 종종 발생한다. 이런 경우 로컬 환경이라면 금방 디버깅

pgmjun.tistory.com

 

[SpringBoot] LogBack을 통한 로깅 설정

스프링부트 LogBack 🔥 문제 의식 로그 관리를 효율적으로 해야겠다는 생각이 든 건 라이온하트 서버를 개발하는 과정에서였다. 서버 로직을 개발할 땐 크게 문제될 상황이 없었지만, 클라이언트

pgmjun.tistory.com

 

 

오류 처리 외에도 가독성 있는 코드를 짜기 위해 노력했다.

오랜 시간이 지난 뒤에 보아도, 곧바로 이해 가능한 코드를 작성하고 싶었다.

 

때문에 최대한 클린하고 객체지향적인 코드를 짜기 위해 많은 노력을 기울였다.

섬세한 코드 리뷰가 이것에 많은 도움을 주었던 것 같다.

팀원들과 코드리뷰

 


 

🦁 라이온하트에서 얻은 것

 

정말 소중했던 시간인 라이온하트에서 5주간 얻은 것들에 대해 적어보려 한다.

 


👥 사람

 

사실 5주 동안 얻었다고 생각하는 가장 큰 건 사람인 것 같다.

너무 좋은 사람들을 만났고 매 순간이 즐겁고 감사한 시간들이었다.

 

합숙하는 2주간 정말 힘들 법도 한 스케줄이었다.

쉬는 시간 많이 없이 진짜 개발만 엄청나게 해서 나가서 놀았던 기억이 많이 없다.

그래도 정말 묵묵히 자기 역할 다해준 팀원 너무 고마웠고

특히 동현이랑 선환이는 곧 군대 가는데도 함께 너무 열심히 해줘서 고마웠다.

 

이번에 서버 팀원들과 자바 코테 스터디도 시작하게 되었다!

너무 든든한 개발 인생의 동반자들을 만난 것 같아 요즘 너무 행복하다.

 

너무 소중한 인연들이고 같이 라이온하트 릴리즈까지 가보자!🔥

 

 


📈 단기간에 이루어진 큰 폭의 발전

 

혼자가 아닌 라이온하트라는 팀이, 그리고 너무나도 열정적이고 적극적이었던 우리 서버파트원들이 있었다 보니

새로운 것도 두려움 없이 시도해 볼 수 있었고 3명이 함께 학습해서 공유하니 효율도 3배였다.

 

정말 평생 함께하고 싶은 사람들은 만난 것 같다.

서로 최대한 아는 것을 나누고 함께 성장하려고 발버둥 친 덕분에 2주 동안 너무나 큰 발전이 있던 것 같다.

 

Multi-Module, Logback 처리, 슬랙 오류 알림, BlueGreen CI/CD, 운영서버 개발서버 분리, Service Layer Utilization, 협업 경험 등
너무나 많은 것들을 학습할 수 있었고

 

개발자 인생의 터닝 포인트가 라이온하트라고 할 수 있을 정도로 소중한 시간이었다.

 


 

📊 아쉬웠던 점에 대한 보완

 

중간 회고 당시 기록한 아쉬웠던 점

아쉬웠던 점이라고 느낀 것들에 대한 이행률에 대해서도 기록해보려 한다.

 

 

브랜치 컨벤션 ✅

 

간단하다고 생각되는 수정사항이 발생하면 이슈와 브랜치를 생성하지 않고 develop에 그대로 push 하는 잘못을 저질렀었고, 브랜치 전략을 잘 지키고 이행하자

고 다짐하였었다.

 

이는 정말 열심히 수행했던 것 같다.

작은 버그라도 꼭 브랜치로 이슈와 PR 기록을 남겨 발생했던 이슈들에 대해 기록을 남겨두었다.

Bug에 대한 이슈 생성

 

 

테스트 코드 ❌

 

테스트 코드는 정말 아쉽게도 마지막까지 제대로 지켜지지 못했다.

테스트 코드에 대한 공부가 부족했고, 실제 개발에 들어간 2주라는 짧은 시간 동안 공부하기란 쉽지 않았다.
그리고 “할 거면 제대로 공부해서 적용해야지”라는 나의 욕심도 영향이 있었다.

 

 

실패에 대한 보완 계획 ✨

 

아무래도 테스트 코드 작성이 필요한 우테코 6기도 준비해야 하는 것도 있고,
앞으로 개발자로서 성장하기 위해서도 테스트 코드 작성방법을 모르는 것은 정말 중요한 문제이다.

때문에 여유가 다시 생긴 지금 TDD(Test Driven Development)를 학습하려 한다.

 

구매한 TDD 세션 티켓

구체적인 학습을 위해 한빛 N MSA에서 주최하는 TDD 세션 티켓을 구매했다.

이 또한 AUSG콘에 이어, 솝트 서버 파트원들과 함께 가는 2번째 세션이기에 정말 기대된다!

솝트에 들어온 덕분에 올해가 정말 알찬 것 같다.

 


 

✨ GO SOPT에서 배우고 느낀 것

 

솝트의 마지막 활동이었던 앱잼이 끝난 이상 SOPT에 대한 회고도 지나칠 수 없다.

때문에 솝트에서 활동하며 배운 것을 정리해 보았다.

 

 


"혼자보단 여럿이서"

 

솝트에서 활동하며 사람들과 연결되는 일이 얼마나 중요한지 알게 되었다.

솝트의 네트워킹은 어떤 블로그 후기를 봐도 항상 언급되는 내용이었기 때문에
가장 큰 지원 동기 중 하나는 사람이었고 면접 장소에서 나는 이런 말을 했다.

"실력보다 사람을 얻어가고 싶습니다."

 

 

혼자 공부해서 실력을 쌓는다고 해도 결국 개발은 사람들과 함께 하는 것이다.

내가 아무리 잘한다고 한들, 팀원들과 페이스가 맞지 않다면 결국 모두 지치게 된다.

때문에 중요한 것은 함께 성장하기 위한 문화이고, 솝트는 공유하는 문화 장려를 통해 이를 살려나간 것 같다.

 

공유하는 문화의 장점은 이렇다.

100명의 사람들이 각자 자기가 배운 것을 1개씩 공유한다고 할 때, 나는 1개를 공유하고 99개를 얻어가게 된다.

1배속으로 성장할 것을 100배속으로 성장할 수 있게 되는 셈이다.

공유 덕분에 내가 최소 몇 개월 뒤에 알게 될 수 있던 것을 지금 당장 알게 되는 경우가 많았는데 정말 효율적이었다고 생각이 들었다. 

 

이러한 분위기의 솝트에서의 활동을 통해 '같이의 가치''함께의 든든함'을 깊이 있게 배울 수 있었고

나도 누군가에게 도움이 되고자 공유하는 문화 조성을 위해 정말 많이 노력했다.

 

서버파트 자료 공유 DB에 공유한 자료들

 

이 글을 읽는 당신이 사람들과 함께한다는 것의 가치를 아직 느끼지 못했다면,

"무거운 것을 옮길 때, 혼자서 하는 것과 여럿이서 하는 것의 차이"

정도로 생각해 보면 어떨까?

 

 


"세상은 넓고 고수는 많다"

 

부끄럽지만, 솔직하게 말하면 난 솝트에 들어오기 전엔 "그래도 나 정도면 잘하지~"라고 생각했다.

주변에 비교군이 없기도 했고 솝트인들 처럼 미친 듯이 공부하는 사람들은 없었기 때문이라고 생각한다.

 

아무튼 나의 안일한 생각은 솝트에 들어온 지 4주 차만에 무너지고 만다.

난생처음 보는 생소한 코드, 어노테이션 등을 세미나를 통해 배우게 되었고,
떨어졌던 소프트웨어 마에스트로에 합격한 사람도 있었다.


이런 상황 속에 있다보니, 나의 안일했던 생각에 많이 반성하게 되었다.

 

그리고 동기부여도 너무 많이 받았다.

대부분이 서울권 대학에 재학 중인 사람들이었고,

비전공자 출신이지만 정말 출중한 실력을 갖춘 사람들도 있었으며

내가 저 사람처럼 될 수 있을까?라는 의문마저 들던 고수들이 득실득실했다.

 

이러한 무리 내에 있으니 열심히 해야겠다는 생각이 절로 들어 많은 동기부여를 받았다.

그리고 이 안에서 실력으로 인정받는 사람이 되기 위해 정말 노력했고, 그래도 나름 잘 해낸 것 같아서 만족스럽다!

(그 와중에 아쉬운 점이라면 재학 중이었기에 많은 번개나 모각공에 참여하지 못했던 점..)

 


 

🌸 솝트 32기, 그리고 앱잼을 마치며 🌸

 

SOPT

 

"💭 32기 솝트의 핵심가치, 연결 용기 책임"

이번 GO SOPT의 핵심가치 3가지는 연결 용기 책임이었다.

  • 이해를 바탕으로 사람들과 소통하여 연결될 수 있는 사람
  • 실패를 두려워하지 않고 도전할 용기가 있는 사람
  • 맡은 일에 책임을 갖고 끝까지 완주할 수 있는 사람

 

32기 GO SOPT를 마치며 가장 먼저 한 것은, 내가 이 핵심 가치에 정말 부합한 사람이었는지를 되돌아보는 일이었다.

 

누군가 나에게 "너는 핵심가치에 부합한 사람이었어?"라고 물어봤을 때,
자신있게 "그렇다."라고 말할 수 있을 것 같다고 생각했다.

 

특히 사람들과의 연결을 위해 시험 기간 1번 외엔 모든 뒷풀이에 참석했고 타 파트와의 소통도 열심히 했던 것 같다.

처음엔 정말 열심히 했는데, 솝트인들이 하나같이 너무 좋은 사람들이다 보니 나중엔 열심히랄 것도 없이 물 흐르듯 자연스레 연결되고 있었던 것 같다.

 

32기를 경험하는 동안 내 곁엔
꿈과 목표를 같이하는, 그리고 서로 든든한 버팀목이 되어주는 동료들이 정말 많이 생겨났다.

 

그렇게 연결된 사람들 덕분에 얻은 용기를 통해 많은 새로운 시도와 도전을 해볼 수 있었고,

이러한 모든 과정에서 사람들과 연결되며 자라난 솝트에 대한 애정과 사랑 덕분에 책임감을 가지고 GO SOPT의 활동을
멋지고 알차게 마무리할 수 있었다.

결국 모든 의미 있는 경험은 '사람'으로부터 발생된다며, '사람'으로 연결된다는 것을 배운 소중한 시간이었다.

 

너무나 행복했던 기억으로 남은 32기를 시작으로 솝트와의 연을 계속해서 이어가보려 한다:)

 


 

끝이 아닌, 새로운 시작 🛫

 

  • SOPT MIND 콘퍼런스 MINDER 활동
  • SOPT 33기 지원
  • SOPT Makers 3기 지원
  • 라이온하트 서버 파트원들과 자바 코딩테스트 스터디
  • 라이온하트 1차 릴리즈 준비
  • 솝트 내에서 우테코 스터디 개설 후, 우테코 6기 준비

 

32기는 끝났지만 솝트 관련할 일만 이만큼이나 있다. 사실상 지금부터 시작이다..

전부 포스팅 감이기에 여기서 자세히 기록하진 않겠다..

 

Next 회고 커밍순,,,

 

긴 글 읽어주셔서 감사합니다:)

728x90