[우아한테크코스 7기] 웹 프론트엔드 프리코스 후기

김진서·2025년 2월 12일

우아한테크코스 7기

목록 보기
27/56
post-thumbnail

이 글은 우아한테크코스(이하 우테코) 7기 웹 프론트엔드 과정에 지원하면서 참여했던 프리코스의 경험을 바탕으로, 제가 어떻게 문제를 해석했고, 풀었고, 무엇을 느끼고 배웠는지 간략히 정리한 후기입니다.

우테코는 지원서 → 프리코스 → 최종 코딩테스트로 이어지는 약 3개월 간의 긴 여정을 통해 크루를 선발하는데, 저는 이 중에서도 프리코스를 매우 인상깊게 느꼈습니다. 왜냐하면 입학설명회에서 프리코스는 지원자를 선발하는 과정이기도 하지만, 지원자가 우테코의 교육 방향과 잘 맞는지를 스스로 판단할 수 있는 기회이기도 하다는 점을 설명해 주셨습니다. 그래서 크루로 선발되기 위한 노력도 있었지만, 스스로의 성장을 위해 지원서에 작성했던 프리코스 목표를 달성하려 많은 노력을 기울이기도 했습니다.

1. 문자열 덧셈 계산기 🧮

IDE를 켜기 전, 기능 요구사항, 프로그래밍 요구사항을 먼저 꼼꼼히 읽어야 합니다. 생각보다 요구사항이 디테일 하게 설정되어 있어서 놓치기가 쉽습니다. 그럼에도 불구하고, 예외 처리 케이스는 느슨하게 설정되어 있어, 스스로 판단해 구현해야 하는 부분들이 있었습니다. 그러다보니 디테일한 예외 처리 케이스를 설정할수록 코드가 길어지고, 가독성을 잃게 되는 부분이 있었습니다.

결국 코드 가독성과 기능 구현의 딜레마의 빠지게 되었습니다. 이대로는 안되겠다 싶어, 처음으로 돌아와서 이 문제를 출제한 의도와 학습목표를 다시 천천히 분석했습니다. 그 과정에서 스스로 적절한 정도와 의도를 세울 수 있었습니다. 중요한 것은 문제해결과 동작하는 코드이지, 형식이나 구조가 아니었습니다.

문자열 덧셈 계산기 repository

2. 자동차 경주 🛣️

1주차의 코드 리뷰를 주고받으며, 다른 분들의 코드를 읽었을 때 class를 나누고 구조화를 시도하신 분들이 많았습니다. 저는 1주차에는 class를 나누거나 구조화를 할만큼 복잡하거나 규모가 큰 문제가 아니라고 생각해서 main class에 모든 기능을 구현했습니다. 대다수의 리뷰어 분들께서 class를 나누는 게 좋겠다고 하셔서 2주차에는 함수와 코드를 나누었습니다.

기능 요구사항, 프로그래밍 요구사항을 먼저 분석하고, 기능 구현 목록을 작성한 뒤, 개발에 착수했습니다. 이 과정에서 eslint, prettier를 세팅하는 데에 어려움이 있었지만, 프리코스 커뮤니티에 다른 지원자 분들께서 올려주신 팁들을 참고하여 세팅을 완료할 수 있었습니다.

자동차 경주 repository

3. 로또 💸

2주차 코드 리뷰를 주고받았을 때, 많은 분들께서 MVC 패턴을 적용하셨음을 알 수 있었습니다. 그러나 저는 React로 Javascript를 입문했던 터라 Javascript의 class를 잘 다루지 못했습니다. 그래서 무턱대고 MVC를 적용하기보다 천천히 클래스를 나누고, 구조화 하는 것부터 시작하려 했습니다. 다른 분들의 멋지고 세련된 코드에 주눅들거나 영향 받지 않고, 스스로의 페이스를 찾고 유지하는 게 스스로의 성장에 더 도움이 될 거라 생각합니다.

로또에서는 class를 나누고 구조화 하였습니다. MVC 패턴은 아니었지만, 제 나름대로의 판단을 통해 구조화된 프로그램을 만들 수 있었습니다. 그 과정에서 놓친 요구사항도 하나씩 있었지만, 일희일비 하지 않고, 다음 미션을 준비했습니다.

로또 repository

4. 편의점 🏪

마지막 미션이었던 편의점은 상당한 난이도를 자랑했습니다. 파일 입출력부터, 많은 데이터 manipulation을 요구했습니다. 좀 더 설계를 탄탄히 하고 개발에 들어갔더라면 더 효율적인 코드를 짤 수 있었을 것 같은데, 스스로 아쉬움을 많이 느꼈습니다. 기능별로 종속성이 조금씩 틀어져 있어, 기능을 만들 때마다 새로운 데이터 조작을 해야 했습니다. 어찌저찌 모든 테스트 케이스를 통과하긴 했지만, 100% 만족스럽진 않았습니다.

편의점 repository

앞으로 우테코에 지원하시는 분들께 조금이나마 도움이 되었길 바랍니다. 저는 지원서 작성, 프리코스, 최종 코딩테스트라는 긴 시간을 통해 성장할 수 있었고, “몰입과 메타인지”가 정말 중요하다는 걸 다시 한번 느꼈습니다. 여러분도 스스로의 이야기를 만들어 나가시길 응원합니다.

profile
PAy IT forwaRD를 실천하는 프론트엔드 개발자.

0개의 댓글