Be Kind (feat. 클린 스프링: 스프링 개발자를 위한 클린코드 전략)

2024. 8. 3. 21:26Review/Conference

인프콘 2024, Toby님의 <클린 스프링: 스프링 개발자를 위한 클린코드 전략> 감상문

 

현업의 비즈니스는 시간만큼 빠르게 흘러간다.

변화와 성장은 당연하고, 미래를 준비해야 하기도 한다.

 

과정에서의 우리는 어떤 모습인가?

 


 

 

이를테면 "클린 코드를 짜려면 생산성이 떨어져."라는 말을 따끔하게 짚어준 것이다.

그 무엇도 우위에 있는 것은 없고, 주어진 비즈니스 요구사항처럼 반드시 고려해야 하는 핵심이다.

 

 

유지보수성이 좋은 클린 코드가 (아마도 핵사고날을 대표적인 예시로) 유명하다. 변경에 용이하고 효율적이기 때문에 구축 이후의 생산성이 좋다. 리팩터링 단계에서 생산성이 높으려면 변경에 의한 영향도를 파악할 수 있는 테스트 코드와 같은 보호장치가 필요하다. 그래서일까. TDD로 구성하는 클린 아키텍처 서버는 무척 이상적이기도, 완벽하기도 한 결론처럼 알려져 있다.

 

그 이유가 설명되는 발표였다.

 

 

토비님과 함께한 협업 기간 동안 배운 전부가 위 사진이다.

 

물론 코틀린이 익숙한 기술은 아니었지만, Java와 같이 JVM 기반이라 이해하기 수월했고, 늘 함께하는 Spring으로 개발했다. 중요한 핵심 기능을 놓친 적 없고, 동작하는 가장 단순한 코드를 작성했다. 이 모든 것은 TDD로 작성되었다.

 


 

하지만 회사에서 내가 원하는 기술로만 개발할 수 없듯, 모든 좋은 조건을 만족하는 개발을 할 수는 없다. 가끔은 테스트 코드 없이도 배포해야 하는 상황도 있고, 하드 코딩을 몇 줄 추가해야 할 수도 있다. 무엇보다 가장 중요한 것은 혼자 개발할 수 있는 것은 없다는 것이다.

 

 

팀이 속도만, 혹은 매출만, 혹은 기술만 쫒으면 안 되는 것처럼 말이다.

유지보수성, 생산성, 팀워크는 시소보다 어려운 3가지 지점의 균형을 함께 이루어야 한다.

 

이를 표현한 토비님의 기가 막힌 비유는 발표 영상이 업로드되면 꼭 보도록 하자.

 

 

나의 첫 백엔드 팀원이었던 토비님과 정말 많은 결정을 했고, 가끔은 토비님도 처음 만나는 현상에 같이 탐험도 했으며, 서로를 보며 학습했고, 성장했다. 또 이 경험으로 성장하고 있다.

 

 

토비님은 정말 친절한 동료다.

그런 동료가 나에게 스스로에게도 친절하라고.

 


 

돌이켜보면 늘 다그쳤던 것 같다.

감각이 뛰어난 개발자, 많은 기술을 화려하게 구현해 본 개발자, 유명한 회사에 다니는 개발자. 많은 이들과 비교하며, 개발자로서 한참 부족하기만 하다고 했다. 우리는 태어나서 두 발로 걷기 위해 넘어지기도 하고, 균형이라는 것을 체득하고, 그 과정에서 항상 박수받아왔다.

 

우리는 개발에 정답이 없다는 것을 알고 있다. 그러면 내가 하는 개발도 꽤 괜찮은 것일 수 있다는 것이다. 다만, 안주하고 수용하기만 하는 것은 걷기만 하며 달릴 수 있다는 사실을 모르는 사람과 같다고 생각한다.

 

그러니까 친절하자.

가끔은 잘한 일에 크게 칭찬해 주며 친절하게 나를 돌보며, 그 돌보는 마음이 코드에 드러날 수 있도록 해보자.

 


 

막연했던 클린 코드에 대해 선명히 그려주신 토비님의 멋진 발표였다.

 

언젠가 나의 철학이 뚜렷해지고, 나눌 수 있는 용기가 있으며, 기회가 주어진다면.

어쩌면 나도 토비님처럼 멋진 동료들 앞에서 힘이 되는, 또 단단한 이야기를 할 수 있지 않을까.

 

 

반응형