우테코란?
우테코는 우아한 형제들에서 개발 인력 양성을 위한 무료 IT교육 프로그램입니다. 저는 이번 웹 백엔드 4기 교육생으로 지원을 하였고 1차 합격자가 되어 프리코스 과정을 진행하게 되었고 벌써 3주라는 시간이 흘러 프리코스 기간이 끝났습니다.
3주라는 시간은 누군가에게는 길게 느껴지겠지만 저에게 지난 3주간의 시간은 매우 빠르고 짧은 시간이었으며 엄청난 발전을 한 기간이었다고 생각됩니다.
주차별로 과제를 진행하며 학습한 내용은 아래의 주차별 회고록에 기재를 하였기에 이번 포스트에서는 우테코 프리코스를 진행하며 제가 느낀점들을 중점으로 남기도록 하겠습니다.
📚 프리코스 과정을 진행하며 정리한 자료들
👨🏻💻 작성한 과제 코드
📒 회고록 & 후기
📕 공부하며 정리한 자료들
- Google Java Style Guide 번역
- Git 커밋 메세지 규약 정리 - The AngularJS commit conventions
- Test코드에 있는 NsTest & Assertion 분석
- Unit Test란? (단위 테스트)
- Private메서드의 Unit Test
- MVC 패턴이란?
- 일급 컬렉션이란?
- 자바의 Enum 정복하기
- 싱글톤(Singleton) 패턴이란?
📗 주차별 정리자료
🐸 나는 우물안의 개구리였다.
이번 프리코스를 진행하며 매번 느낀 것은 이 세상에는 코딩을 잘하고 뛰어난 사람들이 너무 많이 존재하며 나는 우물 안의 개구리였다는 것을 느꼈습니다.
학부 생활을 하며 시험을 볼 때는 같은과 동기들과 전과생, 복전생 등의 같은 학교 학부생들과의 경쟁을 하며 좋은 학점을 받다보니 사회에 나가서도 평균정도는 되지 않을까? 생각했습니다.
그러나 프리코스 과정들을 진행하며 다른 지원자들의 깃허브들을 구경하다보니 저는 우물안 개구리인 것을 크게 느꼈습니다..🐸
현직 한의사로 일을 하고 계시는데 우테코에 지원 하신분을 비롯하여 대부분의 지원자들의 깃허브를 구경하다보니 "하루 24시간, 같은 시간을 보내며 인생을 살았는데 쌓아온 공부지식, 기술 스텍은 이렇게 다를까?", "이 분들은 바로 취업을 해도 괜찮을 것 같은데??"하는 생각이 많이 들고는 하였습니다.
저는 이러한 지원자들의 깃허브를 보며 자극 받고 그 사람들이 쌓아온 기술스텍을 따라잡자는 마음으로 이번 프리코스 과정에서는 2배, 3배로 열심히 임하였던 것 같습니다.
🦁 우테코의 야생 학습
- 소프트웨어 엔지니어가 다루는 문제는 특정일에 머물러있지 않아 야생학습이 필요하다. 그동안 공교육에서 정해진 공부의 틀이 있었다면 우테코에서는 교육자들이 자발적으로 학습을 해야한다.
- 야생학습에서 살아남으려면 복잡한 상황을 지혜롭게 해결하는 역량, 특정 문화를 해결하는데 필요한 집중력, 끝이 보이지 않는 막막한 현실을 이겨낼 정신력, 함께 문제를 풀기 위한 소프트웨어 스킬 등의 역량이 필요하다.
해당 우테코 지원에 앞서 우테코에 대해 알아보던 중 우테코의 학습 방향 중 하나인 야생학습에 대해 정리한 자료입니다.
위의 자료와 같이 이번 프리코스는 우테코의 야생학습을 경험할 수 있는 기회였습니다. 우테코 프리코스는 수업이 따로 있는 것이 아니라 3주간 1주일 단위로 요구사항이 주어진 프로그래밍 미션을 하나씩 주고 해당 미션이 끝나면 공통 피드백을 주며 자발적으로 학습을 하는 방법으로 진행되었습니다.
저는 프리코스를 진행하며 공통적으로 주어진 미션을 임하며 내가 자발적으로 얼마나 많은 것을 학습하고 적용할 수 있는지가 이번 프리코스의 목적이라고 생각되었습니다.
확실히 3주간 미션들을 진행하며 Git Commit Convention, Java Style Guide등의 기존에 접하지 못하였던 새로운 학습들을 할 수 있었으며 미션을 수행하다보니 더욱 가독성 좋은 코드, 자바의 특징을 살릴 수 있는 코드를 작성하기 위해 많은 노력을 하였던 것 같습니다. 또한 Test에 대한 학습 및 MVC 및 싱글톤 등의 여러 공부들도 진행을 하게 되었던 것 같습니다.
야생학습이 누군가에게는 잘 맞고 누군가에게는 맞지 않을 수 있으나 3주간 발전한 저의 모습을 보니 저에게는 잘 맞는 학습 방법이었던 것 같습니다.
👨🏻💻 코드리뷰의 장점
프리코스를 진행하며 가장 좋았던 점은 과제를 Git의 Pull Request방법으로 제출을 하여 다른 지원자들의 코드 리뷰를 할 수 있었다는 점이었습니다.
과제가 끝나고 다른 지원자들의 코드 리뷰를 하며 내가 작성한 코드의 부족함
과 개선해야할 점
, 몰랐던 기술 및 코드들
등을 알 수 있었고 이를 반영할 수 있었습니다. 그러다보니 한 주가 지나갈 때마다 작성한 코드가 전 주에 작성한 코드보다 더욱 가독성이 좋아지는 등 발전을 할 수 있었던 것 같습니다.
또한 일급 컬렉션
과 같이 코드에 직접 적용을 하지 못하였더라도 그동안 몰랐던 개발 지식을 하나라도 더 쌓아 갈 수 있는 시간이 됐던 것 같습니다.
🙋🏻♂️ 코드 리뷰를 진행하다보니 우테코 프리코스 과정도 우테코 과정에서의 페어 프로그래밍과 같이 팀을 구성하여 서로의 코드 리뷰를 해보도록 하면 좋지 않았을까? 하는 생각도 하게 되었습니다. 각자의 코드를 작성하고 자발적으로 팀 내에서 서로의 코드를 리뷰하게 된다면 프리코스 과정 내에서 더 많은 것들을 배워갈 수 있을 것 같습니다.
🚨 추후 우테코를 지원하기 위해 해당 게시글을 보게된 지원자들도 꼭 과제를 제출했다는 점에서 끝내지 말고 다른 지원자들의 코드 리뷰를 진행해보시길 바랍니다.
😁 마치며
취업 시즌이 다가오면 기업들의 공채들뿐만 아니라 우테코, SSAFY, Dev Camp등 여러 교육 프로그램 또한 지원을 생각할 것입니다. SSAFY와 다르게 우테코는 2번의 코딩 테스트를 통해 선발되며 최종 코딩테스트에서는 언어 또한 제한이 되게 되며 "지원해도 떨어질 것 같아.."라는 생각과 "1년을 더 공부해야한다고?"라는 생각 때문에 지원을 고민하시는 분이 있을 것입니다. (제 주변의 몇몇 지인들도 그랬어요😥)
이러한 고민을 하는 여러분들께 전해드리고 싶은 말은 일단 지원하라고 전해드리고 싶습니다.
저는 아직 우테코 과정에 최종적으로 합격한 것은 아니고 현재 프리코스 과정만 진행하였음에도 불구하고 지난 3주간 많은 성장을 하였습니다.
저는 지난 3주간의 프리코스 과정을 통해 앞으로 공부를 해야 할 방향과 방법 등 여러가지를 학습할 수 있었습니다. 이것만으로도 충분히 값진 경험을 하였다고 생각합니다.
앞으로 남은 과정은 이번주 금요일에 실시하는 최종 코딩테스트만 남았습니다. 테스트 까지는 기존에 받았던 피드백과 학습 내용을 복습하고 이전에 풀었던 문제들과 풀어보지 못하였던 java-subway-path-precourse 문제를 풀어보며 준비를 하고자 합니다.
테스트 시간이 1~6시로 5시간만 주어지는 만큼 시간이 많이 부족할 수 있으나 최선을 다해서 테스트에 임하도록 하겠습니다.
좋은 기회를 주신 우아한 형제들의 우테코 관계자 분들께 감사함을 표합니다.🙇🏻♂️