
오늘은 오전 수업 시간까지는 DB 프로젝트를 마무리할 수 있는 시간이 주어졌고, 오후부터는 팀별 발표가 진행되었다. 오전 시간 동안 우선 빠르게 README.md 파일을 정리하고 다듬는 작업에 몰두했는데, 생각보다 손이 많이 가서 거의 12시 직전까지 이 작업에 매달렸다. 이후에는 발표 스크립트를 빠르게 작성하였고, 팀원 모두가 돌아가며 직접 읽어보며 리허설을 진행하였다. 그 결과 가장 안정적이고 전달력이 좋았던 하은 누나가 발표를 맡게 되었고, 나는 발표 중 필요한 시각 자료를 적절히 띄우고 예상치 못한 질문이 들어올 경우 대응하는 역할을 맡기로 했다.
점심시간에는 학원 근처의 '싸다 김밥'에서 제육덮밥을 먹었다. 음식이 빨리 나오고 맛도 좋았으며, 짧은 시간 안에 에너지를 충전할 수 있어 만족스러웠다.
오후 발표 시간은 다행히도 우리 팀이 정확히 중간 차례에 배정되었다. 덕분에 첫 번째 발표를 통해 강사님께서 어떤 방향으로 질문하시는지를 확인할 수 있었고, 그에 맞춰 예상 질문을 조율할 수 있었다. 그런데 실제로 들어보니, 강사님의 질문은 단순 확인 수준을 넘어 ERD 내의 테이블 관계성과 설계 이유를 매우 디테일하게 요구하는 수준이었고, 우리가 준비했던 방식으로는 대응이 어려워 급히 발표 구조를 조정해야 했다. 우리는 테이블 수가 많아 전체를 설명하려면 30분도 부족했기에 핵심만 전달하고자 했으나, 그 방식은 통하지 않을 것으로 판단하였다. 이에 따라 어떤 순서로 어떤 테이블부터 설명해야 청자가 논리적으로 잘 따라올 수 있을지 빠르게 합의했고, 그 흐름에 따라 발표를 재구성하였다.
예상 외로 급하게 수정된 흐름에도 불구하고 하은 누나는 침착하게 발표를 진행하였고, 전체적으로 매우 안정적인 발표를 마무리하였다. 나는 발표를 두려워하는 편이라 그런 하은 누나의 자신감이 무척 멋져 보였고, 솔직히 부럽기도 했다.
발표 중 강사님께서 유일하게 깊게 짚고 넘어가신 부분은, 우리 플랫폼의 ERD 설계 구조였다. Intelli-B는 기업과 구직자를 연결하는 AI 기반 매칭 플랫폼으로, 사용자 테이블이 일반 유저(user), 기업 유저(company_user), 관리자(admin) 이렇게 세 분류로 나뉘어 있었다. 우리는 차단 유저(banned_user)를 관리하기 위해 중간에 모든 유저를 통합 관리하는 members 테이블을 만들어, 각 역할별 세부 테이블의 ID들이 이 members에서 파생되도록 설계하였다. 그 이유는, 만약 banned_user 테이블에 일반 유저와 기업 유저를 동시에 참조하려면 FK가 두 개 필요하고, 둘 중 하나는 항상 NULL일 수밖에 없어 효율이 떨어진다고 판단했기 때문이다. 그러나 강사님께서는 굳이 members 테이블을 만들기보다는, 차단 유저 테이블을 역할별로 분리하는 것이 훨씬 합리적이라는 의견을 주셨다. 발표가 끝난 뒤 냉정히 돌아보니, 강사님의 지적이 타당했다. 우리는 nullable 칼럼 하나를 피하기 위해 테이블 하나를 추가했고, 이로 인해 오히려 유저 수만큼 불필요한 행(row)이 쌓이게 되었다. ERD 설계 당시(강남에서 따로 회의를 진행했을 때)에도 이 부분을 놓고 많은 고민을 했으나, 당시에는 통합 테이블로 중앙관리하는 편이 관리상 더 낫다고 판단했던 것이다. 결과적으로는 실무적 관점에서 비효율적인 선택이었고, 발표 이후 많은 아쉬움이 남았다.
또 하나 아쉬웠던 점은, 발표 중 긴장한 나머지 팀원들과 미리 정리해뒀던 예상 질문에 대한 응답 방식을 완전히 잊어버리고 엉뚱한 답변을 해버린 것이다. 당시에는 크게 인지하지 못했지만, 집에 돌아가 씻고 누워 자기 직전에 문득 생각이 났다. '아, 그건 그렇게 답하면 안 됐는데...' 하고 떠올라 심장이 철렁 내려앉았다. 마치 누가 뒤통수를 툭 치는 듯한 기분이었고, 아무도 나를 나무라지 않았기에 더 미안하고 더 부끄러웠다. 그런 상황에서도 팀원들이 아무 말 없이 넘어가 준 그 배려가 오히려 더 크게 다가왔고, 다음 발표에서는 절대 같은 실수를 반복하지 않겠다고 다짐했다.
Replica 구성 시연 영상은 시간 부족으로 거의 보여주지 못했다는 점도 아쉬움으로 남는다. 그래도 짧은 데모 장면에서 작동되는 모습을 보여줬고, 그게 실질적인 구현 결과라는 점은 분명히 각인시킬 수 있었기에 의미 있었다고 생각한다. 다음 프로젝트에서는 더 나은 시간 배분으로 시연 비중도 충분히 챙기고 싶다.
이 자리를 빌려 프로젝트를 함께 완수한 우리 팀원들에게 깊은 감사를 전하고 싶다. 질문이 생길 때마다 집요하게 파고들며 모든 테이블 간 관계성의 정당성을 검토하게 해준 하은 누나, 프로젝트 방향성이 흔들릴 때마다 중심을 잡아주고 결정적인 판단을 해준 세진이 형, 언제나 아이디어와 개선 포인트를 아끼지 않았던 강산이 형. 세 분 덕분에 이 프로젝트가 끝까지 완성될 수 있었다.
그리고 기쁜 소식이 하나 더 있었다. 인천지역 대학연합 창업아카데미에 우리 팀이 최종 선발되었다. 인천 내 12개 대학에서 단 한 팀씩만 선정되는 프로그램인데, 드디어 우리의 이름이 올라간 것이다. 정주영 창업경진대회, BuildBase 등 그간의 도전에서는 간발의 차로 아쉬운 결과를 받아들여야 했지만, 이번에는 진짜 결과를 만들어냈다. 발표를 끝내고 최종 선발까지 확인했을 때의 그 벅찬 기분은, 말로 표현하기 어렵다. 속이 다 시원했다.
발표 이후에 다른 팀들의 발표도 더 집중해서 들을 수 있었는데, 강사님의 질문은 여전히 날카롭고 매서웠다. 오후 늦게까지 이어지는 그 긴장의 연속 속에서도, 우리는 어느새 해방감을 느끼고 있었다.
하루의 마지막에는 Google Form으로 30문제짜리 시험이 진행되었다. 그런데 실수로 처음 페이지의 10문제만 있는 줄 알고, 그 부분만 계속 검토하고 확인하느라 시간을 써버렸다. ‘다 풀었다’ 싶어 다음 버튼을 눌렀더니 갑자기 20문제가 더 나오는 것이 아닌가! 남은 시간은 10분도 채 안 됐고, 대부분이 SQL 쿼리를 해석하거나 오류를 찾아야 하는 문제였기에, 정신없이 찍고 넘어갈 수밖에 없었다. 결과는 처참했다… 너무 부끄러워 말도 못 하겠다.
하지만 이 시험을 통해, 다음 시험은 반드시 철저하게 준비해서 100점을 맞아야겠다는 강한 결심을 하게 되었다.
원래 오늘 예정되어 있던 코딩테스트 스터디는, 대부분이 주말 동안 프로젝트에 몰두했던 탓에 문제를 준비하지 못했고, 발표와 시험까지 겹친 터라 지친 상태였기에 내일로 미루기로 하였다.
정말 길고 진했던 하루였다. 하지만 그만큼 값진 하루였다.
'부트캠프 > 한화시스템 BEYOND SW캠프' 카테고리의 다른 글
| 한화시스템 BEYOND SW 부트캠프 16기 17일차 (2025-06-11 | 수) (0) | 2025.06.11 |
|---|---|
| 한화시스템 BEYOND SW 부트캠프 16기 16일차 (2025-06-10 | 화) (2) | 2025.06.10 |
| 한화시스템 BEYOND SW 부트캠프 16기 14일차 (2025-06-05 | 목) (6) | 2025.06.05 |
| 한화시스템 BEYOND SW 부트캠프 16기 13일차 (2025-06-04 | 수) (0) | 2025.06.04 |
| 한화시스템 BEYOND SW 부트캠프 16기 12일차 (2025-06-03 | 화) (0) | 2025.06.03 |