pcm***
2023-08-27

한빛미디어의 '나는 리뷰어다' 2023년 8월 리뷰 대상 도서로 선정한 책이다.
작가님 이름이 낯익어서, 이 책으로 골랐다.
작가님의 도서들
개발책을 많이 써 본 분이라 그런지,
책을 읽기 쉽게 잘 쓰셨더라.
그전에는 특정 분야 기술(JSP, Spring 등등)에 대한 전문 서적이었다면,
이 책은 개발 태도 등등에 대한 책이다.
이런 류로는 미국 개발자들이 쓴 책만 잔뜩 있었는데, 드디어 우리 나라 개발자 분도 이런 책을 내 주셔서 다행이다 싶다.
내가 하고 싶었던 말도 잘 정리해주셔서 좋더라(내가 하려면 실력이 전제되어야 할 것 같다는 생각도 들었다).
특정 기술을 사용해야 우월하다는 생각을 가진 개발자를 마주칠 때가 있다. 우월함을 느끼다 못해 다른 기술을 사용하면 무시하거나 경멸하는 모습을 볼 때도 있다. 하지만 특정 기술을 사용한다고 우월해지는 것은 아니다. 또 오래된 기술을 사용한다고 해서 열등하다고 할 수 없다. 구현 기술은 단지 구현 기술일 뿐이다. 구현 기술을 맹종하지 말자.
기술 적용 전략에는 유연함이 필요하다. 모든 문제에 하나의 기술을 사용하려고 하면 안 된다. 예를 들어 카프카를 사용한 비동기 연동의 장점을 경험했다고 해서 모든 비동기 연동에 카프카를 사용할 필요는 없다. 비동기 연동을 카프라고만 할 수 있는 것은 아니다. 카프카를 적용하면 복잡도도 증가하기 때문에 이점이 줄어들 수도 있다. 마이크로서비스 아키텍처도 비슷하다. 기능이 적고 사용자가 많지 않은데 기능을 잘게 나눠 별도 서비스로 분리하면 서비스를 분리했을 때 얻는 이점이 반감된다. 되려 시스템만 복잡해지고 운영이 힘들어질 수 있다.
...
마지막으로 잘해야 하는 게 구현 기술만은 아니라는 점을 말하고 싶다. 흔히 개발만 하고 싶다고 말하는 개발자를 보면 개발을 코딩과 같은 구현에 한정 짓곤 하는데 개발의 영역은 훨씬 넓다. 앞으로 구현 기술 외에 필요한 개발 역량에 관해 이야기할 것이다. 이 책으로 구현 기술 말고도 개발자로서 키워야 할 역량이 많다는 것을 깨닫고 다양한 지식을 쌓기 위해 노력했으면 좋겠다.
p.52~53
레거시는 폄하 대상이 아니다.
가끔 레거시 코드를 무시하는 개발자를 만날 때가 있다. 회사 코드가 최악이라거나 다시 만들면 그거보다 잘 만들 수 있다는 식으로 말이다. 물론 틀린 말이 아닐 수도 있지만, 이런 말을 하는 개발자 중 기존 코드를 더 낫게 개선할 수 있는 사람은 많지 않았다. 더 좋게 개선하지도 못하는데 새로 잘 만들 수 있을까?
복잡하고 수정하기 힘든 레거시 코드를 만나면 당연히 투덜댈 수 있다. 하지만 레거시는 폄하 대상이 아니다. 레거시가 있었기에 서비스가 굴러가고 수익이 난 것이다. 그리고 모든 코드에는 나름의 사정이 있다. 그러니 레거시를 만나면 다음처럼 생각해보자.
"개선할 거리가 있다. 해보자!"
p.133
도서는 주니어/중니어를 위한 책이라는데,
연차로는 시니어인 나한테도 도움될 내용이 많았다.
부끄럽지만, 내가 잘못 알고 있었던 부분도 있어서 바로 잡을 수 있었다(예. for 문 안에서 변수 선언하기 등).
요새 설계 교육도 들으면서 개발 프로젝트도 병행하고 있었는데,
둘 다 모두에 도움될 만한 내용도 많이 있었다.
나는 시니어 연차니깐 이 책은 가볍게 통독해야지 하는 마음이 있었는데,
코드 개선 부분 등 거의 모든 내용을 정독해서 읽었다.
시간 될 때 작가님의 유튜브도 틈틈이 봐야겠다(유튜브 채널명은 작가님 본인 이름에서 따온 듯 하다).
https://www.youtube.com/@madvirus
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다"