
부트캠프의 모든 교육과정이 끝났다. 지난 6개월을 돌아보며 회고를 남겨본다.



커리큘럼은 4개의 교과목과 각 교과목별 프로젝트, 이후의 최종 프로젝트로 구성되어 있었다.
SQL, 데이터베이스, 소프트웨어 공학, 리눅스에 대해 학습하였다.
Java, 자료구조, 알고리즘, Spring에 대해 학습하였다.
HTML, CSS, JavaScript, Vue에 대해 학습하였다.
데브옵스의 개념과 배포에 필요한 Docker, Kubernetes, Jenkins에 대해 학습하였다.
아무래도 온라인 교육은 집중력이 흐트러지기 쉬운데, 오프라인 교육이어서 집중하기가 좋았다.
강사님, 매니저님, 동료 수강생과 같은 공간에서 함께할 수 있는 점이 좋았다. 독학으로 공부하다가 사람들을 만나니, 오랜만에 대학교에 다시 간 것 같은 기분이었다. 사람 사는 맛 나고 좋았다.
6개월동안 총 5번의 팀 프로젝트를 진행하였으며, 총 3번의 팀빌딩을 거쳤다.
프로젝트를 기획하고 DB 구축, 기능별 SQL 작성, 리눅스 DB 서버 구축하는 프로젝트였다. 처음으로 해보는 개발 관련 프로젝트여서 막막했지만 팀원들이 잘 이끌어준 덕에 많이 배울 수 있었다.
ERD 작성, SQL 작성 등 DB 구축 과정 및 회의, 문서화는 이후 진행되는 모든 프로젝트에서 반복되는 작업이었기에, 첫 번째 프로젝트에서의 경험이 이후 프로젝트의 밑거름이 되었다.
두 번째 팀과는 프로젝트를 기획하고 백엔드 코드를 작성하는 백엔드 프로젝트, 동일한 프로젝트에 대해 화면을 구성하고 백엔드와 연동하는 프론트엔드 프로젝트를 진행하였다.
짧은 시간 동안 배운 내용을 바탕으로 처음 백엔드, 프론트엔드 개발을 진행하려니 어려움이 많았다.
세 번째 팀과는 프로젝트 기획부터 백엔드, 프론트엔드에 배포까지 진행해야하는 데브옵스 프로젝트, 약 2개월 정도의 기간에 모든 과정을 진행하고 AWS 배포까지 완료하는 최종 프로젝트를 진행하였다.
데브옵스 프로젝트는 볼륨을 줄인 대신 2주라는 짧은 기간동안 배포까지 완료해야 하는 프로젝트였다. 백엔드, 프론트엔드 개발을 두 번째 팀에서 경험해본 덕에 흐름을 파악하고 나니, 비교적 큰 어려움 없이 마무리할 수 있었다. 백엔드, 프론트엔드 프로젝트에 비해 기간은 훨씬 짧았지만, 더욱 완성도 높은 결과물을 만들 수 있었다.
기능 구현에 급급했던 이전과 달리 데브옵스 프로젝트에서는 맡은 기능에 대한 개발을 완료하고 전체 기능을 테스트할 여유가 생겼고, 최종 프로젝트에서는 발생한 버그를 고치거나 WARN 로그의 원인을 파악하여 고칠 수 있을 만큼 성장할 수 있었다. 필자의 팀이 기수 최우수 프로젝트로 선정되었는데, 이 프로젝트에서 한 사람 몫을 충분히 해낸 점 또한 만족스러웠다.

네 번째 프로젝트인 데브옵스 프로젝트까지는 주어진 2-3일 정도의 프로젝트 기간을 제외하면, 대부분 수업이 끝난 이후 남아서 혹은 귀가 후에 진행해야 했다. 하루 8시간의 교육 일정을 소화하는 것도 쉽지 않았는데, 프로젝트까지 병행하려니 정신이 없었다. 세 번째 프로젝트까지는 귀가 후, 주말 및 휴일도 없이 프로젝트를 진행하는 것이 일상이었지만, 네 번째 프로젝트부터는 비교적 여유롭게 진행할 수 있었다.
6개월 동안 단 한 번의 지각, 결석 없이 모든 교육일에 출석을 완료하였다.

필자는 시간 약속을 매우 중요하게 생각해서, 초등학생 때는 약속 시간에서 1분이 지난 시점까지 친구가 나타나지 않으면 바로 집에 가버리기도 했다. 이제는 상대방 혹은 필자가 약속 시간에 늦는 경우가 생겨 지나친 경우가 아니라면 이해하고 기다릴 수 있게 되었지만, 여전히 기상 악화 등 불가피한 일이 없다면 최대한 약속 시간을 준수하려고 하는 편이다.
약속 시간에 늦는 걸 흔히 코리안 타임이라 부르기도 하지만, 공적인 일에서는 용납되지 않는 행동일 것이다. 시간 약속을 잘 지키려는 태도는 앞으로도 쭉 가져갈 것이다.
교육 기간 동안 26번의 주간 회고, 6번의 월간 회고를 빠짐 없이 작성하였다. 프로젝트를 진행하느라 너무 정신 없었던 주에는 양질의 회고를 작성하지 못한 때도 있었지만, 그래도 제출 기한을 지키며 모든 회고를 작성한 것은 의미가 있다고 생각한다.
일부 밀리긴 했지만 각 프로젝트에 대한 회고도 개인적으로 별도 작성하였는데, 나머지 회고는 수료 후에 시간을 내어 작성해보고자 한다.
아무래도 짧은 기간동안 많은 내용을 다루는 교육 과정이다 보니 따라가기가 쉽지 않았다. 특히, 백엔드 및 프론트엔드 개발을 처음 해본 2번째, 3번째 프로젝트에서는 담당 기능을 구현하기 급급해서 다른 부분에 신경을 쓰지 못했다. 하지만 4번째 프로젝트부터는 유지보수성, 재사용성에 대해 고민하며 코드를 작성하고, 팀원 전체에 영향을 주는 버그 일부를 수정하기도 했다.
함께한 다른 수강생이나 개발자 지망생에 비해 성장 속도가 빠른 편은 아니지만, 나만의 페이스로 꾸준히 학습하며 성장해나가고 있다.
부트캠프 초반에는 Notion에 학습 내용을 열심히 정리했지만, 어느 순간부터 교육 과정을 따라가기 바빠 거의 손대지 못했다. 또한, 회고 외에도 알고리즘 문제를 풀거나 공부한 내용을 블로그에 정리하는 것이 목표였는데, 회고를 제외하면 블로그 글을 많이 작성하지 못했다.
수료 후에 기술 면접 및 코딩 테스트 준비를 통해 부족했던 부분을 보완해야겠다.
교육 과정 이수와 함께 입사 지원서 작성도 병행하고 싶었는데, 교육 과정을 소화하기 바빠 취업 준비를 거의 하지 못했다. 특히 코딩 테스트, 면접에 대한 대비가 많이 부족한데, 수료 후에 잘 준비해야겠다. 고등학교 입시부터 시작해서 자기소개서 작성 경험은 몇 번 있지만, 개발자 취업을 위한 자기소개서는 아직 작성해보지 못했다. 부트캠프 측에서 수료 후인 31일에 취업 컨설팅을 지원해 주었는데, 자기소개서 등 필요 서류를 잘 만들어 유익한 시간이 되도록 해야겠다.
프로젝트를 통해 성장하는 것도 의미있지만 결과물의 완성도도 중요하다 보니, 적극적으로 도전을 해보지 못했다. 주로 CRUD 로직을 작성한 경험이 대부분이고, Spring Security, redis, 메시지 큐, 배포 등은 수업에서 한 번 따라해봤을 뿐 직접 적용해보지 못했다. 또, offset/limit 방식이 아닌 커서 기반 페이징도 개념만 알고 있을 뿐, 아직 실제 적용 경험은 없다. 수료 후에 작은 프로젝트를 진행하며 이 부분을 공부해보고자 한다.
새로운 것을 배워가는 건 항상 재미있다. 정신없이 지나간 6개월 동안 많이 배웠다고 생각한다. 수료 후에도 일정 관리에 신경 써서 취업 준비를 잘 해봐야겠다.