[최종 회고]우테코 프리코스를 마치며, 한 달 간의 도전과 성장, 그 과정에 대해서

soleil_lucy·2024년 11월 24일
2
post-thumbnail

우테코 프리코스를 마친 후, 그동안의 경험과 배운 점들을 4L 회고 방식 대신 셀프 인터뷰 형식으로 정리해보았습니다. 4L 회고만 반복하다 보니 다른 방식으로 표현해보고 싶었고, 이번 인터뷰를 통해 우테코 지원부터 프리코스 참여 과정에서 겪은 도전과 배움에 대해 돌아보았습니다.

Q. 우테코에 지원하게 된 계기가 있나요?

우아한 테크코스를 모집한다는 소식을 '블로그 포스팅 스터디'에서 접하게 되었어요. 당시 실무 프로젝트를 막 끝내고 이력서를 준비하느라 특별히 관심이 없었지만, 그래도 입학설명회라도 들어보자고 생각하고 참여했죠. 입학설명회를 듣고 나서, 우테코에 대한 관심이 확 생겼습니다. 우테코에 지원만 해도 우테코 프리코스라는 교육 과정에 참여할 수 있고, 이 과정이 우테코의 축소판이라는 사실을 알게 되었어요. 이 과정을 통해 '몰입'하는 방법, '메타인지'를 향상시키는 방법, 그리고 개발을 어떻게 해나가는지 배울 수 있을 거라 생각했어요. 무엇보다 문제 해결 방법을 배우고, 제 자신을 성장시킬 기회가 될 것 같았습니다. 한 달 동안이라도 경험해보면 개발자로서 크게 도움이 될 것 같아서 지원하게 되었습니다.

Q. 우테코 프리코스를 완주한 후, 그 경험을 한 줄로 표현하자면?

코드 컨벤션, 깃 커밋 메시지 규칙부터 TDD(Test Driven Development)까지, 실제 개발 환경에서 필수적인 역량을 갖추기 위한 중요한 지식과 기술을 배울 수 있었습니다.

Q. 우테코 프리코스 커뮤니티에서 진행한 코드 리뷰는 어떤 방식으로 진행했나요? 도움이 됐다고 생각하나요?

우테코 프리코스 커뮤니티에서는 디스코드 서버를 통해 웹 프론트엔드 리뷰 채널에 리뷰 요청 글을 올리고, 다른 사람의 요청에 대한 리뷰를 진행했습니다. 또한, 우테코 6기에서 만든 CoReA 서비스를 사용해 PR을 찾아 리뷰를 진행하기도 했습니다.

저는 코드 리뷰에서 주로 코드 컨벤션 준수 여부와, 우테코 운영진의 공통 피드백이 잘 반영되었는지 점검했습니다. 예를 들어, 변수명과 함수명이 의도를 잘 표현하는지, 함수가 잘게 쪼개졌는지, SRP(Single Responsibility Principle)를 만족하는지, 상수를 사용하여 숫자나 문자열을 표현했는지 등을 검토했습니다.

4주 동안 총 20명과 코드 리뷰를 주고받았던 것 같습니다. 리뷰를 통해 다른 사람들의 코드 스타일을 배우고, 제 코드도 개선할 수 있는 기회가 되어 정말 도움이 되었습니다.

Q. 우테코 프리코스에서 진행한 4개의 미션은 각각 다른 기능 요구사항을 가지고 있었는데, 각 미션의 요구사항을 만족시키기 위해 어떤 방식으로 접근하고 해결했나요?

우선 미션을 시작하기 전에, 각 미션의 요구사항을 파악하고 README.md 파일에 기능 목록을 정의한 후, 해당 기능을 하나씩 구현해 나갔습니다. 기능 목록을 기반으로 커밋을 하나씩 진행했으며, 예시로 제시된 입출력 형태를 참고해 구현을 시작했습니다.

1, 2주차 미션은 알고리즘 문제처럼 단순한 구조였기 때문에 설계 없이 바로 구현을 시작했습니다. 이후 리팩토링을 진행하며 관련된 코드들을 클래스로 묶어서 개선했습니다.

3주차 미션에서는 조금 더 복잡한 요구사항이 있었고, 클래스 사용에 대한 피드백을 반영하여 구현 전 SRP(Single Responsibility Principle)를 고려한 클래스를 설계했습니다. 설계를 마친 후 구현을 진행하고, 단위 테스트 코드를 작성하여 각 기능이 정상적으로 작동하는지 검증했습니다.

4주차 미션은 공통 피드백을 바탕으로 TDD(Test Driven Development)를 적용하려고 했습니다. 먼저 테스트 코드를 작성하고 이를 통과시키는 코드를 구현한 후, 리팩토링을 진행하는 방식으로 접근했습니다. 그러나 마감 기한이 가까워지면서 TDD에 집중하기보다 기능 요구사항을 우선적으로 만족시키는 데 집중하게 되었습니다. 그 과정에서 각 메서드의 길이를 10줄 이하로 유지하고, 메서드의 들여쓰기가 3을 넘지 않도록 주의하며 SRP를 만족하는 메서드를 구현하는데 집중했습니다.

Q. 미션을 마감기한 내에 제출할 수 있도록 가장 도움이 됐던 것은 무엇인가요?

가장 도움이 되었던 것은 Linear라는 프로젝트 관리 도구를 활용한 것입니다. 미션에서 해야 할 일들을 Linear 티켓으로 발행하고, 이를 ToDo, In Progress, Done 상태로 관리하며 매일 진행 상황을 파악했습니다. 이렇게 체계적으로 관리하면서 마감 기한 내에 미션을 제출할 수 있었습니다.

Q. 우테코 프리코스 커뮤니티는 선택 사항으로 알고 있는데 참여한 이유는?

혼자서 하기보다는 같은 목표를 가진 사람들과 함께하는 커뮤니티에서 더 몰입하고, 포기하지 않고 끝까지 해내는 성향을 갖고 있기에 우테코 프리코스 커뮤니티에 참여하게 됐습니다. 또한, 저와 비슷한 고민을 가진 개발자들과 소통하고 서로의 경험을 나누고 싶어 참여하게 되었습니다.

Q. 우테코 프리코스 커뮤니티에서 어떤 활동을 했나요?

우테코 프리코스 커뮤니티에서는 주로 세 가지 활동을 했습니다.

첫째, '토론하기' 채널에서 다양한 글에 대해 제 생각을 남기고 다른 사람들의 의견을 읽으며 토론했습니다. 가장 기억에 남는 토론은 'GPT, 어디까지 활용해야 할까요?'라는 주제로 진행된 것이었습니다. 저는 주로 에러가 발생했을 때 그 원인과 발생 시점을 파악하는 데 GPT를 사용한다고 댓글을 달았고, 다른 분들은 페어 프로그래밍에서 GPT를 많이 활용한다고 이야기했습니다. 이를 통해 GPT로 페어 프로그래밍도 가능하다는 점을 알게 되어 나중에 꼭 시도해봐야겠다는 생각을 하게 되었습니다.

둘째, '서로 리뷰하기' 채널이나 우테코 6기에서 만든 CoReA 서비스를 사용하여 코드 리뷰를 진행했습니다. 코드 리뷰를 받으며 제가 놓치고 있던 부분들, 예를 들면 코드 컨벤션, 상수 사용법, 에러 메시지 처리, 테스트 코드 작성 등을 배울 수 있어 많은 도움이 되었습니다. 또한, 다른 사람들이 문제를 해결하는 방식을 보며 다양한 시각에서 배울 수 있었습니다.

셋째, '미라클 모닝' 방에서 아침 인사를 나누고, '오늘의 러닝 완료' 방에서 러닝 인증을 하면서 소소한 힐링을 얻었습니다. 특히 '오늘의 러닝 완료' 방에서 다른 분들의 인증 사진을 볼 때, 의외로 많은 분들이 잘 달리고 있어서 큰 자극이 되었습니다.

Q. 우테코 프리코스 커뮤니티 외에도 우테코 프리코스 참여자들과 모여 스터디에 참여한 것으로 알고 있는데 스터디에 참여하게 된 이유가 있을까요?

우연히 우테코 프리코스 커뮤니티에서 스터디 모집글을 보고, 좋은 취지의 스터디라고 생각하여 참여하게 되었습니다. 우테코 프리코스에 참여하는 분들과 함께 토론하며 즐겁게 공부하고 싶었고, 스터디에서 다루는 내용이 구현, 피드백, 리팩토링까지 포함되어 있어 혼자서 하기 어려운 부분을 함께 해결할 수 있을 것 같았습니다. 또한, 매주 2~3시간 정도 줌을 통해 진행되는 미팅 시간 동안 다른 참가자들과 함께 공부하고 토론하는 기회를 가질 수 있어 참여를 결심했습니다.

결국, 우테코 프리코스를 적극적으로 참여하고, 참여자들과의 토론을 통해 많은 것을 얻고 싶다는 생각에 스터디에 참여하게 되었고, 실제로 많은 도움이 되었습니다. 특히 테스트 케이스나 과제 제출 중 발생한 오류에 대해 스터디 분들에게 질문을 했을 때, 그분들의 답변 덕분에 문제를 해결하고 무사히 과제를 제출할 수 있었습니다.

Q. 참여한 스터디에서는 어떤 활동을 했나요? 도움이 됐다고 생각하나요?

스터디에서는 매주 제출한 미션에 대해 4명 정도가 모여 서로의 코드를 리뷰하고, 제출한 회고에 대해 피드백을 주고받는 활동을 진행했습니다. 이 과정에서 다른 사람들이 제 코드를 어떻게 평가하는지 알 수 있었고, 다른 참가자들이 구현한 코드에서 FSD 아키텍처 개념, MVC 패턴 적용 방법, 문제 해결 접근 방식 등을 배울 수 있어 매우 유익했습니다. 이러한 활동을 통해 제 코드 품질을 개선하고, 다양한 개발 방식에 대한 시각을 넓힐 수 있었습니다.

Q. 우테코 프리코스에서 가장 어려웠던 부분은 무엇이었나요? 그 어려움을 어떻게 극복했나요?

가장 어려웠던 부분은 미션을 해결하는 과정에서 TDD(Test Driven Development)를 적용하는 것이었습니다. TDD라는 개념은 알고 있었지만 실제로 사용해본 경험이 없었고, 사용하는 테스트 프레임워크인 Jest에도 익숙하지 않았습니다. 처음에는 테스트 코드를 먼저 작성하는 방식이 왜 좋은지 이해하기 어려웠고, Jest의 메서드를 어떻게 활용할지 막막했습니다.

이 문제를 해결하기 위해, 피드백으로 받은 TDD를 적용한 2주차 미션 해결 과정을 담은 영상을 보며 TDD가 오버 엔지니어링을 방지할 수 있다는 점을 깨달았습니다. 또한, 우테코에서 제공한 기본 테스트 코드와 코드 리뷰를 통해 다른 사람들의 테스트 코드 작성 방법을 학습했고, 필요할 때는 ChatGPT에 질문하여 해결책을 찾기도 했습니다.

이 과정을 통해 TDD가 왜 중요한지, 어떻게 사용하는지 점차 이해하게 되었고, 미션을 수행하면서 반복적으로 적용함으로써 이제는 조금 익숙해졌습니다.

Q. 우테코 프리코스를 하면서 아쉬웠던 점이 있나요?

가장 아쉬웠던 점은 꾸준히 데일리 스크럼을 작성하지 못한 점입니다. 1, 2주차에는 열정적으로 데일리 스크럼을 진행하며 블로그에 글도 올렸지만, 3, 4주차에는 개인적으로 신경 쓸 일이 생겨 우테코 프리코스에 충분히 몰입하지 못하고 데일리 스크럼을 진행하지 못했습니다. 그 결과, 미션을 해결하는 데 급급해졌고, 점검이나 개선의 시간을 충분히 갖지 못해 아쉬움이 남습니다. 만약 처음부터 끝까지 데일리 스크럼을 꾸준히 진행했다면, 더 나은 상태로 미션을 제출할 수 있지 않았을까? 하는 아쉬움이 남습니다.

Q. 우테코 프리코스가 끝나고 앞으로의 계획은 어떻게 되나요?

우테코 프리코스가 끝났으니, 4개의 미션을 5시간이라는 시간 제한을 두고 다시 풀어보는 연습을 할 계획입니다. 우테코 코딩테스트를 볼 기회가 있을지는 모르지만 미래에 도움이 될 것이라고 생각하기 때문입니다.

또한, Jest를 활용한 테스트 코드 작성과 TDD 개념 및 방법론을 다시 공부할 예정입니다. 아직 익숙하지 않은 프레임워크와 방법론이지만, 반복적인 학습을 통해 점차 익숙해지고자 합니다.

마지막으로, 미루고 있던 이력서 작성을 다시 시작하려고 합니다. 우테코 프리코스를 통해 공부도 중요하지만, 실제로 일을 해보고 싶다는 열망이 더 커졌기 때문입니다!

profile
여행과 책을 좋아하는 개발자입니다.

0개의 댓글

관련 채용 정보