미니멀리즘 프로그래머
카테고리: 도서 리뷰
한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.
레거시 환경에서 유지보수를 수행하며 좋은 설계의 기준을 고민하는 개발자에게 추천하는 책

필요한 선수 지식
- 요구 학력 : 주니어 → 미드레벨로 올라가는 개발자
- 예제 코드 : JavaScript
- 난이도 : ★★☆☆☆
책의 구성 중 마음에 들었던 주제
PART 02 환경을 단순화하라
Chapter 04 업무 자동화
이 장에서는 개발자의 생산성을 높이기 위해 반복되는 작업을 자동화하고 터미널, 에디터, 개발환경을 효율적으로 사용하는 방법을 설명한다. 특히 두 번 이상 반복하는 작업은 스크립트로 만들고, 개발 환경 역시 재현 가능하도록 관리해야 한다는 점이 핵심 내용이었다.

이를 통해 실제 개발 시간보다 준비 작업에 더 많은 시간이 소모되고 있었다는 점을 돌아보게 되었다. 앞으로는 기능 구현뿐 아니라 반복 작업을 줄이고 개발 환경 자체를 단순화하는 것도 중요한 개발 역량이라고 느꼈다.
PART 04 코드를 단순화하라
Chapter 08 가독성 높은 코드
이 장에서는 코드를 단순화하는 핵심 방법으로, 다른 사람이 빠르게 이해할 수 있는 가독성 높은 코드 작성 원칙을 설명한다. 변수명, 함수명, 코드 배치, 조건문과 로직의 표현 방식을 명확하게 만들어 읽는 사람이 의도를 바로 파악할 수 있어야 한다는 점이 객관적인 핵심 내용이었다.

이를 통해 좋은 코드는 단순히 동작하는 코드가 아니라, 수정과 검토 과정에서 이해 비용이 낮은 코드라는 점을 다시 생각하게 되었다. 앞으로는 기능 구현 자체보다도 읽는 사람이 쉽게 이해할 수 있는 구조와 표현으로 작성하는 습관이 더 중요하다고 느꼈다.
읽고 난 후
추천 지수 : ★★★★★
레거시 시스템을 유지보수하면서 그동안 좋은 설계라고 믿었던 많은 선택들이 실제로는 복잡도를 높이는 방향이었을 수도 있다는 점을 돌아보게 되었다. 확장성과 재사용성을 위해 추가했던 추상화와 구조들이 시간이 지나면서 오히려 이해 비용과 수정 난이도를 높이는 경우도 많았다는 점이 특히 공감되었다. 결국 좋은 설계란 얼마나 구조가 정교한가가 아니라, 얼마나 쉽게 이해되고 안전하게 수정할 수 있는가라는 관점이 더 중요하다는 것을 다시 생각하게 되었다.
또한 중복 제거 자체보다 변경 영향 범위를 줄이는 것이 더 중요할 수 있다는 점도 인상 깊었다. 앞으로는 새로운 구조를 추가하는 것보다 현재 구조를 더 단순하게 만들 수 있는지 먼저 고민하는 방향으로 설계를 접근해야겠다고 느꼈다. 결국 좋은 설계란 복잡한 문제를 해결하기 위해 복잡한 구조를 만드는 것이 아니라, 복잡해질 수밖에 없는 문제를 가능한 단순하게 유지하는 것이라는 인사이트를 얻었다.
정보의 바다를 헤엄치는 수달의 마음으로