NextStep은 자바지기님을 필두로 하여 개발자를 위한 다양한 교육을 운영하고 있는 교육 기관이다. 내 주위에도 '클린코드를 위한 TDD, 리팩토링 with Java'를 수강한 분들이 여러명 있어서 이런 수업이 존재한다는 사실은 알고 있었다. 이번에 코틀린 버전의 수업이 신설됐길래 1기로 수업을 신청하게 되었다.

 

수업의 풀네임은 이펙티브 코틀린(Effective Kotlin) with TDD, Refactoring, Clean Code로, 개발자들이 관심있어 하는 멋진 키워드가 죄다 들어간 이름이다. 어제가 첫 모임이었어서 1주차를 막 끝낸 김에, 수업의 첫인상이나 앞으로의 과정에 임하는 다짐을 글로 남겨본다.

 

수강료가 사실 대학생인 내 입장에서 적은 돈은 아니다. 신청하게 된 계기는 마침 적금 만기일과 수강 신청 기간이 겹쳤던 덕이 크다. 예전에 별 생각 없이 만들고 방치해둔 카카오뱅크 26주 적금 만기가 1주일 남은 시점에서 수강생 모집 공고를 발견했다. 적금을 타면 어떻게 쓸지 고민하던 참이었는데, 그냥 저축하는 것보다 한살이라도 젊고 무지할 때(?) 나 자신의 학습에 투자하면 아깝지 않으리라는 생각이 들었다.

깨알 성공 자랑

나는 친구들이랑 스터디를 할 때도 무족권 보증금을 걸어야 한다는 주의라서(잃을게 있으면 더 열심히 하는 타입..) 수강료의 존재가 무의식적으로 나의 학습 의욕을 고취시키리라는 기대도 있다.

 

일반적인 학원 수업과 가장 큰 차별점을 보이는 부분은 무엇보다도 코드 리뷰다. 앞으로 매주 수행해갈 과제는 리뷰어 분들의 리뷰를 통과해야만 머지할 수 있다. 어제는 IDE 설정부터 시작해 PR을 만들고 리뷰어님께 코드 리뷰를 요청하기 까지의 사이클을 다함께 따라해보는 시간을 가졌다. 예상보다 이 프로세스가 디테일해서 내심 놀랐다. Slack 설정부터 branch 활용까지 자동화된 부분이 많고 컨벤션까지 세세하게 정해져 있다. Java 과정은 8기까지 운영되었으니 그동안의 시행착오를 통해 이런 디테일이 생긴게 아닌가 싶다.

 

ktlint의 활용법도 어제 처음으로 알게 되었다. 요걸 적용하면 kotlin 컨벤션에 맞지 않는 코드는 commit이 불가능하다. 정적 분석기로 나중에 하나하나 잡는 것보다 프로젝트를 처음 생성한 시점부터 사용하면 무척 유용할 거 같다. 생각보다 규칙이 빡세서 이미 작업 중인 프로젝트에 적용하면 최소 2주 정도는 커밋을 못할거 같기도 ㅋㅋ

 

자바지기님이 잠시 오셔서 이런 저런 좋은 얘기를 해주시는 시간이 있었다. (이름하여 정신교육)

발표 자료 첫장부터 인상적인 문구가 등장했는데...

시간 확보

  • 애인과 만남 시간 조정
  • 친구들과의 관계 끊기
  • 야근하면서 미션 구현하기

과제를 잘 마치려면 하루에 최소 2~3시간은 투자해야 한다고 한다. 5주 동안 평소 익숙하던 환경에서 벗어나 이 과정에 몰입하는 것을 최우선순위로 두라는 요지의 정신 교육이었다.

 

레거시 코드를 고치는 작업을 단순히 고통스러운 작업으로 생각하지 말고 재미있고 도전적인 작업으로 여기라는 말씀을 해주신게 기억에 남는다. 프로그래밍에 정답은 없다. 그때그때 상황에 맞는 최선의 선택과 설계를 할 수 있어야 한다. 아무것도 없는 상태에서 결과를 만드는 것은 누구나 할 수 있지만, 이미 존재하는 것을 개선하는 작업은 아무나 할 수 없다. 남들이 하지 못하는 것을 하는 개발자가 되어야 한다.

 

리뷰어 분들은 이전에 NextStep 수업을 수강하셨던 현직 개발자 분들로 구성되어 있다고 한다. 나는 항상 코드 리뷰에 목말라 있기 때문에... 지금까지의 인상은 '많은걸 얻어갈 수 있을 것 같다, 학습하기 좋은 환경이 마련되어 있다' 정도.

 

아무튼, 이 수업에서 내가 달성하고 싶은 바를 나열해 본다.

  • 모든 과제를 빼먹지 않고 내가 만족할 수 있을 정도로 구현하기
  • 코드리뷰를 통해 다른 사람들의 관점과 생각을 알아가기
  • 한층 더 코틀린스럽고, 읽기 쉽고, 고치기 쉬운 코드를 작성하기
  • 의식적으로 테스트 코드 작성하는 훈련을 하기
  • 추천 도서 중 1권 이상을 완독하고, 느낀점을 과제에 반영해보기

5주 후에 한걸음 더 성장할 나를 기대해본다. 😊