2021.02.03 ~ 2021.02.15
2021년 2월 2일에 오리엔테이션을 가진 후, 본격적으로 우아한테크코스 교육을 받기 시작했다. 오리엔테이션에서 가장 기억에 남는 3가지 말이 있다.
나름 우테코 합격 이후 진짜 열심히 해봐야겠다고 다짐은 한 상태였지만 이렇게까지 생각해본적은 없어서 조금 놀랐다. 지금까지 공부를 할 때, 스스로 보상을 주는(?) 방법으로 공부를 해왔었다. (예를 들면 오늘 어디까지 공부를 하면 그 이후는 스스로 쉬는 시간을 준다던가, 게임을 몇 판하게 해준다거나 등..) 이런 방법이 오히려 더 효율을 높일 수 있다고 생각을 해왔었는데 저 말을 듣고 약간 고민이 많아졌다 ㅎㅎ..
괜히 잘 모르면서 아는 체하지 말라는 소리다. 모르는 것은 인정하고 학습해나가면 되는거지 부끄러워할 게 아니다. 배우러 온 것인데 '이것도 몰라?'라고 생각하는 사람은 없지 않을까? 오히려 아는 부분이 있으면 다들 잘 알려줄 것이다. 스스로 너무 부정적인 생각에 갇히지 말자는 생각을 하게되었다.
프리코스를 진행하면서 다른 사람들의 코드도 보고해서 잘하는 사람들이 많을 것이라고 생각은 했다. 그래서 스스로 조금 위축될 수 있다고 생각도 했다. 하지만 포비가 다른 사람과 비교하지말고 어제의 나와 비교해서 나아졌으면 된 거라고, 각자 속도대로 발전해가면 된다고 하신 말씀이 정말 좋았다. 첫 번째 미션을 진행하는 기간 동안 크루들이 질문하고 서로 토론하는 것을 보면서 잘하는 사람이 많구나라는 생각이 들고, 스스로 위축될 때 마다 이 말씀을 떠올리곤 한다.
2월 3일 ~ 2월 15일까지는 온보딩 기간이었다. 첫 번째 미션은 프리코스 때 진행했던 자동차경주 미션을 단위테스트와 함께 구현해보는 것이었다. 또 프리코스와 달랐던 점은 페어와 같이 구현을 해야했다.
매일 교육 시작 시간에 데일리 미팅을 한다. 우리 조는 제이슨을 포함하여 총 14명이다. 주로 Google Meet으로 진행한다.(게더 타운도 한 번 써봤는데 재밌었다 🤣🤣🤣) 전날 뭘 하면서 보냈고, 당일 뭘 할 건지 등의 얘기를 나눈다. 얼른 다들 친해지고 싶은데 아직 그렇지는 못한 것 같다.😢
페어 프로그래밍으로 미션을 진행한다는 것은 알고 있었지만 페어 프로그래밍이 어떻게 진행되는 건지 잘 몰랐고 '그냥 막연하게 둘이서 컴퓨터 하나로 같이 코딩하는 것' 이 정도로 알고 있었다. 우테코 첫 번째 미션의 페어는 조앤이었다. 조앤은 나랑 같은 데일리 미팅 조이기도 하다.
자동차 경주 미션을 바로 진행하지는 않고, 먼저 Junit을 활용한 단위 테스트 수업을 듣고 조앤과 함께 단위 테스트 실습과 만들어져있는 단위 테스트를 활용한 TDD 계산기 구현을 먼저 진행해봤다.
우테코 시작전에 백기선님의 더 자바, 애플리케이션을 테스트하는 다양한 방법 강의를 들어봐서 Junit에 대해 조금 알고 있었던 것이 도움이 많이 되었던 것 같다.
계산기 구현 이후 본격적으로 자동차 경주 미션을 진행하게 되었는데 둘 다 TDD가 익숙하지 않아 포비의 말대로 이번 미션은 구현부터 하고 거기에 맞는 단위 테스트를 작성해보는 식으로 진행하였다. 포비의 TDD 수업을 듣고나서 다음 미션 부터는 테스트 코드부터 작성해보면서 구현하는 연습을 해보고 싶긴하다. 뭐든 해봐야 늘테니..
코로나로 인한 비대면 교육으로 인해 페어 프로그래밍을 할 때 'Code With Me'라는 것을 사용하게 되었다. 자동 완성이 잘 안되거나 그렇긴 했지만 동시에 한 명의 코드를 같이 보면서 코딩할 수 있는 게 매우 신기했다.
페어 프로그래밍은 두 사람이 실제로 코딩하는 Driver와 어떻게 코딩하라고 주도하는 Navigator의 역할을 나눠서 한다. Navigator는 자신이 하려는 일을 이야기하고 Driver는 질문과 제안을 하는 역할이다. 한 사람이 계속 같은 역할을 하는 것이 아니라 시간을 정해서 바꾸던지 등의 기준을 세우고 서로 번갈아서 역할을 바꾼다. 나랑 조앤은 미리 작성해놓은 기능 목록 하나씩 구현하고 역할을 바꾸는 식으로 진행했다.
자동차 경주 미션은 프리코스 때 한 번 해본 것이어서 서로 구현했었던 것이 있었고, 물론 다르게 구현한 부분도 많았다. 그래서 어떤 방식이 더 나을까라는 질문을 서로 많이 하게 되었다. 조앤은 서로 다른 방향으로 구현을 생각할 때, 너무 강압적이거나 기분 나쁘지 않게 논리적으로 잘 말해줘서 좋았다. 헤메고 있을 때도 친절히 알려줘서 잘 마무리 할 수 있었던 것 같다.
페어 프로그래밍을 진행하면서 내가 몰랐던 부분을 많이 알게되었고 이런식으로 구현할 수도 있구나 라는 생각을 많이 하게 되었다. 처음이기도하고, 계속 말을 하면서 코딩을 하고, 또 답답해할까봐(부정적인 생각에 갇히지 말자..) 나도 모르게 좀 신경을 써서 그런지 페어 프로그래밍이 진행되는 동안은 일정이 끝나고 나면 진이 빠졌다.(운동을 안한지 오래되어서 체력 문제일수도 있다 ㅎㅎ..)
페어와 구현 이후, 한 사람의 소스로 작업을 했기 때문에 그걸 가져와야했다. 우리 같은 경우는 조앤의 코드로 코딩했기 때문에 내가 조앤의 코드를 가져와야했다.
이런 힌트가 주어졌긴 하지만 여전히 잘 모르겠었다. 슬랙 질문방에서 알려주신 대로 진행해보긴 했지만 잘 안되었다ㅠㅠ 결국 조앤이 pr을 보내줬고 그걸로 코드를 옮겼다.
코드 리뷰 이후에도 git 때문에 멘붕이 왔었다. 첫 번째 단계가 통과된 이후 rebase를 통해 woowacourse 저장소와 로컬 저장소의 브랜치를 동기화해줘야 하는데, 이유는 모르겠지만 confilct가 발생했다. 커밋이 한 40~50개 있었는데 커밋 하나하나 마다 다 confilct가 발생했다. 멘붕이 엄청 왔는데 조앤이 브랜치를 지우고 다시 만들어보는게 어떻냐고 제안해줘서 하니까 제대로 됐다. 조앤👍🏻👍🏻 git은 너무 어려운 것 같다. 필독서를 다 읽으면 git 책을 볼까 고민중이다..
짝과 함께 구현을 끝낸 이후, 의견이 달랐던 부분이나 리팩토링 할 게 있다고 생각되면 개인적으로 리팩토링을 끝낸 후, 첫 번째 코드리뷰를 요청하게 된다.
우테코에서 기대하던 여러가지가 있었는데 그 중 하나가 코드리뷰였다. 한 번도 받아본 적은 없지만, 현직자가 코드 리뷰를 해주시면 여태까지 내가 잘못하고 있는 부분, 효율적이지 못한 부분을 확실히 알 방법이 없었는데 코드 리뷰를 통해 잘못하고 있는 부분도 인지하고, 더 많이 성장할 수 있다고 생각했기 때문이다.
나의 첫 번째 리뷰어는 🐳김고래였다. 코드리뷰는 생각보다 너무 좋았다. 꼼꼼히 자세히 해주시는 게 느껴졌다. 코드 리뷰를 통해 놓치고 있던 부분도 많이 알게되었고, 키워드를 던져주셔서 스스로 공부할 수 있었다. 너무 친절하게 답해주셨다. 또 코드리뷰 후 말씀해주신 피드백을 반영하는 중에 추가적인 피드백까지 주시는 것을 보고 진짜 감동받았다.👍🏻👍🏻 dm으로 추가적인 궁금한 것을 물어볼 때도 친절히 답해주셔서 너무 좋았다.(궁금증을 보내고 나니 뒤늦게 설 연휴인걸 깨닫고 죄송했는데, 항상 편하게 물어봐도 된다고 해주셔서 또 감동..ㅎㅎ)
주로 화요일, 금요일에는 수업이 있다. 제이슨이 자바 강의를 해준다. 기본 자바 문법강의도 하고, 중간 피드백 강의도 한다. 우테코 시작전 '자바의 정석'을 읽고 갔는데 내용을 복습하는 느낌이라 좋았다. 역시 반복학습이 좋은 것 같긴하다. '아는 만큼 보인다'라는 말도 있듯이 반복할수록 같은 내용이라도 더 많이 알게되는 것 같다.
피드백 강의는 특히 도움이 많이 된 것 같다. 내가 몰랐던 부분도 알게 되었고, 불변객체, 방어적복사 등의 키워드와 함께 코딩으로 보여주셔서 너무 좋았다. 강의 이후 키워드를 통해 공부할 수 있었던 것도 좋았다. 다음 수업 때는 또 뭘 알게 될까 기대된다. 강의력이 뛰어나셔서 귀에도 잘 들어오고 이해도 잘 된다.
자동차 경주 미션을 진행하면서 첫 번째 프로젝트도 같이 진행하게 되었다. 서비스를 개발하는 프로젝트는 아니었고, 프로그래밍 관련 주제로 보이는 라디오를 진행하는 방식이었다. 소프트 스킬을 증진시키기 위함이라고 한다. 솔직히 조금 멘붕이 오긴했다. 온라인으로 진행되는 게 진짜 다행이라고 생각했다 휴..
6명이서 한 조가 되었는데 3쌍의 페어가 한 조가 된 것 같다. 백엔드 끼리 한 게 아니라 프론트엔드 크루들과도 섞여서 했다. 조앤, 조이, 파즈, 서니, 티케와 한 조가 되었다.
조끼리 약속을 잡아 주제를 정하고, 역할을 나누고, 스크립트를 짜고, 연습하는 식으로 진행했다. 전체 리허설을 가지고 다음날에 바로 진짜 발표를 진행했다. 모든 크루들 진짜 다들 아이디어도 너무 좋고 표현도 잘해서 엄청 웃었다.
이런식으로 보이는 라디오를 진행해 본 것이 처음이었고, 주제 선정과정에서 의견을 많이 내고 싶었는데 아이디어가 잘 생각이 안 나서 스스로 조금 답답하고 팀원들에게 미안했다. 그래도 맡은 역할은 열심히 임하려고 했던 것 같다. 팀원들 덕분에 강평에 이어 실제 발표까지 잘 마칠 수 있었다고 생각한다. 긴장도 되고 했지만 다음번에 만약 이런 일을 또 하게 된다면 너무 부담감을 가지지 말고 마음을 편하게 먹는다면 더 좋을 것 같다.
약 2주간 우테코 생활을 해봤는데 생각보다 자율성이 더 강한 교육이라는 생각이 들었다. 주로 화요일, 금요일에만 수업이 있었고 수업 자체도 한 2시간 정도로 진행되었고 나머지 시간은 스스로 계획하고 보내야했다. 미션은 진행기간만 주어졌고 기간 내에만 완료하면 되는 구조인 것 같다. 스스로 공부하는 법을 알아가는 것 같고, 방향성을 제시해주는 것 같다. 아직 얼마 생활해본 것은 아니지만 현재로서는 만족도가 매우 높다.
내가 좀 낯을 가리는 성격이라서 아직 많이 친해지지는 못한것 같지만, 시간 문제라고 생각한다.(이럴 땐 외향적인 사람들이 진짜 부럽긴하다.) 친해지면 관계에 대해 신경쓰는 일 없이 학습에만 집중할 수 있을 거라고 생각한다. 크루들, 코치님들과 하루 빨리 친해지고 싶다.
자동차 경주 미션을 하면서 공부했던 내용들을 정리해봤다.