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


헤드퍼스트 소프트웨어 아키텍처 / 라주 간디, 마크 리처드, 닐 포드 지음 / 한빛미디어
검색엔진과 LLM을 활용하면 무서울 것이 없는 세상이다.
소프트웨어 아키텍트에 대한 내용도 마찬가지.
인터넷에 이미 있는 내용, 책으로 사서 보면 뭐하나?
...
싶은 사람들이라면 주목!
1️⃣ 미친 몰입감
표현이 과해 보이나? 적어도 이 책에는 그렇게 표현해도 충분하다. 근래 읽었던 책 중에 가장 큰 충격을 받았다. 왜냐하면, 여태 내가 생각했던 기술 서적의 틀을 완전히 벗어났기 때문이다. 나는 형식에 맞춰 통일된 형태로 정보를 전달해야, 독자가 이를 구조화하여 원활하게 받아들일 수 있을 것으로 생각해왔다. 그러나 책의 서론 '이 책을 읽는 방법'에서는 색다른 관점을 제시한다.
독자의 학습을 위한 것이라면 '무엇이든' 하겠다고.
다음 페이지에는 이 책의 특징이 명시되어 있다. 다양한 특징이 있지만, 내가 인상 깊게 본 것은 책에 삽화가 정말 많다는 것. 또 페이지의 구성이 마치 캔버스처럼 다채롭고, 충분히 일반 텍스트로 표현할 수 있는 내용도 삽화와 손글씨로 표현했다. 요약하자면 지루할 틈이 없다는 것이다. 다음 페이지를 펼치면 매번 새로운 자극이 기다린다.
이 책은 자유로워 보이는 표현 방식과는 달리 책의 구성과 짜임새도 굉장히 탄탄하다. 보면 순서대로 읽는 것을 권장하는데, 분명한 학습 로드맵이 있고, 이를 따라가면서 자연스럽게 내용을 쌓아나가는 방식으로 이해하면 된다. 난잡해 보이는 페이지와는 달리 굉장히 잘 정리되어 있다는 것을 알 수 있다.


서론 '이 책을 읽는 방법'
2️⃣ 지루할 틈 없는 다양한 표현 방식
자, 미리 주의하지만, 이 책에 무언가 특별한 지식을 기대해선 안 된다. 오히려 지식만 놓고 보았을 때는, 웹이나 AI를 활용하는 것이 낫다. 하지만 이 책의 강점은 정~~~말 다양한 방식으로 필요한 내용을 반복해서 전달하고 있다는 것이다. 책을 읽으면서 어떤 표현 방식을 사용하는지 조사해서 정리해보았다.
- 비유
- 스스로 사고해보기 (연습 문제, 크로스 퍼즐)
- 질문과 응답
- 도식화 (이건 너무 다양해서 요약 못 함)
- 사람과 말풍선으로 메시지 전달
- 가상의 실무 사례
- 화살표 형식의 정보 보충 노트
- 등급 나누기, 점수로 평가하기, 스펙트럼에 표현하기
- 개념 간 가상의 대화, 개념의 비교
- 구조화 (구성요소 분해 등)
(내가 미처 발견하지 못한 다양한 방식이 더 있을 수도 있다.)
중요한 것은 이렇게 하면서도 학습의 목적을 소홀히 하지 않는다는 점이다. 학습자는 앞뒤를 뒤적거릴 필요 없이, 한 장씩 차례로 넘기며 순간의 안내들에 집중하면 된다. 또한, 스스로 사고해보는 시간이 많이 주어지고, 모범 답안을 제공해주어 즉각적인 피드백을 가능하게 한다. 이 정답의 디테일도 대단한 것이, 애매하다 싶은 것들은 애매하다고 적혀있고, 독자의 예상과는 다른 정답을 적절한 이유와 함께 제공함으로써 또 다른 방식으로 자극을 주기도 한다는 점이다. (단순히 "우린 정답, 정답과 다르면 넌 틀렸어!" 스타일이 아니라는 것이다.)


도식을 활용한 다양한 표현으로 개념을 반복하여 학습하게 된다
이 책의 관심사가 아닌 것
?♂️ 복잡한 이론은 다루지 않는다
앞서도 말했지만, 기본적인 내용을 효과적으로 학습하고자 하는 이들을 위한 책이다. 가령, EDA에서 문제 상황이 발생한 케이스를 예시로 비동기 방식의 장단점이 드러나는 상황은 제시하지만, 그래서 보통 어떻게 해결한다는 등의 자세한 설명은 없다.
?♂️ 특정 기술의 활용 같은 내용은 없다
Kafka나 k8s와 같은 시스템 아키텍처 수준에서 유용하게 활용되는 기술뿐만 아니라, 그냥 특정 기술에 대한 언급이 아예 없다.
?♂️ 일부 콘텐츠는 영어를 기준으로 제작되었다
크로스 퍼즐 같은 교육 콘텐츠는 영어를 기준으로 제작되었다. 학습한 내용을 영어로 모른다면 맞추기 어려울 수도 있다.
마치며...
이 책을 통해 "목적에 따라 적절하게 표현하는 것"이 중요하다는 점을 깨달았다. 만약 이 책이 더 어렵고 복잡한 내용을 다루었다면, 직접적인 연관이 없는 삽화로 페이지를 채우는 것은 불필요한 낭비였을 것이다. 그러나 독자를 끊임없이 자극하며 학습의 선순환이 이루어지도록 잘 설계했기에, 가벼운 마음으로 끝까지 읽을 수 있는 좋은 책이 되었다고 생각한다. 백엔드 개발자 분들에게 강력히 추천하는 바이다.


















