
부트캠프 19주차 회고를 적어본다.
이번주 월요일 및 화요일은 데브옵스 프로젝트의 진행, 발표(체험 부스 형식), 데브옵스 교과목 평가가 진행되었고, 수요일부터는 최종 프로젝트가 시작되어 기획 작업에 들어갔다.
데브옵스 프로젝트에 대한 자세한 내용은 별도의 프로젝트 회고에서 다루는 것으로 하고, 여기서는 일부 내용만 간략하게 정리한다.
수업 및 이전 백엔드 프로젝트에서는 CQRS 패턴을 적용한 코드 작성 방법을 배웠으며, 특히 command 영역에는 JPA, query 영역에는 MyBatis를 이용하였다.
이번 데브옵스 프로젝트는 기간이 짧아 기능 수가 적고 구조가 비교적 간단하므로, 아래와 같은 구조를 사용하였다.
MyBatis 없이 JPA만 이용하려니 동적 쿼리 작성이 다소 복잡해지긴 했으나, 덕분에 Spring JPA 환경에 대한 이해도를 높이며 다른 패턴에 대해 공부해볼 수 있었다. 관련 내용은 다음과 같다.

public interface ProblemRepository extends JpaRepository<Problem, Integer> {
}
public interface ProblemRepositoryCustom {
}
@Repository
public class ProblemRepositoryImpl implements ProblemRepositoryCustom {
}
XXXRepository: JPA 기본 repositoryXXXRepositoryCustom: JPA 기본 repository를 확장하여 사용하기 위해 필요한 인터페이스XXXRepositoryImpl: 실제 동적 쿼리를 작성하는 XXXRepositoryCustom의 구현체CustomXXXRepository 등 사용 불가)이번 프로젝트 발표는 각 조에서 체험 부스를 운영하는 방식으로 진행되었다. 기존의 PPT 발표 방식에 비해 다른 조가 어떤 서비스를 만들었는 지를 잘 파악할 수 있는 점은 좋았으나, 트러블슈팅 과정에 대한 공유가 부족했던 점이 아쉬웠다.
모든 방식에는 서로 장단점이 있기 마련인데, 새로운 방식을 한 번 경험하고 이를 비교해볼 수 있어서 좋았다.
프로젝트 발표 종료 후에는 데브옵스 교과목에 대한 평가가 진행되었다.

단원 평가가 끝난 직후에 매니저님께서 필자의 이름을 거론하며 1등이라고 발표하셨고, 강사님께서는 10기, 15기 역사 상 100점은 처음이라고 말씀하셨다.
사실 잘 모르겠어서 찍은 문제들이 꽤 많았기에, 프론트엔드 단원 평가 정도 혹은 그 이하의 점수를 예상하고 있었다. 100점을 맞는 것은 계획에 없던 일이었는데, 운 좋게 찍은 문제들까지 모두 맞힌 덕분에 역사를 쓸 수 있었다. 이 운을 여기에 쓸 게 아니라 로또에 썼어야 했는데...
스스로 평가해보았을 때 Docker, Kubernetes, Jenkins 중 Kubernetes에 대한 이해도는 다소 부족한 상황으로 진단된다. 데브옵스 교과목에 대한 복습을 열심히 하여, 100점이라는 평가 결과가 부끄럽지 않도록 이해도를 보완해야겠다.
최종 프로젝트는 지난 주 중 회의를 통해 결정된 인사 관리 시스템을 주제로 진행하게 되었다.
기획 단계 중 기존 서비스 조사를 위해, 필자가 이전 직장에서 출결 관리에 이용해본 flex 서비스에 무료 체험을 신청하여 제공되는 기능을 테스트하였다. 화면이 없는 상태에서 기능 정의나 요구사항 명세서를 작성하려면 막막한 부분이 있는데, 기존 서비스를 직접 체험해보는 과정은 많은 도움이 되었다.
최종 프로젝트 기획에서는 해당 서비스를 구성하기 위해 필요한 용어 공부 또한 필요했다. 몇 가지 예시는 아래와 같다.
직장 생활 경험이 있는 필자의 경우 정확한 의미까지는 몰라도 대략 알고 있는 용어들이 대부분이었으나, 팀원들에게는 생소한 용어였다. 특히 직위, 직급 등의 용어는 출처에 따라 설명이 달라 혼란스러웠다.
프로젝트 규모가 커지다보니 기획 단계에서의 어려움이 다소 있지만, 팀원 및 배정받은 멘토님과 함께 조율해가며 기획을 잘 마무리 해야겠다.
프로젝트를 여러 번 진행해보며 개발 프로세스에 대한 이해도가 높아지고 있는 듯하다. 부트캠프 종료 후에 알고리즘 공부, 기술면접 대비도 필요하지만 작은 프로젝트라도 몇 개 진행해보며 실전 감각과 개발 역량을 길러나가야 겠다.
운도 실력 ㅋ !