본문 바로가기
ETC/독후감

읽은 책 소감 - 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식

by Nahwasa 2025. 5. 16.

좌 : 최범균님의 신작 / 우 : 최범균님의 이전작

 

이 글은 간단한 소감이고, 책 내용을 보고 제 생각을 적은건 '주니어 백엔드 개발자가 반드시 알아야 할 실무 지식'을 읽고 떠오른 내 생각들' 이 글에 있습니다.

 

  난 객체지향 설계가 재밌다. 그러다보니 자연스레 DDD를 접했고, 조용호님의 DDD 오프라인 강의도 찾아다니는 등 관심이 많았다. 또 그러다보니 당연하게도 '도메인 주도 개발 시작하기' 라는 책도 읽었었다. 딱봐도 저자분이 고수라는 생각이 드는 좋은 내용의 책이었고, 그렇게 '최범균'님의 이름도 머리에 남았다.

 

  2025년 4월 28일 출간된 최범균님의 신간 '주니어 백엔드 개발자가 반드시 알아야 할 실무 지식' 책이 발간된걸 5월 4일에 알았고, 바로 구매해서 방금 전부 읽었다. 기존 내 기준 최고의 선생님을 손가락에 꼽아보자면 조영호님과 토비님이었는데, 최범균님도 올려도 될 것 같다. 전반적으로 너무 이론만 써두지 않고 실무적으로 도움이 될만한 내용으로 딱딱하지 않게 써두신게 좋았다. 참고로 당연히 '주니어'만 볼만한 책은 아니다. 으레 이런 제목이 항상 그렇듯 저기에 '10년차 이상 백엔드 개발자가 알아야 할...' 이런식으로 쓰면 독자층이 너무 얇아지니 많이 구매 안할꺼다 ㅋㅋ

 

 

  얕지만 넓은 분야에 대해 본인의 실무 경험과 함께 잘 써주셨다. 얕다는건 단점이 아닌게, 원래 내가 뭘 모르는지 몰라서 결국 모르는거지, 키워드만 알 수 있다면 그 이후론 관심의 문제다. 주니어에겐 확실히 시야를 넓힐 수 있는 기회일 것 같고, 어느정도 연차가 있더라도 당연히 모르는 내용들이 있을거다. 또 연차가 어느정도 있다면 오히려 본인이 이전에 했던 경험과 빗대어 더 맛있게 읽을 수 있다.

 

 

  내 경우에도 처음엔 목차만 보고 "아 그렇게 어렵진 않겠네! 300페이지면 뭐 3일이면 다 보겠네!" 이랬는데, 모르는게 꽤 나왔고 추가로 궁금한것들이 생기다보니 트리 구조로(?) 계속 찾아보게 되어, 거의 2주나 걸려버렸다. 노션에 책이나 강의 보며 맛있었던 내용이나, 읽으며 드는 생각, 추가로 찾아본것들을 메모해두는데, 이것만 pdf 로 내보내기하면 86페이지가 나온다. 꽤 맛있게 읽어버렸다.

 

 

  책의 큰 목차만 보면 다음과 같다.

- 느려진 서비스, 어디부터 봐야 할까

- 성능을 좌우하는 DB 설계와 쿼리

- 외부 연동이 문제일 때 살펴봐야 할 것들

- 비동기 연동, 언제 어떻게 써야 할까

- 동시성, 데이터가 꼬이기 전에 잡아야 한다

- IO 병목, 어떻게 해결하지

- 실무에서 꼭 필요한 보안 지식

- 최소한 알고 있어야 할 서버 지식

- 모르면 답답해지는 네트워크 기초

- 자주 쓰는 서버 구조와 설계 패턴

 

  나도 항상 생각하는건, 백엔드 개발자라고 할 때 "요구사항에 따라 동작만 하는 코드"를 짜는건 백엔드 개발자로써 부족하다고 생각한다. 물론 큰 기업일수록 분야가 나눠지긴 하겠지만, 어쨌든 백엔드 개발자라면 기본적인 네트워크,보안, 인프라, OS, 메모리(컴구), 프론트엔드 등의 부분을 알고 있어야 한다고 생각한다. 이 책은 그런 의미에서 내 생각과 비슷한 것 같아 정말 마음에 드는 책이다.

 

  이론상으론 이게 맞지만, 실무적으론 이것도 맞아요. 이런 예시들을 꽤 들어주신 부분이 특히 좋았다. 예를들어, DB에서 성별 칼럼에 인덱스를 거는게 의미가 있을까? 딱히 의미가 없다. 하지만 실제론 인덱스를 걸만한 부분으로 처리상태 칼럼 예시를 들어주셨다. "대기", "처리중", "완료" 이렇게 있다면 실제 데이터상 '완료'가 대부분이니, 대기나 처리중 상태를 뽑아내기에 인덱스가 적합하다는 부분이었다.

 

  또, 타임아웃을 길게 했을 때의 문제점에 대한 설명도 좋았다. 타임아웃이 길어서 고객이 재시도를 계속 하게되니 오히려 서버가 회복할 기회를 놓치게 된다. 따라서 타임아웃을 오히려 줄이는게 낫다는 견해였다. 이 부분에 대해 오늘 인프런 서버가 선착순 쿠폰으로 터진게 생각났다. 2025-05-16 오전 11시부터 인프런에서 특정 강의에 대해 90% 할인쿠폰을 선착순으로 1000명 발행했다. 난 당연히 그걸 받으려고 기다렸는데, 서버가 터졌다. 여기서 재밌던점은, 오전 11시쯤 타임아웃은 분명 10초 이상이었다. 회복될 기미가 보이지 않던 인프런 서버는 그러다가 11시 5분쯤엔 거의 0.1초 정도로 타임아웃을 설정한걸로 보인다. 그리고, 난 11시 6분쯤 쿠폰을 받는데 성공했다. 책을 읽기전엔 그런 부분에 눈에 안보였을 것 같은데, 책을 읽음으로써 시야가 넓어진 것 같다.

 

  내 기존 개발 경험과 비교해보며 책을 읽는것도 재밌었다. 예전에 외부 연동되는 부분에서, 해당 외부 연동이 내가 만든 시스템의 비즈니스 로직과 딱히 상관이 없었다. 연동 요구사항에 의해 호출해주긴 했지만 사실 내 관심사는 아니었다. 그러다보니, 해당 시스템 연동 실패 시 트랜잭션이 롤백되지 않도록 catch로 따로 잡아 무시하도록 했었다. 당시엔 직관적으로 수행한거였는데, 책에서도 동일한 내용이 나와서 좋았다.

 

  이 책은 사실 경력 상관 없이 한번쯤 읽어볼만한 책이다. 책의 내용에 대해 많이 몰랐다면 당연히 큰 도움이 될 것이고, 많이 알고 있었다고 해도 다시한번 정리하는 기회가 된다. 또 특정 기술에 대한 새로운 시각이 되기도 한다. 내 경우에도 부록에서 얘기하신 NoSQL이 예전엔 Non-SQL 이었다면, 현재는 Not Only SQL이란 의미로 확장되었다고 보는 시각이 좋았다.

 

  독후감만으로 끝내긴 아쉽고, 책을 읽으며 맛있었던 부분을 정리하고 내 경험과 빗대어 생각하는 추가 글도 적어보면 좋을 것 같다.

 

 

[자랑] 오탈자도 2개 찾아서 등록했다!

 

댓글