어떻게 시작하게 됐는가?
구직을 위해 채용공고를 보면서 느낀점은 자격요건에 Kotlin이 포함된 공고가 작년보다 눈에띄게 많아졌다는 사실이었다.
그래서 새롭게 진행하는 사이드 프로젝트는 Kotlin을 써보기로 결정했다. 책을 통해 문법은 알 수 있었지만 보다 코틀린스러운 코드를 짤 수 있었으면 했고 이를 위해서는 경험자들의 리뷰가 있으면 더 좋겠다는 생각을 했다. 마침 NextStep에 이펙티브 코틀린 8기가 열렸길래 바로 신청을 했다. 여러 후기들을 보았을때 비용이 아깝지 않다는 이야기들이 많았고, 이를 통해 더 빠르게 성장할 수 있을것 같았다.
기간은 총 6주 과정이며 주 1회 3시간 가량의 온라인 강의가 진행된다. 이때 강의는 Jason이 해주신다.
이외의 시간들은 매주 주어지는 미션 구현하고 실무자들의 리뷰를 통해 개선해나가는 방식으로 진행된다.
1주차 미션 회고 - 자동차 경주
잦은 피드백을 통해 개선해나가기
NextStep에서 강조하는 이야기는 "완벽한 상태에서 리뷰를 받을 필요없습니다. 일단 구현하고 리뷰를 요청하여 개선하세요" 다.
나는 위의 이야기와 반대되는 사람이다. 뭐든 완벽한 상태에서 공개하고 피드백을 받고 싶어한다. (실제로는 완벽하지도 않다.) 이력서나 포폴을 만들때도, 개발을 진행할때도 그래왔고 이와 같은 이유로 진행이 더딜때도 꽤 많다.
이번 미션을 처음 구현할때 돌아가는 코드를 만드는데만 집중했더니 테스트하기 어려운 코드가 되어있었다. 코드를 어떻게 개선해야할지 감이 오지 않는 상황에서 평소 같았으면 내가 만족스러울때가지 혼자 이것저것 수정했을것이다. 나도 만족스럽지 않은 코드에 대해 리뷰를 부탁드려도 될까 싶었지만 한편으로는 다른 사람의 시각을 통해 더 좋은 방향성을 알게 되지 않을까 라는 생각으로 빠르게 리뷰를 부탁드렸다.
그리고 리뷰어님은 너무 과하지 않게 현재 스텝에서 개선할만한 방향을 제시해주셨다. 피드백 이후 빠르게 코드를 개선해나갈 수 있었고 스스로도 만족스러웠다. 이번 과정을 통해서 내 약점이라고 생각하는 이런 부분들을 더 개선해나가길 기대해본다.
내가 아는만큼 배운다
당연히 아쉬운점도 있었는데 리뷰를 받을때 질문을 많이 못했다는 점이다. 질문을 많이 해서 많이 얻어가고 싶었는데 아는게 적어서 그런지 추가적인 질문거리들이 생각이 나지 않았다. 이건 꾸준한 학습을 통해 내 시야를 넓히는 방법밖에 없는것 같다.
추가적으로 배운 내용들
- 학습테스트
- Kotest
- Kotest의 Parameterized Test
- 가변변수를 읽기 전용으로 만드는 법 - private set (공식문서)
- 가변과 불변
- require과 check
- reduce와 fold
- 코틀린의 컨벤션과 안티패턴
- JVM 어노테이션들을 알아야 하는 이유
- Enum 클래스에 람다함수 적용하기
추가적으로 정리할 사항
- object, companion object, class 의 차이는?
- Kotest의 더 나은 활용법
- Kotlin의 lint
'Etc > NextStep' 카테고리의 다른 글
이펙티브 코틀린 (TDD, 클린코드 with Kotlin) 8기 - 3,4,5 주차 (0) | 2025.01.10 |
---|---|
이펙티브 코틀린 (TDD, 클린코드 with Kotlin) 8기 - 2주차 (0) | 2024.12.02 |