25년 회고록
2025년 회고
올해가 얼마 남지 않은 시점에서, 지금의 나를 기록해 두고 싶어 이렇게 글을 남긴다.
올해 나는 크게 두 가지 경험을 했다. 하나는 일정 관리 개인 프로젝트, 다른 하나는 팀 프로젝트였다.
1. 일정 관리 프로젝트
기존에 진행하던 Coffies 프로젝트만으로는 더 이상 한계가 명확하다고 느꼈다.
그래서 멘토링을 신청했고, 그 과정에서 완전히 새로운 프로젝트를 시작하게 되었다.
이 사이드 프로젝트를 진행하면서 정말 많은 개발 지식과, 그보다 더 중요한 개발 문화를 배웠다.
그중 가장 인상 깊었던 것은 코드 리뷰였다.
기존에는 혼자 브랜치에서 작업하고, 인터넷 블로그를 참고해 코드를 작성하는 방식이 전부였다.
하지만 이번에는 브랜치를 나누고, PR을 올리고, 멘토에게 리뷰를 받고, 그 후에 머지하는 과정을 반복했다.
이 경험은 나에게 굉장히 큰 전환점이었다.
코드를 “돌아가게 만드는 것”이 아니라, 읽히는 코드, 고쳐질 수 있는 코드를 작성해야 한다는 감각을 처음으로 체득했다.
물론 과정은 순탄하지 않았다.
새로운 라이브러리를 익히고, 그 내부 동작을 이해하고, 실제로 적용하는 일은 생각보다 훨씬 어려웠다.
특히 Testcontainers를 사용한 테스트 코드 작성,
모니터링 서버를 별도로 띄운 뒤 제한된 용량의 서버를 유지하는 작업,
부하 테스트 이후 성능 지표를 수집하고 이를 기반으로 개선하는 과정은 정말 버거웠다.
하나의 작업에 10일 이상이 걸리기도 했고,
그때마다 “내가 이걸 할 수 있는 사람이 맞나?”라는 자괴감이 반복해서 들었다.
그럼에도 불구하고, 결국 문제를 해결했을 때의 쾌감은 말로 설명하기 어려웠다.
무엇보다 가장 크게 바뀐 것은 개발에 대한 태도였다.
이전에는 에러 로그를 보고 당장 터진 부분만 고치는 방식으로 접근했다면,
이 프로젝트를 통해서는 문제를 마주했을 때 자연스럽게
“왜 이런 구조가 되었을까?”, “근본 원인은 뭘까?”를 먼저 생각하게 되었다.
지식이 쌓이면서 코드를 바라보는 시야가 조금은 넓어졌다는 느낌을 처음으로 받았다.
2. 팀 프로젝트
그동안 개인 프로젝트만 해왔기 때문에,
나에게는 반드시 팀 프로젝트 경험이 필요하다고 생각했다.
운 좋게도 커뮤니티를 통해 팀 프로젝트에 참여할 수 있었지만,
현실은 생각보다 훨씬 쉽지 않았다.
이 경험을 통해 가장 크게 배운 점은
프로젝트 리더의 역량이 팀 전체를 좌우한다는 사실이었다.
당시 구성은 프론트엔드 1명(현직), 백엔드 2명(나와 조장)이었고,
조장은 국비 수료 후 1년 정도 독학을 한 사람이었다.
문제는 이 조장이 프론트엔드와 백엔드 사이의 요구사항을 전혀 이해하지 못했다는 점이었다.
나는 중간에서 최대한 조율을 시도했지만, 결국 프론트엔드는 아무 말 없이 프로젝트를 떠났다.
이후 프론트는 리액트에서 타임리프로 회귀했고,
어찌어찌 프로젝트는 계속 진행되었다.
내 역할은 예약 관리 도메인에서 회원·인증을 제외한 거의 전부였다.
프로젝트가 마무리 단계에 접어들 무렵, 조장이 작성한 테스트 코드에서 지속적으로 에러가 발생했다.
코드를 직접 확인해 보니, 구조라고 부르기도 힘든 스파게티 코드였다.
처음에는 “내 코드도 아닌데 굳이…”라는 생각에 모른 척하려 했지만,
문제는 전혀 개선되지 않았다.
몇 차례 정중하게 수정을 요청했지만 반응은 없었고,
결국 주말 시간을 내서 2시간 동안 해당 코드를 리팩토링했다.
다행히 유지보수가 가능한 수준으로는 개선되었지만,
문제는 거기서 끝나지 않았다.
백엔드 코드의 80% 이상을 내가 작성한 상황에서,
조장은 나에게 프론트엔드 작업까지 절반을 맡아달라고 했고,
배포까지 함께 도와달라고 요구했다.
이건 아니라고 느꼈다.
면접에서는 분명 내가 맡지 않은 부분까지 질문을 받을 텐데,
사실상 무급으로 모든 역할을 떠안는 구조였다.
결국 역할을 명확히 나누기로 했고,
백엔드는 내가, 프론트와 배포는 조장이 맡기로 합의했다.
하지만 이후 올라온 프론트 초안은
백엔드에서 지원하지도 않는 기능을 전제로 한 디자인이었고,
이를 지적하자 그 부분은 제거하겠다는 답이 돌아왔다.
더 큰 문제는 프론트 코드에 자바스크립트가 전혀 없었다는 점이었다.
이유를 묻자 돌아온 답변은
“반응형 구현이 생각보다 오래 걸릴 줄 몰랐다”였다.
그 순간 이 프로젝트는 더 이상 진행할 의미가 없다고 판단했고,
결국 팀 프로젝트는 파기되었다.
마무리
이번 한 해를 돌아보면,
기술적인 성장만큼이나 사람과 협업의 어려움을 크게 체감한 시간이었다.
단순한 프로젝트조차도 팀으로 진행하는 것은 쉽지 않았고,
다양한 사람의 태도와 책임감을 직접 경험할 수 있었다.
힘든 해였지만,
그만큼 분명하게 배운 것도 많은 한 해였다.
이 기록은 나중에 다시 흔들릴 때,
“그래도 여기까지는 왔다”는 증거로 남겨두고 싶다.