길벗 출판사에서 IT 도서 리뷰 요청 제의가 들어왔습니다. 한 달이라는 기한을 잡았는데, 차일피일 미루고 급한 작업이 생기다 보니(변명이겠죠) 마감일을 꽉 채워서 포스팅을 쓰게 되었습니다.
스트리트 코더(Street Coder)란, '이 바닥'에서 여러 시행착오를 겪으며 배웠다는 뜻입니다. 독학으로 마이크로소프트 엔지니어가 된 저자가 시행착오를 겪으며 몸소 깨달은 생존 법칙과 노하우를 집필하였습니다. 실무 경험에 뿌리를 둔 현실적인 조언을 하는 책으로, 주니어 ~ 시니어 모두 읽기 좋은 책입니다. 특히 실무 경험이 없는 신입이 학교에서는 배울 수 없는 노하우로 시야를 넓히고 경험의 차이를 좁힐 수 있을 것입니다.
개발자로 살아가며 저희가 알아가는 중요한 이론들이 있죠. 컴퓨터 과학, 알고리즘, 클린 코드 등 훌륭한 레퍼런스가 정말 넘쳐나지만, 현실은 마감일에 쫓겨 작업의 우선순위를 정하고 어떤 것을 취하고 어떤 것을 버릴지 선택을 강요받게 됩니다. 책은 여기서 무엇이 가장 중요한지 알아차릴 수 있는 길거리 지식이 필요하다고 강조하고, 다양한 개발자 생존 법칙을 알려주고 있습니다.
책에서는 다음과 같은 내용을 알려주고 있습니다.
- 실용적인 데이터 구조나 알고리즘의 적용법
- 점진적인 리팩터링으로 효율적인 코드를 만드는 법
- 보안을 염두에 두고 개발하는 법
- 프로젝트를 위한 확장성
- 익히 알던 모범 사례보다 더 도움이 되는 일부 안티패턴
- 최적화할 때 발생하는 트레이드 오프 이해하기
- 무조건 버그를 수정하지 않기
특히 특이하다고 생각되었던 부분은, 흔히 권유되는 MSA(마이크로서비스 아키텍처)에 대해 무조건 따르지 말고 명확한 장점이 있을 때만 사용하라는 것이었습니다. 생각해 보니 "MSA는 좋고, 모놀리스는 나쁘다."라고만 생각했지 왜? 라는 질문을 던진 적은 없었던 것 같아요. 머리를 한 대 맞은 기분이었습니다.
중간중간 농담 식의 유머가 곁들어져 있는데, 덕분에 지루하지 않게 읽을 수 있었던 것 같습니다. 다만, C# 언어를 사용해서 예제 코드를 제시해 자바가 주 언어인 저에게는 이해가 안 가는 부분도 더러 있었습니다. 6장(보안)과 8장(확장성)은 흐린 눈으로 훑어만 보았습니다. 아무래도 저에게는 당장 활용할 수 있는 지식이 아니다 보니 그런 부분도 있는 것 같습니다.
우리가 흔히 알고있는 규칙, 하지만 아이러니하게도 그 규칙을 깨야 하는 상황이 많은 개발자 세상에서 어떤 것을 선택할지 알고 싶다면 한번 쯤 읽어보면 좋은 책 같습니다.
'개발서적' 카테고리의 다른 글
[리뷰#8] 읽기 쉬운 코드 (2) | 2024.05.01 |
---|---|
[리뷰#7] 필독! 개발자 온보딩 가이드 (2) | 2023.12.11 |
[리뷰#5] 육각형 개발자 (0) | 2023.07.31 |
[리뷰#4] 프로그래머의 길, 멘토에게 묻다. (0) | 2023.03.26 |
[리뷰#3] 객체지향의 사실과 오해 (0) | 2023.02.19 |