NextStep 에서 진행하는 TDD 클린코드 15기 강의를 끝냈다!!
정규 강의는 11월 17일까지였지만, 나는 더 늦게까지 해서 끝났다. ㅎㅎ
원래 매 주마다 회고를 작성하려고 했는데, 역시 부지런하지 못해서 마지막 후기만 작성하게 되었다.
소개
간략히 강의에 대해서 소개하자면,
8주간 4개의 미션을 하면 된다. 미션은 자동차 경주, 로또, 사다리타기, 볼링을 자바로 만들면 된다.
그런데 그냥 구현하는 것은 아니고 강의 제목과 같이 TDD와 클린코드 구현이다. 이게 정말 쉽지 않았다.
하나의 미션 안에 또 step이 1~4단계로 나뉜다. 각 스텝이 끝나면 리뷰어가 코드 리뷰를 해준다.
추천 이유
1. 강의 방식
일반적인 강의 방식이랑 완전히 다르다. 일반적으로 강사가 코드를 만드는 것을 따라치는 인터넷 강의가 아니다. 매 스탭마다 미션이 주어지고, 그 미션에 맞게 내가 스스로 코드를 구현해야 한다. 이게 처음 하면 굉장히 낯설고 어렵고 막막하다. 하지만 스스로 고민하고 될 때까지 코드를 짜게 만들기 때문에 더 많이 성장할 수 있었다고 생각한다.
2. 코드 리뷰
이 강의의 가장 좋은 점, 추천하는 점 중에 하나는 코드 리뷰이다. 좋은 회사가 아니라면 코드 리뷰를 받을 기회를 얻는다는게 쉽지 않다. TDD 강의를 들으면서 처음 코드 리뷰를 받아 보았는데, 처음엔 내 코드를 누군가 읽는다는 것 자체가 굉장히 부끄러웠었다. 하지만 내가 미처 알지 못했던 부분에 대해서 리뷰를 받고, 더 나은 방향에 대해 제시해주는 리뷰어들 덕분에 더 성장할 수 있었던 것 같다.
3. 성장
8주 정도 강의를 수강하고 난 후, 나는 정말 많이 성장했음을 내 스스로가 느꼈다.
회사를 퇴사하고 자바를 시작했으니 TDD 강의를 듣는 1주차에는 자바의 기초 문법도 모르고 시작했었다. 어느정도냐면 스태틱도 몰랐고, 인터페이스도 몰랐다. ㅋㅋㅋ 자동차 경주 미션과 자바 문법 공부를 병행해서 진행했었고, 이후에는 이펙티브 자바 등 다른 자바 책들을 읽으며 병행했다.
미션이 다 끝난 후 되돌아 보았을 때,
- 테스트 코드를 작성할 수 있게 되었다.
- TDD가 무엇인지 맛보았다.
- 도메인 설계에 대해서 어떻게 해야하는지 맛보았다.
- 메서드 분리, 테스트 분리에 대해서 조금 이해하게 되었다.
- 람다, 스트림을 조금 더 자유롭게 쓸 수 있게 되었다.
- 기존 레거시에서 점진적인 리팩토링을 어떤 방식으로 하는지 배웠다.
- OOP 적으로 설계하고 코드를 작성하는 법에 대해서 조금 이해하게 되었다.
4. 네트워킹 데이
2주마다 네트워킹 데이라고 개발자로서의 고민에 대해서 상담을 해주신다. 대체로 커리어에 대한 질문들이 많은데 방향성에 대해서 조언을 많이 해주셔서 좋았다.
5. 다른 사람의 코드
하다보면 막힐 때가 많아서 힌트를 얻고자.... 다른 사람들의 코드를 계속 보게 된다. 나는 정말 많은 사람들의 코드를 보았다. 이 과정에서 다른 사람들의 코드를 보는 눈..?이 생겼다.
6. 깃
나는 깃을 그냥저냥 사용할 줄 알았지만, 만약 깃이 미숙하다면 PR을 올려서 리뷰 받는 형식이므로 도움이 될 것이다.
7. 정규 강의 기간 외에 추가로 리뷰 받을 수 있다.
정규 기간은 8주이지만, 강의가 끝나도 당분간은 계속 미션을 진행하고 리뷰받을 수 있다. 8주는 너무 촉박해서 급하게 했었는데, 이 부분이 덜 부담스럽게 해줘서 좋았다.
8. 강의가 끝나도 강의 자료들을 볼 수 있다.
넥스트 스탭이 망하지 않는 한 무제한으로 강의를 볼 수 있도록 해준다.
단점
1. 가격
넥스트 스탭의 최대의 단점이다. 바로 가격인데, 여기 강의들은 다 가격이 비싼 편이다. 매 기수마다 금액이 달라지며 히스토리는 사이트에서 확인 가능하다. 내가 들었던 15기는 80만원이었다. 두 달치니까 한 달에 40만원이고, 미션이 4개니까 미션 1개당 20만원이다. 솔직히 너무 비싸서 고민을 많이 했는데 나는 그 이상의 값어치를 뽑아 먹었기 때문에 결과적으로 하나도 아깝지가 않았다.
하지만 완주를 끝까지 못한다면 아까운 금액이다. 그렇기 때문에 더 독기 품고 끝낼 마음으로 시작해야 한다...!
2. 절대적 시간이 많이 든다.
강의를 수강하는 동안 TDD 미션에 사용할 수 있는 절대적인 시간이 부족한 사람들은 비추천한다. 이게 별거 아닌 것처럼 보이는데 생각보다 시간을 정말 많이 잡아먹는다. 회사 다니는 사람들은 이거 수강할 동안 다른 공부나 유흥은 포기해야 한다.
나는 하루 3시간 ~ 5시간정도 TDD 강의에 투자했다. 일주일에 30시간 정도는 쓴 듯 하다. 그럼에도 정규 기간 내에 미션을 끝내지 못했다. 실제로 끝까지 완강하는 사람의 비율이 20% 밖에 되지 않는다고 하더라.
3. 리뷰어 복불복
각 미션마다 다른 리뷰어가 배정이 된다. 랜덤이기 때문에 리뷰어 복불복이 있다....; 좋은 리뷰어는 엄청 꼼꼼하게 잘 해주는데 ...... 아닌 사람이 걸리면 좀 짜증난다;
리뷰가 너무 느려서 진도를 못나갈 수도 있고, 엄청 성의 없게 리뷰 해주는 사람도 있다. 이게 순전히 랜덤이라 운에 맡겨야 한다는게 별로였다. 리뷰가 별로면 재밌게 하던 미션도 김이 샌다.
정리
1. 솔직히 이걸 듣고 바로 TDD 로 코드를 작성할 수 있는 역량이 생기지는 않는다... (나만 그럴 수도 있음) TDD 를 하기 위해서는 도메인 지식과 이해가 높아야 한다. 그냥 아 어떻게 하는 것이구나! 정도이며 TDD 로 코드를 작성하기 위해서는 추가적인 연습이 많이 필요할 것 같다. 대신, 이전에는 아예 할 줄 몰랐던 테스트 코드 짜는 것이 수월해진다.
2. 수강 대상에 실무 경력 1 ~ 3년 이상의 자바 개발자라고 적혀있으나, 내가 생각하기에는 의지만 강하다면 처음 시작하는 사람도 충분히 가능하다. 나도 자바 기초도 없이 수강 시작했으니까.
3. 하다보면 막막하고 절망적인 순간들이 많이 찾아오는데, 끝까지 포기하지 않고 한다면 본인 스스로가 성장했음을 느낄 수 있다. 정말 강력 추천한다!!
'기타' 카테고리의 다른 글
SAP ERP 탈출 여정기 (성공) (0) | 2024.05.01 |
---|---|
15년된 나의 일기장 디지털 전환하기 (0) | 2024.01.16 |
[Next Step - TDD 3주차 회고] (0) | 2022.10.09 |
[Next Step - TDD 2주차 회고] (0) | 2022.10.05 |
[Next Step - TDD 1주차 회고] (0) | 2022.09.24 |