졸업 후 느낌
초·중·고를 거쳐 대학까지 다니는 동안 늘 “학생입니다”라고 자기소개를 해왔는데, 올해는 “취업 준비 중입니다”라고 말하게 되었다. 취업 준비하고 있다고 말하니 조금 어색하고, 괜히 뻘쭘하게 느껴지기도 했다.
취업 준비를 하면서는 정해진 틀이 없고, 무엇을 할지 전부 스스로 결정해야 한다는 점이 이전과는 다르게 느껴졌다. 누군가가 정해준 일정이나 방향 없이, 온전히 내 선택에 따라 움직이는 시간이 색다르게 다가왔다.
처음에는 혼자 공부하는 게 힘들어서 스터디에도 참여했지만, 시간이 지나면서 점점 혼자 필요한 것을 판단하고 준비하는 방식이 더 편하게 느껴지기 시작했다.
면접

> 처음 받았던 면접비 (아직 안 쓰고 기념으로 놔뒀습니다)
올해 가장 큰 성과를 하나 꼽자면, 실제 면접을 경험해봤다는 점인 것 같다. 많이 부족하다고 느끼던 이력서와 포트폴리오로 지원했음에도, 운 좋게 세 곳의 회사에서 서류 전형을 통과해 면접까지 볼 수 있었다.
IDIOTs에서 철환님, 진호님, 준영님께서 모의 면접을 도와주셨는데, 연습임에도 불구하고 예상보다 훨씬 긴장했던 기억이 난다.
하지만 막상 실제 면접에 들어가니 생각보다 떨리지 않았다. 첫 면접에서는 옆 지원자가 대답을 하지 못하는 상황에서, 순간적으로 면접관에게 대신 답변해도 괜찮겠냐고 질문한 뒤 대답을 하기도 했다.
세 번 정도 면접을 경험하고 나니 마지막 회사에서는 이전만큼 긴장되지 않았다. 더 이상 시험을 치르는 자리라기보다는, 편하게 이야기를 나누는 자리라고 생각하며 면접에 들어갈 수 있었다.
백엔드 개발자로 어필이 필요해
철환님 소개로 참여했던 스터디를 마친 뒤, 스터디에 함께했던 사람들 모두가 모이는 자리를 가졌다. 각자 이력서를 가져와 부족한 점과 좋은 점을 함께 이야기하며 피드백을 주고받는 시간이었는데, 다른 사람들의 이력서와 포트폴리오를 직접 보고 내 자료에 대한 의견을 들으면서 그동안 내가 명확한 의도 없이 개발을 해왔다는 사실을 실감하게 되었다.
돌이켜보면 예전에는 그저 기능 구현에만 집중했다. 기능이 정상적으로 동작하기만 하면 완성이라고 생각했고, 왜 이런 설계를 했는지, 왜 이 방식을 선택했는지에 대한 고민은 거의 하지 않았다. 아는 것이 많지 않다 보니 프로젝트를 할 때도 뚜렷한 의도나 근거를 가지고 개발하지 못했던 것 같다.
이런 문제를 인식한 이후, 개발에 대한 의도와 근거를 보완하고 싶어 책을 읽기 시작했다. 「주니어 백엔드 개발자가 반드시 알아야 할 실무 지식」을 통해 백엔드 전반에 필요한 개념들을 정리할 수 있었고, 이어서 인덱스와 쿼리 성능 같은 부분을 더 깊이 이해하고 싶어 「Real MySQL 8.0」을 보기 시작했다. 내용이 쉽지는 않아 아직은 이해할 수 있는 부분 위주로 천천히 읽고 있는 중이다.
이후 공부한 내용을 실제로 적용해보고 싶어, 졸업 작품으로 진행했던 프로젝트를 대상으로 성능 개선을 시작했다. 단순히 기능을 추가하는 것이 아니라, 어떤 문제가 있었는지, 왜 개선이 필요한지부터 정리하며 접근하려고 노력했다.
예전에는 결과만 만들었다면, 지금은 그 결과에 이르기까지의 과정을 설명하려고 한다.
프로젝트 개선

> 코드를 더럽게 작성한 스스로를 원망합니다..
예전에 졸업 작품으로 진행했던 프로젝트를 대상으로 성능 개선을 진행하기로 했다.
우선 개선 전과 후를 비교해 보여주기 위해 k6를 이용해 성능 테스트를 진행했다. 처음에는 Grafana와 Prometheus까지 함께 설정해야 할 것 같아 이것저것 준비했지만, k6 테스트만으로도 결과를 바로 확인할 수 있어서 굳이 필요하지 않다는 걸 알게 되었다.
예상했던 대로 검색과 관련된 기능들의 성능이 특히 느리게 나왔다. 프로젝트를 처음 만들 당시에는 모르는 것이 많았고, 그 상태로 작성한 코드다 보니 문제의 원인이 꽤 명확하게 보이기 시작했다. 이대로 부분적인 수정만 하는 것보다는, 차라리 테이블 설계부터 다시 손보는 게 낫겠다는 판단이 들었다.
현재는 기존에 사용하던 관계 매핑을 제거하고, 외래키 기반으로 구조를 수정하는 작업을 진행 중이다. 이후에는 커서 페이징과 캐싱을 적용해 성능을 개선할 계획이고, 성능 개선이 어느 정도 마무리되면 Elasticsearch를 이용해 플레이리스트 검색 기능도 추가해볼 생각이다.
예전에 작성했던 뮤직플레이스 프로젝트의 관계 매핑을 지우고 외래키만 사용하도록 수정하는 과정에서 코드가 예상보다 많이 꼬여 있었고, 결국 전반적인 리팩토링이 필요했다.
다행히 패키지 구조 자체를 수정할 필요는 없었고, 서비스 계층에 있던 조회 로직을 레포지토리로 옮겨 네이티브 쿼리를 사용하도록 개선하는 방향으로 작업을 진행하고 있다.
프로젝트를 만든 지 1년이 지난 지금 다시 코드를 들여다보니, 코드가 얼마나 정리되지 않은 상태였는지가 확실히 느껴졌다. 그만큼 지난 1년 동안 내가 무엇을 배웠는지도 동시에 체감할 수 있는 경험이었다.
새 프로젝트 참여
프로젝트 개선 작업 외에도, 올해는 새로운 프로젝트에 참여하게 되었다.
처음에는 대학교 동기들과 프로젝트를 진행하려고 했지만, 일정 문제로 인해 아쉽게도 중단하게 되었다. 이후 인프런 팀 프로젝트나 홀라 같은 플랫폼에 팀원 모집 공고를 올려 기획자 2명, 디자이너 2명, 안드로이드 개발자 3명, 백엔드 개발자 3명으로 팀을 구성했다.
이번 프로젝트는 처음으로 기획자와 디자이너와 함께 진행하는 경험이었다. 그동안 직접 회의를 주도하고, 와이어프레임까지 설계하며 진행했던 작업들을 다른 역할의 팀원들이 맡아주니 확실히 편하다고 느껴졌다.
물론 기획 단계에서 기능이 변경되어 코드를 수정해야 하는 경우도 있었지만, 역할이 명확히 나뉘어 있다 보니 이전보다 훨씬 여유롭게 대응할 수 있었다.
이 글을 작성하는 시점 기준으로 백엔드 개발은 약 80% 정도 마무리된 상태다. 큰 이슈가 없다면 12월 안에는 API 연동까지 완료할 수 있을 것 같다.
2026년 목표
26년도 목표는 상반기 취업이다
'회고' 카테고리의 다른 글
| 7월 회고 (1) | 2025.07.24 |
|---|---|
| 2024 회고 (0) | 2024.12.16 |
| [회고] 늦게 올리는 2023 회고 (0) | 2024.01.27 |