"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
왜 아키텍트가 되어야 하는가?
현재의 나는 소위 말하는 임베디드 개발자로서 근무를 하고 있다. 제조업 기반의 회사 제품에 들어가는 소프트웨어를 개발하는 것을 보면, 모든 회사가 그런지는 모르지만 개발 과정이 상당히 직선적이다. 소프트웨어의 근간이 되는 요구사항은 막막하고, 뼈대가 되는 아키텍처는 막연하다. 부품이나 제조 공정에 대해선 명확한 용어가 정의되어 있고 프로세스도 철저하지만, 소프트웨어에 대해선 모듈, 기능, 알고리즘, 로직 같은 용어들이 산발적으로 나오며 개발 프로세스는 "밑바닥부터 시작하는 딥러닝" 시리즈처럼 백지에서 출발해 최종 기능까지 단숨에 도달하고자 한다. 또한 개발 문화가 상당히 폐쇄적이라 오픈 소스에 대해 상당히 비관적이고 사용을 꺼려한다.
이번에 한빛미디어에서 제공받은 책은 마이클 킬링의 <개발자에서 아키텍트로>이다. 앞서 말했듯이 현재 일 하고 있는 곳에서는 프로그래밍 언어를 어느 정도 숙지하고 있으면 바로 개발자로서 업무를 시작하는 환경이기 때문에, 대체로 소프트웨어 엔지니어링을 접하기 어려운 상황이다. 특히 나를 포함한 수많은 사람들이 아키텍처를 제안하지만, 개발 업무에 도움이 되기 위한 아키텍처는 없고 보고를 위한 도형의 집합인 경우가 대부분이다. 따라서 이 책을 받으며 도대체 아키텍처라는 것은 무엇이고, 어떻게 해야 소프트웨어를 쌓아 올릴 때 유용하게 활용할 수 있을 까에 대한 답을 알 수 있지 않을까 기대되었다.
<개발자에서 아키텍트로>의 구성
먼저 <개발자에서 아키텍트로>는 다음 세 개의 파트로 이루어져 있다.
- 소프트웨어 아키텍처
- 아키텍처 설계의 기초
- 아키텍트의 은빛 도구 상자
책의 제목처럼 개발자에서 아키텍트로 가기 위해선 우선 아키텍트가 무엇을 하는지, 어떤 사고를 통해 아키텍트가 될 수 있는지를 알아야 한다. 그다음엔 아키텍트로서 할 수 있는 업무들을 기초적인 내용을 토대로 순차적으로 알아야 한다. 그리고 다양한 문제 상황에 대해 해결을 위한 활동들을 활용할 줄 알아야 한다. <개발자에서 아키텍로>는 앞서 말한 이런 내용들을 세 개의 파트로 풀어냈다.
누구에게 필요한가?
이 책은 이제 막 개발을 시작해 문법은 어느 정도 익숙해진 개발자들이라면 이 책을 통해 시야를 넓히는 데 사용하면 좋을 것 같다. 어느 정도 실제 업무의 예시에 가까운 "사례 연구: 라이언 하트 프로젝트"가 매 챕터마다 존재하여 간접 경험을 쌓거나 책의 내용을 이해하는데 도움을 많이 준다. 너무 막연한 내용이라고 넘겨짚는 것보단 다양한 사례 연구나 활동 내용을 보며 이해해본다면, 하나의 '기능'만 개발하는 신입 개발자에서 큰 그림을 그리며 앞으로 어떤 일을 하면 좋을지 구상할 수 있는 중견 개발자로 성장해 나아갈 수 있는 발판이 될 것이다.
또한 개발자에서 관리자로 넘어가는 시점에 있는 사람에게 역시 큰 도움이 될 것이다. 막연하게 개발 과정에서 익혔던 설계 기술들을 정확하게 정의된 용어를 통해 다시 학습을 하며 개발자로서 쌓아왔던 역량이 앞으로 무궁무진하게 활용될 수 있을 것이라 생각한다. 물론 아직 나는 이제 막 신입 티를 벗은(?) 상황이다 보니 경력이 더 쌓인다면 어떤 일을 하는지는 정확하겐 알진 못한다.
아쉬운 점
이 책의 아쉬운 점을 꼽자면 다양한 아키텍처 패턴에 대한 책이라 생각하였지만, 그렇지 못했다는 것이다. 물론 이는 어떤 의미로는 장점에 가깝다. 여러 아키텍처에 대한 디자인 패턴들을 단순히 나열하기만 한 책이었다면, 읽기 위한 노력이 더 많이 필요했을 것이다. 또한 내용들이 와닿기보단 막연함으로 머릿속에 들어오지 못하였을 것 같다.
'서평' 카테고리의 다른 글
[남독] 우리의 뇌는 어떻게 배우는가, 뇌의 입장에서 바라본 학습 (0) | 2022.01.15 |
---|---|
[남독] 소크라테스 익스프레스, 철학을 요람부터 무덤까지 (0) | 2022.01.02 |
[남독] 조금 더 전문가 같은 기계 학습 방법 (0) | 2021.11.16 |
[남독] 나보다 소중한 사람이 생겨버렸다. (0) | 2021.11.01 |
[남독] 처음 배우는 그래픽 레코딩 (2) | 2021.10.29 |