brunch

You can make anything
by writing

C.S.Lewis

by 위키북스 Jun 29. 2021

위키북스의 개발자 필독서 7

교보문고 리드잇 페이지의 “2021 개발자 필독서” 위키북스 편

지난 6월 15일, 교보문고의 “리드잇” 페이스북 페이지에서 “2021 개발자 필독서”라는 제목으로 개발자분들이 꼭 읽어봐야 할 55권의 책을 정리해 주셨는데요, 이번 글에서는 그중 위키북스 책들을 한번 살펴보고 간략하게 소개해 드리려고 합니다.

개발자 필독서 목록(전체): https://www.notion.so/2021-de02598a8b5d4ab5a9d1c7f9aa069e3f


1. 객체지향의 사실과 오해

객체지향의 사실과 오해(조영호 지음, 2015)

지난번에 게시한 "객체지향/도메인 주도 설계가 궁금하신가요?"에서도 소개한 바 있는 《객체지향의 사실과 오해》는 출간 즉시 엄청나게 많은 독자분들이 관심을 보여주신 책인데요, 객체지향에 대한 그간의 인식을 변화시킨 책이라고 감히 이야기할 수 있을 정도로 국내에서 큰 반향을 불러일으켰습니다. 저자인 조영호 님이 처음으로 집필하신 이 책은 2015년에 출간된 후 지금까지도 여전히 위키북스의 베스트셀러 목록에서 상위권을 차지하고 있으며, 객체지향 설계나 객체지향 프로그래밍을 하는 모든 개발자분들께서 객체지향의 본질을 이해하는 데 초석이 될 책입니다.


2. 오브젝트

오브젝트(조영호 지음, 2019)

조영호 님의 전작인 《객체지향의 사실과 오해》과 함께 읽어보면 좋은 책입니다. 《객체지향의 사실과 오해》에 이어지는 주제를 다룬 책으로서 책임의 할당과 구현에 초점을 맞춥니다. 객체지향 설계를 토대로 티켓 판매, 영화 예매, 핸드폰 과금과 같은 예제 시스템을 자바를 이용해 점진적으로 구축하고 유지보수하는 측면을 보여주고, 그 과정에서 맞닥뜨리게 되는 설계 의사결정과 트레이드 오프에 관해 깊이 있게 고찰합니다. 다양한 객체지향 설계 원칙이나 기법들이 실제로 어떻게 시스템에 적용되거나 응용되는지 체감할 수 있는 값진 경험을 제공하는 책입니다.


3. 개발자의 글쓰기

개발자의 글쓰기(김철수 지음, 2019)

개발자로 일한다고 해서 온종일 코드만 작성하고 계시진 않을 겁니다. 물론 코드 작성이 개발자에게는 가장 큰 업무겠지만 그 밖에도 개발자분들이 “써야 할” 텍스트는 코드 외에도 많을 겁니다. 효율적이고 성능 좋은 코드를 작성하는 데는 자신이 있지만 그 밖의 텍스트를 쓰는 데는 막연한 두려움이 있는 개발자분들께 《개발자의 글쓰기》가 도움을 드릴 수 있습니다. 변수와 함수 이름 짓기부터 주석 작성 같은 코드 내 “글쓰기”부터 릴리스 노트, 보고서나 가이드 작성, 제안서 쓰기까지 다양한 코드 외적인 글쓰기까지 종합적으로 도움을 받으실 수 있습니다.


4. Code Complete 코드 컴플리트 2/E

Code Complete 코드 컴플리트 2/E(스티브 맥코넬 지음, 서우석 옮김, 2017)

이 책의 원서인 <Code Complete: A Practical Handbook of Software Construction, 2nd Edition>의 초판이 출간된 것은 2004년인데요, 변화의 속도가 5G급인 IT 분야에서 17년이 지난 지금도 여전히 개발자분들의 필독서로 꼽혔다는 점에서 놀라운 책입니다. 그도 그럴 것이 이 책은 여전히 훌륭한 소프트웨어 개발자인지를 판가름하는 시금석의 역할을 하기에 충분하기 때문입니다. 소프트웨어 개발이라는 활동의 이해부터 코드 작성, 소프트웨어 장인정신에 이르기까지 소프트웨어 개발을 둘러싼 거의 모든 주제를 아우르는 저자의 통찰력을 엿볼 수 있고, 실용적인 조언으로 한가득한 보물 같은 책입니다.


5. 프로그래밍 패턴

프로그래밍 패턴(크리스티나 로페즈 지음, 이상주 옮김, 2015)

이 책은 33가지 코딩 스타일을 다룬 책입니다. “단어 빈도 세기”라는 한 가지 문제를 무려 33가지 방법으로 푸는 내용을 다루고 있어서 다소 생소하실 수도 있겠습니다. 프로그래밍에 정답은 없다지만 이토록 다양한 방식으로 풀어야 할 이유가 있을까 궁금하실 수도 있겠는데요, 다양한 스타일로 코드를 작성하는 과정에서 시스템 설계에 대한 힌트를 얻을 수 있고, 시스템이나 코드를 바라보는 안목이 넓어지는 체험을 하실 수 있습니다. 또한 각 프로그래밍 형식이 탄생한 배경을 통해 시스템의 제약조건을 극복하고 효과적인 해법을 마련하기 위해 고심한 흔적들을 엿보실 수 있습니다. 독특한 주제와 구성이지만 개발자의 필독서로 선정될 정도로 저력이 있는 책입니다.


6. 실용주의 사고와 학습

실용주의 사고와 학습(재출간판)(앤디 헌트 지음, 박영록 옮김, 2015)

사실 《실용주의 사고와 학습》은 IT 분야의 책으로 한정하기에는 너무나도 아까운 책입니다. 이 책은 인간 두뇌의 동작 원리를 파악하고 그것을 최대한 활용하기 위한 시도의 일환이라서 특정 분야와 상관없이 모든 분들께 추천할 만하기 때문이죠. 제한된 시간 내에 최대한 효율적이고 효과적으로, 집중해서 과업을 완수해야 하는 것은 분야를 막론하고 전문가가 되고자 하는 모든 분들이 지향하는 바이기 때문에 IT 분야를 넘어 더 널리 읽혀져야 할 책이라 할 수 있습니다. 


One more thing,


7. 코딩호러의 이펙티브 프로그래밍

코딩 호러의 이펙티브 프로그래밍(제프 앳우드 지음, 임백준 옮김, 2013)

개발자 필독서 55권에 선정되진 않았지만 감사하게도 한 독자분께서 이 책을 추천하셨습니다. 이 책의 저자인 제프 앳우드(Jeff Atwood)는 개발자분들께서 애정하는 스택오버플로를 만든 것으로 유명하고, 또 그전에는 코딩호러(Coding Horror)라는 블로그를 운영하는 것으로도 잘 알려져 있죠. 《이펙티브 프로그래밍》에는 단순히 코딩뿐만 아니라 소프트웨어 개발이라는 직종과 여기에 종사하는 다양한 이해관계자에게 유용한 갖가지 통찰력과 실용적인 조언들이 “코딩호러 스타일”로 담겨 있습니다. 당면한 프로젝트를 올바른 길로 인도하고 더 나은 소프트웨어 개발자가 되고 싶다면 코딩호러의 조언에 귀 기울일 필요가 있습니다.


한 가지 재밌는 사실은 코딩호러 블로그의 시그니처 아이콘인 아래 아이콘은 《Code Complete》에서 따왔다는 것입니다. 《Code Complete》에서는 절대로 하지 말아야 할 사례를 안내하면서 이 아이콘을 관련 단락의 여백에 넣고 아이콘 하단에 “Coding Horror”라고 적어뒀는데요, 이 문구가 훗날 제프 앳우드의 블로그 제목이 됩니다.

Coding Horror

참고: On The Meaning of "Coding Horror"


지금까지 개발자 필독서로 선정된 6권의 책과 독자분이 추가로 추천해 주신 책 1권으로 총 7권을 살펴봤습니다. 이 책들은 모두 편집자인 저 또한 한결같이 사랑해 마지 않는 책들인데, 동시에 개발자분들께서도 잘 알아봐 주시고 꾸준히 사랑하고 계신 것 같아서 뜻깊습니다. 앞으로도 위키북스만이 펴낼 수 있는 책들로 개발자 여러분께 찾아가겠습니다.


작가의 이전글 유니티 전문 개발자가 알려주는 효과적인 게임 제작 기법
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari