헤드 퍼스트 소프트웨어 아키텍처 독서 리뷰

BookReview
헤드 퍼스트 소프트웨어 아키텍처 독서 리뷰
Author

gabriel yang

Published

October 26, 2025

Note

한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 협찬 받아 작성된 서평입니다.

헤드 퍼스트 소프트웨어 아키텍처 독서 리뷰

이해보다 체화, 그리고 반복

헤드 퍼스트 소프트웨어 아키텍처는 단순히 개념을 나열하는 책이 아니라, “생각하게 만드는 책”이었습니다. 그림과 대화체, 그리고 중간중간 던져지는 실습 문제들은 내가 내용을 정말 이해했는지를 계속 확인하게 만들었습니다.

읽으면서 다시금 느낀 건 “읽는 것”보다 “이해하고 체화하는 것”이 중요하다는 헤드퍼스트 시리즈의 철학이었습니다.

🧩 헤드퍼스트의 학습 원리

책은 이론보다 ’학습 과정’을 설계해두었습니다.

  • 대화체로 설명하면서 몰입감을 높이고,
  • 흥미와 호기심을 유발해 스스로 유추하게 만들며,
  • 시각 자료와 유머를 통해 주의를 집중시킵니다.

이 덕분에 “아키텍처”라는 추상적인 주제가 머릿속에서 실제 동작하는 구조로 바뀌어 갔습니다.

🏗️ 아키텍처의 핵심을 다시 보다

책을 통해 가장 깊이 남은 개념은 “아키텍처를 설명한다는 것”의 의미였습니다. 아키텍처는 단순히 구조를 그리는 것이 아니라, 논리적 컴포넌트, 아키텍처 스타일, 아키텍처 결정(ADR), 아키텍처 특성 이 네 가지 차원에 모두 답해야 하는 일입니다.

  • 아키텍처 결정(ADR) 은 단순한 기록이 아니라 제약과 방향을 정하는 지침입니다. 결정이 행동으로 이어지지 않으면 의미가 없습니다. 그래서 “기록하고, 수정하고, 검색하기 쉬운 ADR”의 중요성이 강조됩니다.

  • 논리적 컴포넌트는 시스템의 “역할과 책임”을 명확히 가져야 하며, 이름 하나에도 의도가 드러나야 합니다. 예를 들어 “여행 보기(View Trip)”는 좋지만 “경매 관리자(Auction Manager)”는 역할이 모호합니다.

⚙️ 아키텍처 스타일의 세계

책의 후반에서는 다양한 아키텍처 스타일을 비교하면서 “언제 어떤 구조를 선택해야 하는가”에 초점을 맞춥니다.

1️⃣ 레이어드 아키텍처

  • 시스템을 계층별로 나누어 관심사를 분리합니다.
  • 이해와 유지보수는 쉬워지지만, 비즈니스 로직이 특정 계층에 집중되면 비대해지기 쉽습니다.
  • 기술적 변화에는 강하지만 도메인 변경에는 약하다는 점이 인상적이었습니다.

2️⃣ 모듈러 모놀리스

  • 하나의 애플리케이션 안에서 도메인 단위로 명확히 모듈을 분리하는 방식입니다.
  • 마이크로서비스 이전 단계로 적합하며, “느슨한 결합”을 유지하는 것이 핵심입니다.
  • 각 모듈이 자신의 데이터만 다루게 하는 원칙이 특히 현실적이었습니다.

3️⃣ 마이크로커널 아키텍처

  • Core와 Plugin으로 분리하여 확장성을 극대화합니다.
  • 기존 기능에 영향을 주지 않고 확장 가능한 구조지만, Core-Plugin 경계 설정이 까다롭습니다.

4️⃣ 마이크로서비스 아키텍처

  • 가장 복잡하지만 가장 유연한 스타일.
  • 각 서비스가 자신의 데이터를 소유하며, 독립적으로 배포와 확장이 가능합니다.
  • 하지만 세분화 기준을 잘못 잡으면 오히려 복잡도만 증가합니다. “작게 나누는 것보다 언제 나누지 말아야 하는가를 아는 게 더 중요하다”는 교훈이 남습니다.

🔁 아키텍처는 반복의 예술

논리적 아키텍처를 만드는 과정은 한 번으로 끝나지 않습니다. 요구사항이 변할 때마다 다시 돌아와 컴포넌트의 역할, 책임, 결합도를 점검해야 합니다. 디미터의 법칙(“다른 객체의 속사정을 몰라야 한다”)을 적용해 결합을 줄이는 부분도 실무 감각이 있었습니다. 이런 세밀한 원칙들이 실제 시스템의 품질을 결정짓는다는 점을 다시 느꼈습니다.

💬 마무리하며

해드 퍼스트 소프트웨어 아키텍처는 아키텍처를 그리는 기술서가 아니라, 생각하는 방법을 가르치는 책이었습니다. 각 아키텍처 단계마다 진행하는 문제와 위트 가득한 그림과 대화가 어려운 기술서적을 쉽게 읽을 수 있게 도와줬습니다.

때때로 아키텍처 스타일에 집중하게되어 기술을 이해하는 것이 아키텍처의 가장 중요한 부분이라고 생각했습니다. 하지만 요구사항을 시스템으로 적용하기 위한 사고방식과 중요한 4가치 차원을 체화하는 것이 더 중요함을 느낄 수 있었습니다.

그리고 책을 읽은 후 AI를 이용하여 개발할때 4가지 차원을 기반으로한 문서를 만들어 사용하고 있습니다. 이 문서를 통해서 AI와 전체적인 개발 방향성을 유지할 수 있었고 AI를 통한 개발을 다시 시작할 때 개발에 대한 context를 잘 유지할 수 있었습니다.

카테고리 다른 글

Date Title Author
Aug 24, 2025 코딩 에이전트 시대, ’아키텍트 첫걸음’을 읽어야 하는 이유 gabriel yang
Jul 9, 2025 러닝 랭체인 독서 리뷰 gabriel yang
May 31, 2025 윌 라슨의 『엔지니어링 리더십』 독서 리뷰 gabriel yang
Apr 13, 2025 『나답게 생각하기』 독서 리뷰 gabriel yang
Feb 14, 2025 [책리뷰] 로우코드 AI gabriel yang
No matching items