** 한빛미디어 서평단 <나는 리뷰어다> 활동을 위해서 책을 협찬받아 작성된 서평입니다.
컴퓨터공학과를 졸업하거나 개인적인 꿈이 있어서 SW 개발자로 들어서게 된다면 처음에는 멋모르고 열심히 주어진 과제를 수행하게 되지만, 일정 기간이 지나면서 그 다음에 대해 생각해보게 된다.
그 다음이 매니저와 실무로 나뉘겠지만, 그래도 실무를 선택하겠다고 하면 지금과 비슷한 길을 갈 수 있다.
하지만 전혀 성장하지 않는 삶을 살아간다면 모를까 조금이라도 발전하는 모습을 기대한다면 짜임새있는 구조를 고민하게 된다.
아무리 건설현장에서 일을 하더라도 어떻게 만들어야 망가지지 않는 구조로 만들어갈 수 있을까 고민하는 것과 비슷하다.
특히 SW는 HW와는 다르게 만들어지는 순간이 끝나는 것이 아니라 그 순간이 시작이라고 볼 수도 있기 때문이다.
살아있는 생물과도 같아서 이것을 그대로 두면 죽는다.
그렇기에 생명을 불어넣어야 하는데, 더 성장하게 하려면 당연히 필요하고, 그게 아니라 단순 생명유지를 하고자 하더라도 필요하다.
여러 환경적인 요소(플랫폼, 브라우저 환경, 실행OS, 서버 스펙 변화 등)로 인해 그대로 두면 유지 자체가 불가능하기 때문에 반드시 무엇인가 조치를 해주어야 한다. 하지만 그것이 아니더라도 여러 요구사항이 발생하기 마련이기 때문에 SW 자체를 개선하고 덧붙이면서 발전시켜 나가야만 한다.
그런데, 이것을 고려하지 않고 일단 되는대로 만들면, 이후 수정과 추가, 삭제가 매우 어렵다. 내가 어떤 코드를 어떻게 건들여야 의도한 것만 수정할 수 있는지 모르기 때문이다. 유지보수성 및 확장성 등에 매우 취약하게 된다는 것이다. 즉 개발에 앞서 좋은 설계가 반드시 필요하게 된다.
그렇기 때문에 흔히 말하는 아키텍쳐가 중요하고, 그것을 수행하는 아키텍트에 관심을 가지게 되는 것이다. 좋은 개발을 위해서는 빠질 수 없다. 회사에서도 별도의 양성과정이 있던데, 기회가 된다면 이런 것들을 통해 좀 더 깊이 학습하고 싶다는 생각이 든다.
책 정보
![]() |
![]() |
표지는 상당히 심플하다. 걸음을 나타내는 계단을 표현하였다.
여기에서 '아키텍처 설계 기본 원칙부터 실무 적응까지'라는 표현이 이 책을 잘 표현하고 있다고 생각한다.
그리고 뒷 표지의 내용 중 '개발자에서 함께 일하고 싶은 아키텍트로'라는 표현이 현재 아키텍트에 대한 필요성을 언급한 중요한 말이라고 생각한다. 개발자는 스스로에게만 영향을 주지만, 아키텍트는 주변의 개발자들을 즐겁게 만들어줄 수도 있기 때문이다. 그런 사람으로 알려진다면 주변의 개발자는 그와 함께 일하고 싶을 것이다.
- 정가: 26,000원
- 분량: 304쪽
- 저자: 요네쿠보 다케시
- 옮긴이: 조다롱
- 감수: 서준호
특징
![]() |
![]() |
어질리티에 대해 어디선가 얼핏 들어본 듯 했는데 제대로 기억나지는 않았다. 이 부분을 통해 다시 생각나게 되었다.
아키텍트라 하면 뭔가 고지식하고 단단하게 원칙적인 사람이어야 할 것 같은데, 어질리티(Agility, 민첩성)이 중요하다니. 실로 놀라운 부분이다. 나의 고집만으로는 변화하는 환경에 능동적으로 대응하기 어렵다. 결국 가치 창출에 실패할 수 있다는 것이다. 얼마나 적응력있게 잘 판단하고 결정하는 것 또한 아키텍트에게 필요한 능력임을 잊으면 안된다.
그리고 아키텍트의 자질에 대한 부분도 깊이 생각하게 했다. 설계 능력과 코딩 실력, 추상화 능력, 비즈니스에 대한 이해, 호기심, 완벽주의보다는 합리주의를 강조하였다. 실제 나의 모습과는 100퍼센트 일치하지는 않지만, 대부분 공감하는 자질이다. 특히 코딩 실력도 놓쳐서는 안된다고 본다. 이걸 놓치고 설계한다면 개별 개발 사항에 대해 난이도를 고려하지 않을 가능성이 높기 때문이다. 때로는 아주 사소해 보이는 것도 개발 구현에는 상당한 시간이 소요되는 것들이 있기 때문이다.
![]() |
![]() |
공부에 자주 쓰이는 개념들이 있어서 반가웠다. SOLID 원칙과 클린코드. 특히 클린코드는 CLEAN에 각각 의미를 담아서 기억하기에 좋다. 일단 SOLID원칙을 설명하면서는 단순히 설명만 담지 않았다. 각각의 예시와 그에 따른 코드 스니펫도 함께 담아두었다. 코드는 자바로 되어있어서 읽기 편했다. 특히 각 개념을 적용하기 전과 후의 비교 코드를 같이 수록해 두어서 개념이 좀 더 명확하게 와 닿았다.
CLEAN 원칙은 응집성, 느슨한 결합, 캡슐화, 단정적, 비중복 요소에 대한 것인데, 개발하다보면 자연스레 알게 되는 요소들이긴 하다. 이것을 좀 더 명확하게 하여 내가 길을 잃지 않도록 하는데 목적이 있다. 아키텍트라면 당연히 잊어서는 안된다.
![]() |
![]() |
![]() |
![]() |
그 밖에 실무와 관련된 부분들과 아키텍트에게 필요한 것들이 눈에 띄었다.
UML을 포함하여 여러 형태의 구조를 다이어그램을 보여주고 있다. 이것은 향후에 실무에서 참고하기 위해 종종 찾아볼 것 같다.
그리고 GIT의 브랜치를 관리하기 위한 방법을 아주 간단하게 서술하고 있다. 사실 브랜치 관리에 대해서는 내용이 훨씬 많이 필요하다고 생각하지만 어느정도 토픽을 제안한다는 것으로 이해했다. 회사 프로젝트 관리시 git-flow로 오랫동안 관리했었는데, 최근 gerrit으로 관리하면서 어떤 방법이 좋을지 명확하게 정리되지는 않았다. 이런 부분들에 대한 고민도 아키텍트의 몫이니 놓칠 수 없다.
그리고 아키텍트의 인재상은 특이하다. 스페셜리스트와 제너럴리스트의 면모가 동시에 갖춰져야 한다는 것이다. T자와 파이 형태를 넘어서서 여기에서는 그리스의 파르테논 신전과 유사한 명태의 파르테논 형의 인재상을 제시하고 있다. 확실히 바쁘게 살아야 하는 운명은 맞는 것 같다. 하지만 그만큼 회사나 여러 현장에서 찾을 수 밖에 없는 인재의 형태이니 이해가 된다.
그리고 저자가 발전하기 위한 본인의 학습 방법에 대해 이야기 하는데, 독서 맵은 그 중 하나이다.
인풋에 대한 부분은 도서, 교육 및 세미나, 자격증 취득, 기술 컨퍼런스와 개발자 행사, SNS이며, 아웃풋은 독서맵, 샘플코드 작성, 기술 글 작성 및 공유, 발표이다.
개인적으로는 이것들을 적당히 하고 있지만, 업무에 도움되게 하려면 샘플코드 작성을 좀 해두어야 겠다는 생각을 하고 있는데, 이 부분이 좀 약하다. 아직 발전할 가능성이 높다는 정도로 위안을 삼자.
![]() |
![]() |
번역된 부분 외에도 몇 분의 케이스를 실어서 아키텍트에 대한 이야기를 담아놓았다. 이들의 이야기를 들으니 아키텍트의 필요성과 방향에 대해 생각해보게 된다.
이 책을 추천하고 싶은 독자
- SW 개발자
- 현업 아키텍트
- 프로덕트를 만들어가는 조직의 일원
- SW 개발 회사의 매니저
총평
아키텍트에 대해 어렵지 않으면서 꼭 필요한 내용을 담은 책이다.
정말 아키텍트에게 필요한 요소들이 많은데, 이것들을 모두 찾아서 다양한 분야를 총정리 해 준 느낌이다.
개발자로 10년 이상 일해오면 여러 요소들이 혼재되어 있는 상태에서 설계능력을 요구받아 설계를 진행하면서 개발하는 것은 흔히 있는 일이다. 하지만 이것을 수행하면서도 별도로 정리하기가 어려웠는데, 이 책이 나의 생각을 정리하는데 많은 도움을 주었다고 생각한다.
아키텍트라 하면 뭔가 어려워 보이는 느낌이지만 이 책을 읽어본다면 누구든 도전해 볼 수 있지 않을까 생각한다.
이 책의 뒷 표지의 내용을 마지막으로 기록해 본다.
아키텍트, 누구나 될 수 있지만 아무나 될 수 없다.
'[Review] > Book' 카테고리의 다른 글
[도서 리뷰] 개발자를 위한 IT 영어 온보딩 가이드 (34) | 2025.07.27 |
---|---|
[도서 리뷰] 네이버 스마트스토어 운영하기 (8) | 2025.06.29 |
[도서 리뷰] 혼자 공부하는 머신러닝+딥러닝(개정판) (6) | 2025.05.25 |
[도서 리뷰] 플랫폼 엔지니어링 (5) | 2025.04.25 |
[도서 리뷰] 이지 러스트 (4) | 2025.03.28 |
댓글