로드북에서 제공 받아 작성한 서평입니다.
현재 참여하고 있는 프로젝트에서 사용중인 프로그래밍 언어는 C이다. 이 프로젝트를 진행하고 있으면서 들었던 가장 많은 생각은 코드의 재사용성에 대한 고민이었다. 여러 부서에서 참여하고 있는 프로젝트지만, 통일된 라이브러리나 컨벤션이 없어 개발 그룹마다 각자의 코드 베이스를 기워 넣듯 통합을 하고 있다. 이를 해소하고 싶다는 생각 때문에 다음 프로젝트에서는 C++도 사용할 수 있다는 이야기를 듣고 기본적으로 사용해야만 하는 요소들을 객체로 만들어 사내 라이브러리 화를 해보고자 하였다.
기본적인 요소들부터 시작해서 프로그램에서 수행해야 하는 작업들을 파이프라인 할 수 있는 기능까지 다양한 요소들을 홀로 추가해가면서 진행하고 있었다. 하지만 안타깝게도 이러한 과정은 소리없는 아우성이었을 뿐이었다. 나름대로 쉽게 풀어 쓰려고 하였지만, 배경 지식이 서로 달라 같은 코드를 다르게 이해하였다. 새로운 기능에 대한 좋은 부분들을 역설해도 되돌아 오는 것은 '왜?'라는 질문 뿐이었다. 결과적으로는 C++로의 전환은 포기하고 다시 C로 되돌아가는 것으로 정리 되었다.
처음 든 생각은 '왜 사람들은 새로운 언어 도입을 꺼려하는 것일까?' 였다. 또 다시 기회가 있을 때 언어를 전환하기 위해 어떻게 하면 성공할 수 있을까에 대해 고민을 하고 있는 와중에 로드북에서 나온 "사례로 배우는 언어 전환 프로젝트 관리"를 리뷰할 수 있는 기회가 찾아왔다.
제목만 놓고 보았을 때는 개발 언어를 전환하고 있거나, 하고자 하는 프로젝트에 참여하고 있는 개발자가 주 대상처럼 보인다. 하지만 이 책의 전반적인 내용을 살펴보면 프로젝트 전반에 걸쳐 하나의 마일스톤을 달성해 나가는 과정을 그리고 있기 때문에 새로운 프로젝트를 준비하고 있거나 진행중인 프로젝트에 참여하고 있더라도 충분히 큰 도움이 될 수 있다.
이 책에서 첫번째 챕터는 언어 전환을 시작하기 전에 선행되어야 하는 것들을 설명하고 있다. 책에서 제안하는 프로젝트 시작 과정은 다음과 같다.
- 현재 프로젝트에서 사용중인 언어의 문제점을 찾아낸다.
- 새로운 언어를 통해 해결 가능한지 찾는다.
- 주변 사람들을 설득한다.
이 부분을 읽으면서 먼저 이야기 했던 C에서 C++로의 전환이 실패한 이유를 생각해 봤다. 다른 사람들이 현재 사용중인 언어에 대한 생각이 같을 것이라 예상했던 것이 문제였다. 즉, 문제점에 대한 공유도 제대로 하지 않고 시작 하다보니 오히려 복잡하고 어려운 C++에 대한 반감만 크게 불러왔던 것이다.
언젠가는 프로젝트에 C++ 도입을 다시 시도하기 위해서 이 책의 내용을 잘 곱씹으면서 문제점과 새로운 언어로 전환해야 하는 이유를 잘 정리해 오랜기간 주변 사람들을 설득하는 시간을 가져야 겠다.
이 책은 개발과 관련된 모든 사람에게 추천할 수 있는 책이다. 현재 프로젝트에서 프로그래밍 언어를 바꾸고자 하는 경우에는 물론 이 책의 기승전결을 통해 어떤 절차를 밟아야 할지 도움을 줄 수 있다. 이 외에도 개발자를 꿈꾸고 있거나, 지금 막 개발자가 되었거나, 연차가 좀 쌓인 베테랑 개발자에게도 충분히 도움이 될만한 책이다.
개발자 지망생이나 신입 개발자는 이 책을 통해 하나의 프로젝트가 어떤 기승전결로 이루어 지는지 간접 체험할 수 있는 하나의 수필 처럼 볼 수 있다. 베테랑 개발자에게는 자신의 경험과 책의 내용을 통해 나름대로 정의해 놓은 개발 프로세스를 업그레이드 할 수 있는 일종의 케이스 스터디를 기대해 볼 수도 있다.
'서평' 카테고리의 다른 글
[서평] 더 게임 오리진 - 만화로 배우는 잡학지식, 잡학툰 (2) | 2023.08.26 |
---|---|
[나는 리뷰어다] MLOps 실전 가이드 (0) | 2023.07.17 |
[나는 리뷰어다] 파이썬 라이브러리를 활용한 데이터 분석 (3판) (0) | 2023.05.24 |
[서평] 아무도 알려주지 않은 C++ 코딩의 기술 (2) | 2023.05.12 |
[나는 리뷰어다] 전문가를 위한 C++ 개정5판 서평 (1) | 2023.04.22 |