개인적으로 책을 읽는 건 좋은 습관이지만, 정리하지 않고 책을 읽는 습관은 나쁜 습관이라고 생각한다. 필자 본인은 책을 읽을 때 2번, 3번씩 읽고 나서 정리하려고 노력한다. 이 목록에 있는 책들은 1번 읽기가 어려울 정도로 어렵다. 그렇지만, 읽을 때는 잘 와닿지 않지만 코드를 작성하면서, 인프라를 구축해보면서 "이게 최선인가?"라고 생각할 때 부족한 지식들을 채워줄 수 있는 책들이다.
모르기 때문에 더 좋은 선택지를 잃는 것은 너무 억울하지 않은가?
어쩌면 30일 있다 대대적으로 개선해야 할 서버를 0.5년, 1년, 3년, 5년 넘게까지 쓸 수 있게 만들 수 있는 개발자가 되고 싶다면 아래의 책들을 추천한다.
(나름 필자가 읽어본 후기를 적어놨다. 도움이 되길 기원한다.)
대부분 "오브젝트"라는 단어를 들으면 객체지향프로그래밍(OOP)를 떠올리기 마련이고, 자연스럽게 "나 학부 때 이 수업 들었었지, 학점도 괜찮았던 것 같아, 잘 알고 있는거지."라는 생각에 도달하게 된다. 그렇지만 현업에서 코드를 작성하다 보면 "객체가 도대체 뭐야? 나는 어떤 기준으로 객체를 설계해야 하는거야?"라는 의문이 비일비재하게 든다.
이 책은 그런 의문에 대한 100% 정답은 아닐지라도, 객체 지향적인 설계에 관해 좋은 지침을 준다. (100%라고 확신을 할 수 없는 이유는 필자가 아직 경험이 적기 때문이다😂)
프로그래머가 세상을 좀 더 쉽게 이해할 수 있게 만들어주는 객체 지향 설계를 조금 더 공부해보는 것은 어떨까?
개인적으로 간단히 정리했었던 내용
클린 아키텍쳐는 아직도 의견이 분분한 책이다. 밥 아저씨의 말이 맞다는 사람도 있고, 아니라는 사람도 있다. 그러나 이 말이 한 가지는 확실하게 알려준다. 이 책을 안 읽어 본 백엔드 개발자는 거의 없다는 것이다. 읽어보지 않은 사람도 서비스를 구현하며 내부의 "경계"와 "책임"에 대해서는 고민해 봤을 것이다.
이 책은 왜 우리가 계층적 구조를 고려해야 하는지, 시스템에서 정말 중요한 것은 무엇일지 생각하게 만들어주는 책이다. 다른 말은 덧붙이지 않겠다. 이 이유만으로도 이 책을 읽어야 할 이유는 충분하다.
(아, 참고로 책의 절반은 유익하지만 절반은 썰이다. 소설 책 읽는 느낌으로 읽거나 읽지 말자)
진행했던 스터디 자료
https://github.com/bluayer/back-up
고민할 필요가 없다. 우리가 Spring Boot로 개발을 하다보면 자주 만나게 될 jojoldu, 이동욱 님의 책이다. 필자도 이 책으로 스프링 부트를 처음 접했고, 아주 만족스러운 경험이었다. 서비스를 Spring Boot로 빠르게 개발하고 싶다고? 이 책으로 시작하라.
DDD(Domain Driven Development)는 백엔드 개발자들 사이에서 꽤 핫한, 아니 이제는 주류가 되어버린 주제이다. 우리가 흔히 "도메인"이라 부르는 용어는 솔직히 학부를 막 졸업한 개발자가 이해하기 꽤 어렵다. 아무튼 DDD는 여러 회사에서 많이 사용하는 방식이기도 하며 실제로 강연도 꽤 많이 열린다고 한다. 개인적으로는 DDD 관련 원저라고 할 수 있는 에릭 에반스의 책도 좋지만 한국 개발자가 이해하기에는 DDD Start만큼 좋은 책이 없다고 생각한다. 추가적으로 JPA 관련한 내용이 나오는 챕터들이 있으니 참고.
필자 본인도 추천을 받아서 읽기 시작했던 책이다. 참고로 카카오 백엔드 팀 추천 도서에도 있었다.(https://tech.kakao.com/2020/07/22/recruit-kakaotalk-backend/)
우리는 여지껏(학교를 포함해서) 하나의 애플리케이션을 잘 작성하는 법을 공부해왔다. 그 과정에서 중요한 것은 어쩌면 알고리즘이나 클린한 코드 스타일일 수 있다. 그렇지만 현재 많은 개발자들은 데이터에 집중한다. 데이터가 어떻게 흐르는지, 수많은 데이터를 어떻게 저장하고 그 과정 속에서 우리는 또 어떻게 개발을 할 것인지, 단순히 DB 튜닝 만으로 부족한 일들을 어떻게 해낼 것인지 등등 현실에서 마주하는 다양한 문제들은 데이터와 관련이 있다.
이 책은 여러 좋은 레퍼런스(논문 등)에 기반하여 작성되어 있다. 우리가 데이터라는 것을 어떻게 다루고 대해야 할지에 대한 이론적인 기반을 잘 정리된 문서와 그림으로 설명해준다. 단순한 애플리케이션 서버 개발자, API 깎는 노인으로 늙을 것이 아니라면 이 책을 읽어보도록 하자. 시야가 넓게 트이는 경험을 할 수 있다.
(여담이지만, 종종 개발자들 사이에서 데중어설로 불리기도 한다더라)
개인적으로 최근에 스터디도 진행했었는데, 관련 블로그 글로 이렇게 링크를 달아본다.
주변에서 책 추천을 많이 부탁하는데, 이렇게 글 쓸 수 있는 동기를 제공해 준 팡쓰팡쓰에게 감사의 인사를 전한다.
팀 내 Contribution Rule 설정을 위한 참고서 (0) | 2021.09.04 |
---|---|
개발 및 비개발직군을 위한 Refactoring 이야기 (0) | 2021.01.30 |
2분 59초 안에 좋은 PR 작성하기 (0) | 2020.09.22 |
[Markdown] 웹 개발자를 위한 README.md 작성법 (0) | 2020.06.16 |
댓글 영역