해당 글은 NextStep 이펙티브 코틀린 with TDD, Refactoring, Clean Code 3기를 진행하며 쓴 회고글입니다.
실전
요번 블랙잭 미션은 신기하게도 리뷰어님과 많은 대화를 하게 된 미션이였다. 지금까지 만난 리뷰어님 중에서 가장 스파르타한 리뷰어님이였다.
요번 Effective Kotlin을 들으면서 코틀린에 대해서 많은 것을 배웠고, 많은 실험을 해보았다. 하지만 가장 중요한 것은 실전에는 어떻게 적용을 해야 하는지에 대한 것이었다.
어떻게 적용을 해야 할까 생각하다가, 아주 좋은 타이밍 때 한 로직에서 버그가 일어났고, 버그를 고치기 위해서는 많은 리팩토링을 해야 했었다.
리팩토링하면서 배운 것에 대해 적용하기 좋은 구조였다. 이렇게 나는 실전에 나의 새로운 코드를 적용해나가기 시작했다.
그리고 해당 글을 읽고 있는 분들에게 물어볼게 있다. 원래 프로그래밍 공부를 하다 보면 이상하게 꼭 적용 해보고 싶은 욕심이 생기는지 말이다.
결함
실전에서 코드를 적용해나가는 것은 좋았다. 아주 재밌었다. 그리고 하루하루 시간이 아주 잘 가는 마술이 펼쳐졌다.
신나서 구현하고, 나의 코드를 코드 리뷰 하는 순간. 지금까지 들었던 비판 중에서 가장 많은 비판을 받았다.
- 클래스가 너무 왔다리 갔다리 한다.
- 예전 코드 스타일은 어디에다가 팔아먹은거에요?
비판을 받고, 다시 코드 리뷰를 하자는 말이 나왔고, 코드 리뷰가 끝난 뒤에 이날은 내가 짠 코드를 보면서 복기를 했다.
이후에 다시 코드를 수정하여, 코드 리뷰를 했지만 요번에는 한 분이 그만하자는 식으로 빨리 끝내고, 아무 말 없이 나갔다.
그 후에 갑자기 다시 들어와서 현재 스타일에 대해서 매우 맘에 안 든다고 말을 하고 나가셨다.
배움
이렇게 비판을 받 고나니, 의욕이 사라졌다.
하지만, 이렇게 꺾여버리면 안 된다는 생각에 코드를 전체적으로 보고, 예전의 나는 무엇을 원하며 코드를 짰는가부터 시작하여, 지금의 나는 무엇을 원하며 코드를 짜고 있는지에 대해서 살펴보았다.
예전의 나는 함수형 프로그래밍에 흥미를 가졌었고, 지금의 나는 객체지향 프로그래밍에 흥미를 가지고 있다는 것을 알았다.
그리고 지금까지 코드 리뷰와 세미나를 진행한 것을 생각해 봤는데, 우리 팀은 객체지향 프로그래밍을 선호하는 게 아닌, 함수형 프로그래밍을 선호한다는 것을 알았다.
함수형 프로그래밍을 선호한다는 것은 팀의 스타일이 있었던 것이었고, 나는 보존되고 있었던 팀의 스타일을 깨는 행위를 했었던 것이었다.
1년차 시절 읽었던 람다의 힘은 나에게 자바 functioanl Programming의 교과서이다.
처음 functional Progamming을 접했을 때 봤던 영상.
여전히 함수형 프로그래밍 영상은 자바스크립트 진영이 가장 많은 것 같다.
깨달은 나는 합의점을 찾기 위해 위해 함수형 프로그래밍에 대한 영상부터 책을 다시 한번 보며 함수형 프로그래밍이 무엇인지에 대해서 다시 상기시키고, 지금의 나의 코드 스타일에 어떻게 합쳐야 할지 많은 시간을 썼다.
요번에 확실히 하나는 배운 것 같다.
팀의 스타일을 깨는 행위는 절대 하지 말자고 말이다. 변경하려고 해도 서로의 합의점을 가지고 변경하자라고 말이다.
Effective Kotlin 3번째 회고를 쓰고 나니, 하루하루가 우여곡절이었고, 이러한 우여곡절 속에서 어떻게든 엉켜진 실을 어떻게든 풀어헤치려는 나의 모습 또한 볼 수 있었다.
주변 사람들이 이러한 나의 모습을 보고 요즘 왜 이렇게 바쁘냐, 왜 이렇게 힘들게 사냐라는 말을 최근에 많이 들은 것 같다.
이러한 환경 속에서 하나는 알겠더라.
이러한 모습이 바로 이 사람이 열심히 사는 증거물이 아닐까?
그리고 이게 살이 되는 순간 엄청난 퍼포먼스를 보이지 않을까 하고 말이다.
영웅의 여정 중에 시험과 실패의 과정을 걷고 있는 것 같다.
출처
- 람다의 힘 : http://www.kyobobook.co.kr/product/detailViewKor.laf?mallGb=KOR&ejkGb=KOR&barcode=9791195149230
- JavaScript로 함수형 프로그래밍 배우기 - Anjana Vakil - JSUnconf : https://youtu.be/e-5obm1G_FY
- 영웅의 여정 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=yandina&logNo=221916834778
'Kotlin > NextStepCourse-EffectiveKotlin' 카테고리의 다른 글
Effective Kotlin 3기 마지막 회고 (2) | 2022.02.13 |
---|---|
Effective Kotlin 3기 두 번째 회고 (0) | 2022.02.13 |
Effective Kotlin 3기 첫 회고 (0) | 2022.02.13 |