카카오 테크 캠퍼스 수료 및 대상 🏆

2023. 11. 19. 18:34프로젝트/[축팅]축제 소개팅 어플리케이션 - 카카오 테크 캠퍼스 1기

728x90

 

올해 초부터 계속 진행해온 카카오 테크 캠퍼스가 끝났다.

우리 팀이 라춘상을 받았는 데 열심히 해준 팀원분들 너무 감사합니다.

 

 

(상 이름도 참 이름도 카카오스럽다...)

 

 

아무튼 더 나은 개발자가 되기 위해서 개인 회고를 진행해보려고 한다.


[깃허브 링크]

https://github.com/Step3-kakao-tech-campus/Team14_BE

 

GitHub - Step3-kakao-tech-campus/Team14_BE: 14조 Spark

14조 Spark. Contribute to Step3-kakao-tech-campus/Team14_BE development by creating an account on GitHub.

github.com

 

 

개인 회고 - 팀장

주간 회의와 팀 소통

매주 월요일 아침, 비대면 주간 회의를 통해 프론트엔드(FE)와 백엔드(BE) 팀의 진행 상황을 점검하고 주요 요구사항과 리마인드를 제공합니다. 또한, 데일리 스크럼을 통해 팀원들이 당일의 작업 계획을 공유하고, 이를 통해 투명한 소통과 협업을 촉진하고 있습니다.

FE 팀의 역할 재분배

FE 팀 내 역할 불균형 문제를 해결하기 위해, 팀원들의 업무를 재분배하려고 노력했습니다. 초기에는 한 명의 개발자가 대부분의 기능을 담당하고 있었으며, 이로 인해 다른 팀원들의 참여도가 낮아졌습니다. 이를 파악하기 위해 FE 개발자들과 직접 소통하며 문제의 원인을 이해하고 해결 방안을 모색했습니다.

문제 해결을 위해 남아있는 기능들을 목록화하고, 다른 FE 개발자들이 자신의 역량에 맞는 작업을 자율적으로 선택할 수 있는 기회를 제공했습니다. 이를 통해 팀원 간의 역할 분담이 개선되었고, 전체적인 작업 효율이 향상되었습니다.

스프린트와 프로젝트 진행

프로젝트 진행을 위해 매주 스프린트를 계획하고 실행하였습니다. 이를 통해 프로젝트 목표를 명확히 설정하고, 단계별로 목표를 달성하며 프로젝트를 성공적으로 이끌 수 있었습니다.

BE 팀의 역할 분배

백엔드 팀에서는 팀장으로서 각 팀원들의 실력과 요구를 고려하여 역할을 배분하였습니다. 이를 통해 팀원들이 각자의 강점을 발휘할 수 있도록 하였고, 팀의 전체적인 생산성을 높였습니다.

 

개인 회고 - BE 개발자

 

좋았던 점

  1. 주간 회의 시간 준수: 모든 팀원이 주간 회의 시간을 잘 지켜, 원활한 의사소통이 가능했습니다.
  2. 다양한 분야의 협업: 기획, 디자인, 개발 등 여러 분야에서 의견을 나누고 함께 고민한 경험이 유익했습니다.
  3. 백엔드 배포 효율성: 백엔드 팀의 빠른 배포 덕분에 프론트엔드 작업이 수월하게 진행되었습니다.
  4. 기술 적용 기회: 다양한 기술을 실험적으로 적용해 볼 수 있는 기회가 있었습니다.
  5. 복잡한 기능 구현: 내가 담당한 인기 피드 기능이 단순 CRUD를 넘어서는 작업이어서 도전적이고 재미있었습니다.
  6. 좋은 멘토링: 멘토로부터 유익한 피드백과 조언을 받을 수 있어 좋았습니다.
  7. 기술 도입과 설득 과정: 특정 기술을 프로젝트에 도입하고 팀원들을 설득하는 과정이 즐거웠습니다.
    • Instant 클래스 도입
    • 클린 아키텍처 도입 시도
    • 3 Layered Architecture 개선

배운 점

  1. 이미지 업로드 및 조회: 외부 폴더 경로를 이용한 이미지 업로드와 조회 방식을 배웠습니다.
  2. 단위 테스트: POJO 단위 테스트 방법과, 외부에 의존하는 요소는 메서드 매개변수로 분리하는 방법을 익혔습니다.
  3. 프로필 관리: 실행 환경에 맞게 프로필을 나누는 방식을 알게 되었습니다.
  4. 환경변수 주입: 환경변수 주입 방법에 대해 학습했습니다.
  5. 예외 처리와 트랜잭션 관리: Java의 Exception 종류에 따른 트랜잭션 고려 및 예외 처리 방식을 배웠습니다.
  6. 코드 가독성: 코드를 가독성 있게 작성하는 방법을 익혔습니다.
  7. 피드백 요청과 수용: 구체적인 피드백을 요청하고 수용하는 방법을 배웠습니다.
  8. API 문서 관리: Notion으로 초기 API 문서를 작성하고, 이후 Swagger로 관리하는 방법을 배웠습니다.
  9. 빠른 배포 중요성: 배포를 신속하게 진행하는 것이 중요함을 깨달았습니다.
  10. 개발 순서: 외부 Layer부터 개발을 시작하고 내부 구현을 나중에 진행하는 방식을 배웠습니다.
  11. 기술 도입의 이유: 아키텍처나 기술을 적용할 때 항상 '왜'를 생각하며 접근하는 중요성을 인식했습니다.
  12. 프론트엔드와의 협업: 백엔드 API는 프론트엔드가 주로 사용하기 때문에, 이를 최적화하는 방법을 배웠습니다.
  13. 대용량과 소량 데이터 처리: 대용량뿐만 아니라 데이터가 적을 때도 고려하는 방식을 배웠습니다.
  14. 멀티스레드 환경과 ThreadLocalRandom: 멀티스레드 환경에서 ThreadLocalRandom 클래스를 사용하는 이유를 이해했습니다.
  15. 단위 테스트 격리: 단위 테스트는 서로 격리되어야 한다는 점을 깨달았습니다.
  16. 테스트 환경 관리: Redis와 같은 외부 저장소를 사용할 때, 테스트 후 상태를 원래대로 복원하는 것을 배웠습니다.

아쉬웠던 점

  1. API 문서 관리 부족: Notion을 사용하여 작성한 API 문서가 BE 변수명 변경 시 제대로 반영되지 않았습니다.
  2. Swagger 관리 부족: 정적 Swagger에 대한 관리가 부족했습니다.
  3. 개인 일정 관리 부족: 시험 기간과 다른 프로젝트와 병행하여 최선의 성과를 내지 못한 부분이 아쉬웠습니다.
  4. 리팩토링 부족: 인기도 반영 시 스케줄러 대신 Spring Event로 리팩토링하지 못한 점이 아쉬웠습니다.
  5. 코드 리뷰 부족: 코드 리뷰를 도입했으나, 실제로 적극적으로 진행하지 못했습니다.
  6. 배포 프로세스 이해 부족: 배포 프로세스에 대한 이해가 부족했습니다.
  7. 클린 아키텍처 도입 실패: 클린 아키텍처를 도입하려 했으나 충분한 이해가 부족했습니다.

바라는 점

  1. 외부 Layer 우선 개발: 다음 프로젝트에서는 외부 Layer를 먼저 개발하는 방식을 시도해 보고 싶습니다.
  2. 빠른 배포: 배포를 신속하게 하는 방법을 배우고 적용하고 싶습니다.
  3. 아키텍처의 유연성: 프로젝트 초기에는 3 Layered Architecture를 사용하고, 필요에 따라 아키텍처를 변화시킬 계획입니다.
  4. 기술 도입의 이유: 개발할 때 항상 '왜?'를 생각하며 이유를 명확히 하도록 노력하겠습니다.
 
 
 

올해 한 학기 동안 카카오 테크 캠퍼스와 학교 생활, 그리고 프로젝트를 병행하며 바쁜 시간을 보냈습니다. 이러한 경험은 뿌듯하기도 했지만, 동시에 여러 아쉬움을 남기기도 했습니다.

이번 학기를 통해 깨달은 중요한 교훈은 "한 번에 여러 가지 일을 하지 말자"는 것입니다. 여러 가지 일을 동시에 진행하면, 각 작업에 100%의 역량을 발휘하기 어렵습니다.

 

동아리 프로젝트인 Dotoring과 카카오 테크 캠퍼스에서 진행한 축팅 프로젝트를 동시에 수행하면서, 코드의 퀄리티를 높이거나 관련 개인 공부를 할 시간이 부족해졌습니다. 결국, 할당된 작업을 마치는 데 급급해 개인적인 학습 시간이 많이 부족했던 것 같습니다.

 

 

남아있는 올해와 내년에는 공부했던 지식을 서로 연결시키며, 누군가가 질문했을 때 막힘없이 대답할 수 있을 정도로 지식을 체화시키고 싶습니다.

 

 

 

728x90