IT 연합 동아리 '코테이토' 백엔드 파트장 회고록 - 1

우기·2024년 8월 26일
5
post-thumbnail
post-custom-banner

저번 주 금요일, 코테이토 9기 활동(2024.03 ~ 2024.08)이 마무리 되어 이제 코테이토에서 떠나 'SW 마에스트로' 활동에 집중하려 한다.

이번 9기 활동은 내게 있어 꽤나 의미가 깊었다. 동아리의 한 파트를 이끌어 네트워킹 시간을 진행하고, 부원들에게 각종 과제를 내는 '파트장'이라는 직책을 맡았을 뿐만 아니라, 졸업 프로젝트, 'SW 마에스트로' 활동 등과 병행하며 25살 인생 중 가장 바쁘게 살았던 시기였기 때문이다.

사실 백엔드 파트장 회고만 하려 했지만 취준을 앞둔 지금, 내 개발 인생에서 꽤나 많은 영향을 준 동아리인 만큼 그냥 코테이토 활동 전체를 회고하려 한다.

코테이토 가입 전

나는 22년 초에 전역 후 웹 개발 분야에 처음으로 입문했다. 전역 후 막연히 스펙을 쌓아야 한다고 생각했었기에, 인터넷에서 여러 로드맵을 찾아보고 우선 HTML, CSS, JS 등을 학습하며 시간을 보내고 있었다.

그러던 도중 학교 동기에게 '한이음 ICT 멘토링'에 참여하자는 권유를 받았고, 첫 프로젝트이지만 개발 경험이 있는 친구와 함께였기에 선뜻 받아들였다.

팀 매칭을 위해 게시판을 보던 중 나와 내 친구 모두 Pain Point로서 공감할 수 있었던 '지하철 실시간 탑승 알리미' 앱을 기획하신 멘토님께 컨택하였고, 빠르게 우리를 포함한 멘티 4명과 멘토님이 팀을 이루게 되었다.

프론트엔드, 백엔드, AI 등 여러 분야가 있었지만 일상에서 극강의 효율을 추구하며 나름 꼼꼼한 성격을 가지고 있었기에 효율과 서버의 안정성을 중요시하는 백엔드 분야가 가장 재미있어 보였다.

그렇게 나는 백엔드와 팀장을 맡게 되었지만 좋은 결과를 얻진 못했다. 프론트와 소통하는 법, 프로젝트의 전반적인 프로세스 등 정말 아무것도 모르는 감자였기에 사실상 node.js로 지하철 공공 API만 연동하고 끝이 났었다.

코테이토 가입

한이음이 끝나고 12월... 뭔가 프로젝트를 더 해야될 것 같은데 당시 들어본 개발 동아리들은 현업자와 함께 활동하는 등 아직 역량이 부족한 나에게 허들이 매우 높다고 느껴졌다.

그러던 도중 에타 컴공과 게시판에 '코테이토'라는 동아리의 모집 글이 올라왔다.

나는 그냥 말하는 감자인데,, 사망년이라니,, 취준을 하라니,, 프로젝트 경험을 쓰라고요,,? 발등에 불 떨어져 군감자가 되어가는 감자들을 위한 프로젝트/스터디 동아리 코테이토에서 5기 감자들을 모집합니다!

곧 3학년이 되는 나에게 매력적이게 다가온 모집 공고였고, 한이음에서 겪었던 경험을 기반으로 자소서를 써나갔다. 프로젝트 경험이 매우 간절했기에, 다른 지원자들에 비해 부족한 역량을 가진 나는 분량과 정성으로 승부를 했던 기억이 난다.

그렇게 운이 좋게 면접을 거쳐 코테이토 5기 부원으로 활동을 시작했다.

코테이토 5기, 6기... 그리고 7기

  • 5기 활동은 2023년 1월부터 3월까지 두 달간 진행됐다.

나는 Spring Boot 프레임워크를 처음 배우며 Thymeleaf 템플릿 엔진을 사용해 야경 추천 웹 서비스를 제작했다.

이 프로젝트를 통해 node.js가 아닌 백엔드 프레임워크를 처음 사용해보며 감을 익혀나갔다.

성공적으로 데모데이에 배포까지 마쳐 시연을 할 수 있었고, 사람들이 인상 깊게 봤다고 좋은 말들을 많이 해줬던 기억이 난다.

스프링을 배우며 기술적인 성장을 한 것도 맞지만 낯을 가리는 성격도 어느정도 고치며 새로운 친구들도 사귀었다.

5기에 가입할 당시 나에겐 고등학교 친구, 대학교 동기 등 알고 지낸지 최소 3년 이상된 친구들 밖에 없었다. 그만큼 '새롭게 만나는 사람'과 만나는 것은 나에겐 매우 힘든 일이었고, 초반에 동아리원들과 뒷풀이에서 어색하게 얘기를 나누었던 기억이 난다.

(이 때 친해진 5기 사람들은 아직까지 가끔 연락을 하며 지낸다)

  • 6, 7기 활동은 1학기와 여름에 맞춰 각각 3월부터 6월, 7월부터 8월까지 진행되었다.

꽤나 바쁜 시기를 보냈다. 컴퓨터공학 커리큘럼 중 가장 전공이 빡세다는 3학년 1학기를 수강하며, 동일 주제로 다시 참가한 한이음 프로젝트 또한 진행해야 했고 코테이토에선 집밥 및 홈베이킹 배달 앱 프로젝트CS 스터디에 참여했다.

특히 집밥 및 홈베이킹 배달 앱 프로젝트는 엄청난 분량과 기간으로 인해 FCM, QueryDSL 등 적용해볼 수 있는 기술이 많았다.

그리고 초기에 데이터베이스에 대한 지식이 없어 저질렀던 엄청난 설계 실수로 인해 반면교사 삼을 수 있는 경험이 생겼고, 이를 통해 2학기에 데이터베이스를 매우 열심히 수강하게 되는 계기가 됐다.

이 실수를 아주 간단히 설명하자면... 나는 그 때 당시에 DB에서

SELECT * FROM A WHERE id = ?

를 실행하면 무조건 테이블을 풀 스캔 하는 줄 알아서 일반 유저와 관리자를 저장하는 테이블을 따로 만들었다..
인증인가를 구현 할 때 쯤 뭔가 이상한 것을 눈치 챘지만 돌이킬 수 없어 조악한 방법으로 구현했고 결국...다시 봐선 절대 알아볼 수가 없는 스파게티 코드가 됐다.

하지만 결국 이번에도 무사히 시연하며 7기 데모데이를 마쳤지만... 8기를 계속 할지는 의문이 들었다.

8기에 대한 고민

1. 프로젝트의 진정성

우선 '프로젝트'라는 것에 대한 생각이 좀 흔들리기 시작했다. 항상 내가 했던 프로젝트들은

기획 -> 각종 설계 -> CRUD, 인증인가 -> 테스트 -> 한 기수 끝!

위와 같은 흐름을 거쳐 진행됐다. 여러 프로젝트들을 진행할 수록 나의 소프트웨어적인 실력이 늘기 보다는 어느 부분에 정체된 채 매번 똑같은 플로우를 거쳐 비슷한 코드를 공장처럼 찍어내고 있다는 생각이 들었다.

굳이 수식을 비유한다면... 밑이 아주 큰 로그 함수라고 해야될까? 시간 대비 성장이 점점 느려지고 있다는 느낌을 받았다.

2. 내실을 다져야 할 시간

나는 7기를 마칠 때까지 Spring Boot와 JPA를 쓰면서도 영속성 컨텍스트가 뭔지, Bean은 뭔지도 모르고 코드를 써왔다.

이런 기술들을 제대로 배우기 위한 CS 지식이 아직 부족했고, 2학기에는 학교에서 운영체제, 데이터베이스, 문제해결기법(스프링) 과 같은 과목들을 배우고, 코딩테스트를 준비하며 인턴이나 다른 대외활동을 준비하고 싶었다.

3. 늘어난 한 기수의 기간

7기까지 코테이토는 길어야 한 기수당 길어야 4개월 정도였다. 하지만 8기는 9월부터 다음 해인 2024년 2월까지 약 반 년을 진행해야했다. 코테이토 특성 상 하나 이상의 스터디나 프로젝트를 수행해야 했기에, 위에서 말한 내실을 다져야 할 시간을 분산하여 쓰고 싶지 않았다.

결국 나는 7기 활동을 끝으로 코테이토를 탈퇴하게 되었고 2학기에 전공 수업에 집중하고 코딩테스트를 준비하며 시간을 보냈다.

그렇게 코테이토와는 더 이상 인연이 없을 줄 알았지만...다음 해인 24년 1월 뜻 밖의 제안이 오게된다.

2편에 계속

profile
항상 한번 더 생각하는 개발자를 지향합니다!
post-custom-banner

0개의 댓글