ChatGPT, LLM, AI와 같은 유행성 서적들이 주를 이루는 IT도서 시장에서 오랜만에 소프트웨어 기본기를 다루는 서적이 출간되어 기쁘다. 특히 저자가 TDD로 유명한 '켄트 벡'이라는 것을 알게 되었을 때 이 책을 반드시 읽어야겠다고 생각했다.
이 책은 두 권으로 구성되어 있다. 첫 번째 권은 켄트 벡이 집필한 'Tiny First?'이며 두 번째 권은 역자가 추가로 기록한 '옮긴이 노트'이다. 'Tiny First?'의 첫인상은 생각보다 책의 분량이 적다는 느낌이었다. 100페이지 조금 넘는 공간에서 복잡한 소프트웨어 설계에 대한 내용을 다 다룰 수 있을까라는 의문이 들었다. 켄트 벡에 따르면 이 책은 연작으로 기획되었으며 최소 3권의 시리즈로 구성될 예정이다. 이 책은 그 시리즈 중 첫 번째 책이다. 책 가격 대비 분량이 적어 조금 아쉽다는 생각이 들었다. 하지만 내용이 군더더기 없이 정제되어 있고, 출퇴근 시간에 대중교통에서 읽기에 적합한 크기라는 장점이 있다.
켄트 벡의 'Tiny First?'는 단순한 코드 정리 방법부터 복잡한 설계 이론에 이르기까지 좋은 설계를 위한 다양한 내용을 다루고 있다. 초보 개발자들은 특히 1장 '코드 정리법'과 2장 '관리'에서 협업과 유지 보수를 위한 코드 정리 방법을 배울 수 있다(이 두 장의 내용에 흥미를 느꼈다면 해당 내용을 좀 더 자세히 다루고 관련 예시를 제공하는 클린 코드와 리팩터링 책을 읽어보길 권한다). 개인적으로 흥미로웠던 내용은 3장 '이론'에서 코드 정리의 가치를 경제 이론을 통해 다룬 부분이었다. 현업에서 개발 업무를 하면서 신규 기능 구현과 코드 정리의 중요성 사이에서 우선순위를 결정해야 하는 상황이 자주 발생한다. 개발자들은 자연스럽게 코드 정리에 더 큰 가치를 두는 경향이 있지만, 이를 사업부나 상위 관리자에게 설득하는 것이 쉽지가 않다. 또한 해당 시점에서 코드 정리가 실제로 더 중요한지에 대한 의문도 항상 남아 있었다. 켄트 벡은 이런 문제에 대해 경제적 직관을 활용하여 해결 방향을 제시한다.
첫 번째 책인 'Tiny First?'에서 소프트웨어 설계에 관련된 지식을 얻을 수 있었다면, 두 번째 책인 '옮긴이 노트'에서는 좋은 개발자로 성장하기 위한 동기 부여를 전달받을 수 있었다. 특히 역자가 켄트 벡과 주고받은 대화를 통해 개발자로서 가져야 할 사명감과 열정을 배울 수 있었다. 이들처럼 노력하고, 실천하며, 즐기는 태도로 꾸준함을 잃지 않으면 나도 언젠가 좋은 개발자가 될 수 있을 것이라는 희망을 가지게 되었다.
"한빛미디어의 도서 지원을 받아 작성한 리뷰입니다."