몇 주 지났지만, 토비의 스프링 읽기 모임을 통해 1권을 다 읽을 수 있었다. 스프링이란 프레임워크가 그냥 코드를 좀더 쉽게 작성할 수 있게 도와주는 도구 정도로 생각하고 있었는데 스프링이 지향하는 생각들을 이해할 수 있어서 너무 좋았다. 몇 가지 인상깊었던 것들을 정리해 본다.
스프링은 기술의 복잡함과 비지니스 로직의 복잡함을 분리하려 했고, 기술적인 서비스를 제공하는 스프링 자신은 드러나지 않으면서 사용자가 비지니스 로직 개발에 집중할 수 있게 함을 지향했다고 한다. 멋있었다. 그리고 IoC/DI, AOP, PSA 같은 기술들의 존재 이유가 조금 이해 되었다. 예를 들면 IoC 컨테이너 없이 작성한 예전 클래스 코드들을 보면 의존성을 주입받고, 주입해 주기 위한 코드가 일정량 존재한다. 이런건 비지니스 로직을 구현하기 위한 기술적인 준비단계라고 할 수 있는데 비지니스 로직을 구현한 코드와 함께 섞여서 존재함을 이해할 수 있었다.
예제 코드를 꼼꼼히 읽고 코드를 같이 작성해 보았는데 너무 좋았다. 점진적인 문제 해결 과정, 핵심적인 디자인 패턴, 테스트 방법, IDE 활용, 변수 네이밍 조차 배울 것이 되었다. 책을 읽으며 토비님 옆에 앉아서 라이브코딩을 지켜보는 것 같은 생동감을 느껴졌다. 사실 훌륭한 동료가 회사 곁에 있더라도 이 정도로 자세히 뭔가 보여주고 설명해주기는 힘들텐데 책이라는 매개체가 참 좋다는 생각이 들었다. 그럼에도 불구하고 책을 읽고 나니 좋은 개발자들과 팔꿈치는 맞대고 함께 일하는 것에 대한 열망이 더 커진 것 같기도 하다.
이런 모임을 처음 가져 보았는데, 책읽기를 완주하는데 도움이 되었다. 혼자 했다면 중간에 분명 포기했을 것 같다. 일정한 책임감과 누군가 함께 하고 있다는 생각이 끝까지 지속할 수 있게 해 준 것 같다. 앞으로 무언가를 함께 하려 더 노력하게 될 것 같다.