스터디

TDD, Clean Code with Java 10기 - 오리엔테이션

와니's(Wani) 2020. 10. 31. 23:00

TDD 클린코드 for 자바


수강 신청을 한 계기는 다음과 같다.
9월달 블랙커피 자바스크립트 스터디가 진행되는 도중 자바얘기가 나왔었고, 그중 한분이 과거에 이 수업을 신청해서 진행했었는데 만족도가 높고 실력 향상에
도움을 많이 받았다고 했다. 수강 가격이 70만원 이다. 사실 적은 돈이 아니기 때문에 고민을 많이 했었다.
내가 이걸 듣는다고 성장을 많이 할까?, 수강을 다 하지 못하면 어쩌지?

특히 수료율이 15%도 안된다는 말에 충격을 먹었다. 70만원을 내고 수업을 듣는 사람들이면 돈이 아까워서라도 무조건 죽자고 달려들텐데,
그중 수료하는 사람이 절반채 안된다는게 나에게는 두려움으로 다가왔다.


답답한 마음에 넥스트 스텝에 문의를 했었다. 돌아오는 답변은 지금 나에게 꼭 필요한 강의라고 느꼈다.
현재 나는 1년된 자바 개발자이며(자바 백엔드는 아니지만 안드로이드로 자바를 개발했기에 자바는 조금 알고 있다.)
이번에 큰 성장을 할수 있는 계기를 준다고 했다.
하지만 이번에 회사에서 10월 31일, 11월 1일 2일간 진행되는 외부 수업이 있었고, 고민한 끝에 신청을 했다.

오리엔테이션을 진행하고 나서

처음에 이 수업에 대해서 많은 두려움을 느끼고 있었다.

  1. 자바지기님이 어떤 사람일까?
  2. 다른 선배 개발자들이 무섭다.

하지만 첫 오리엔테이션을 참여하고 느낀점은 달랐다.

  1. 자바지기님은 재밌고, 친근하다.
  2. 다른 선배 개발자들도 나랑 다를바가 없다.

첫 오리엔테이션의 목표는 온라인 코드리뷰 방식으로 미션을 진행하게 되는데 미션을 진행하는 방법을 깨닫자 이다.
이 수업에서는 온라인 코드리뷰 방식이 현업에서 사용하는것보다는 복잡하다고 느껴진다.
오픈소스 진영에서 사용하는 방식인데, 내가 해당 저장소에 대한 권한이 없기 때문에 여러가지 일을 해야하기 때문이다.
현업에서는 보통 저장소에 대한 권한을 가지고 있으니까 이 수업보다는 훨씬 수월하게 진행할수 있다.

이번 수업의 목표는 다음과 같다.

  1. 깃헙을 사용하는 방법을 배운다.
  2. 객체지향 설계를 배우자.
  3. 테스트 코드를 잘 짜자 (TDD를 활용해서)
  4. 클린하게 코드를 작성하자.

교육자 소개

나는 이 시간에 포비의 생각이 너무 마음에 들었다.
보통 이 수업을 듣는 사람들의 나이대는 20대 중반에서 많아야 30대 초반일거라고 생각이 드는데,
허물없이 친근하게 다가와 주길 바라는 마음이 커보였다.
그 일례로 자신의 닉네임을 님자를 붙이고 부르지 말라고 하셨다.
수업 전에는 약간 쫄아(?)있었는데, 그 마음들이 녹아버렸다.

또한 자신을 반란군을 키우는 사람이라고 지칭을 했는데, 왜냐하면 지금 하는 방식이 우리가 생각하는 방식들과
너무 다르다고 해서 과거에 태어났으면 반란군으로 불렸을것이라고 생각해서 불리게 되었다고 했다.

그 이유는 미션을 진행하면서 공감하게 되었다.

넥스트 스텝

개발자가 소프트웨어 장인으로 성장하는데 필요한 모든 도움을 주는것이 비전이자 목표인 회사이다.

넥스트 스텝에서 보면 주니어 개발자를 위한 강의보다는 중급개발자 이상의 강의가 많아보인다.
처음에는 의아했었다. 하지만 오리엔테이션에서 그 궁금증을 해소 시켜주었다.

우리나라에서는 상당히 많은 곳에서 교육을 한다. 하지만 대부분이 주니어개발자들을 위한 교육을 한다.
우리나라가 성장하기 위해서는 중급개발자들을 위한 교육이 필요하다고 생각이 들었다.

또한 강의방식이 새롭다고 느껴졌다. 다른곳에서는 일방적인 강사들이 수강자들에게 전달하는 강의가 많은데
이 강의에서는 코드리뷰 받는것으로 진행했다. 그 이유는 개발자들이 성장을 하는 최적의 방법은
1:1로 코드리뷰를 받을때 많이 성장한다고 느꼈다고 했다. 하지만 이 과정들이 힘들것이라고 못을 박아두셨다.

소프트웨어 교육을 통해서 자기주도적으로 학습하는 습관을 만들고 프로그래밍을 즐기는 개발자로 살아가는데 도움을 주는것이 기본 철학이라고
설명을 해두셨다.

이 과정을 모두 수료하고 난 사람들을 위해 nextStep 멤버쉽으로 활동할수 있는 기회를 부여한다고 했다.
코드에 대해서 1:1 피드백을 주는것처럼 이력서나 모의 면접을 통해 1:1 멘토링을 무료로 진행해주는 혜택이 있다고 한다.
꼭 미션을 완료해야 하는 이유가 늘었다.

미션을 진행하면서 경계할것

우리가 살면서 경쟁위주의 사회를 살다보니까 경쟁의식이나 불안감을 느껴서 빨리 힌트를 본다거나, 다른 사람의 코드를 본다거나 한다.
그러면 빠르게 실력이 늘지 않는다. 처음에 이 과정을 진행하면서 힘들수는 있지만 그것이 어느 순간 자기것이 되고 그 뒤로는 속도가
빨라진다고 한다.

제일 중요한것은 주변사람들과 경쟁을 하지 말고 어제의 나와 1주일의 나와 경쟁을 하라고 했다.
2주차 미션을 진행할때 1주차 미션을 했던 코드를 보면서 자신이 짠 코드가 쓰레기처럼 보일정도록 노력을 했으면 좋겠다고 했다.
그래야 중간에 번아웃도 안할수 있고 꾸준히 할수 있다고 했다.

만약 다른사람들이 잘하고 빠르게 하면 나보다 경력이 많구나 라고 생각을 하라고 했다. 그리고 무시해라
나 자신을 믿어라

과정을 슬기롭게 소화하는 방법

사실 이 부분은 과거 우아한 테크유튜브에서 강의하신 내용을 들어서 다시한번 상기시킨다는 생각이 들었다.
이 미션은 매일 하루에 3시간 정도를 투자해야하는데, 우리는 이 습관이 다져지지 않아서 처음에 습관을 들이기가 힘들거라고 했다.
공부하는 습관을 들이는것이 중요하다.

그것에 대해 좋은 방안을 제시해주셨다.

  1. 주변 정리 및 우선순위를 조정할것
  2. 꾸준히 연습할 시간을 확보할것
  3. 우리의 의지력을 믿지말고 환경을 바꿀것

또한 미션을 진행할때 내가 가지고 있는것을 비우라고 하셨다.
미션을 진행하면서 요구사항 규모에 비해서 극단적인 리팩토링을 요구하는 경우도 있다. 거부감이 들수도 있다!
하지만 일단 적용해보고 전과 후의 코드를 분석해보자. 그리고 제일 중요한건 자신이 가진것을 비울때 가장 많은것을 배울수 있다고 했다.

만약 진행하면서 리퓨어 피드백과 내 생각이 상반되는 경우도 많다고 한다. 이 과정을 혼란스럽게 생각하지말고 즐기는것이 좋다.
상반되는 의견에 대해 생각할 수 있는 계기로 생각하자. 그리고 마음껏 생각하고 자신만의 프로그래밍 색깔을 만드는것이 좋다고 했다.

미션만 진행하려는 사람들이 있는데 미션을 하면서 새롭게 알게된 지식을 학습하는데 많이 쓰라고 하셨다!
이제 그 과정 들이 시작되었다.