발전도, 변화도 빠른 개발 기술의 선봉에 서 있는 개발자에게는 쉼없는 공부와 자기 계발이 요구됩니다. 지금 막 개발은 시작한 사람도, 이미 취업해 일하고 있는 사람도, 혹은 이미 개발자로 충분히 역량을 가지고 계신 분들도 언제나 개발 지식을 쌓기 위해 노력하시죠. 오늘은 그런 분들을 위해, 입문자부터 시니어까지 다양한 개발자에게 추천하는 책 10권을 소개합니다.
개발자가 글을 왜 써야 할까요? 개발자라는 직업은 ‘글’을 쓸 일이 없어 보이지만, 사실은 그렇지 않습니다. 아름답고 문학적인 글은 아닐지언정, 컴퓨터 언어도 ‘언어’이고, 글을 통해 개발자들과 혹은 비개발자 동료들과 소통하기 때문이죠.
《개발자의 글쓰기》는 체인지 로그, 릴리즈 문서, 변수와 함수명을 규칙적이고 누구나 알아볼 수 있도록 짓는 방법 등 개발자로서의 실무적 역량에 관한 정보가 담겨 있습니다. 또한 더 효율적이고 일 잘 하는 개발자가 될 수 있도록, 누구를 상대로든 간결하고 명확하게 소통할 수 있는 글쓰기 법에 관련된 정보 역시 담겨 있어 직장인으로서의 역량을 키우기에도 좋습니다.
《실용주의 프로그래머》는 개발자라면 꼭 한 번쯤은 읽어보아야 할 책으로 불리는 동시에, 언제 얼마나 읽든 늘 새로운 인사이트를 얻을 수 있는 책으로 모든 경력과 연차의 개발자에게 추천합니다.
‘실용주의’라는 말처럼 단순히 눈 앞에 있는 문제를 해결하기 급급한 개발이 아닌 프로 개발자로서 개발을 바라보고 다루는 방법을 말합니다. 소프트웨어 개발에 적용할 수 있는 아이디어와 과정 프로세스 관리법을 적용한 실용적인 인식을 가진 프로그래머로 일하는 시선을 소개하죠.
《The Rails Way》의 저자인 오비에 페르난데스는 ‘이 책을 읽고 큰 기계의 부속품이 아닌 장인이 되는 것을 꿈꾸게 되었다. 내 삶에서 가장 중요한 책 중 하나다.’라고 말했는데요. 기술 서적의 명품이라 불리며 근 20년을 꾸준히 기술 관련 베스트셀러이자 스테디셀러의 자리를 지키고 있습니다.
‘프로그래밍 언어 안내서’라는 별칭에 걸맞게 프로그래밍 언어들에 관해 0부터 100까지를 톺아볼 수 있습니다. 언어의 개념과 등장 이유, 배경, 변화 과정에 대해서도 설명되어 있는데요. 이러한 지식을 통해 언어들의 존재 의의에 대한 지식으로 자연스럽게 언어의 적재적소를 깨달을 수 있습니다.
단순 해설보다는 기술적인 지식에 가까운 내용을 담고 있습니다. 함수와 에러 처리, 컨테이너 개념 등 실무적으로 사용되는 방법 또는 기술적 프레임워크에 대해서도 설명합니다. 개발자로서의 기초 지식을 쌓는 것에 매우 효과적인 책으로, 근본을 튼튼히 다지려는 분들에게 추천합니다.
《Clean Code(클린 코드)》는 개발자라면 누구나 생각하는 의문인 ‘좋은 코드란 무엇인가’에 대해 이야기하는 책입니다. 개발자라면 한 권쯤은 무조건 가지고 있다는 이야기가 있을 만큼 수많은 개발자들이 뽑는 필독서인데요. 좋은 코드란 무엇인지, 좋은 코드를 작성하려면 어떻게 해야 하는지에 대한 방법론을 소개합니다.
변수명과 함수명 관리, 클래스 관리, 보이스카우트 법칙 등 개발자가 좋은 코드를 만들고 코더에서 멈추지 않고 정말 무언가를 ‘개발’하는 개발자로서 성장하기 위해 알아야 할 내용을 담고 있습니다. 개발 입문자에게도 좋지만, 코드의 근간을 다져가고 있는 개발 초심자~중급자에게도 적극 추천합니다.
위에서 소개드린 《Clean Code(클린 코드) : 애자일 소프트웨어 장인 정신》와 함께 짝지어 필독서 세트라는 별명을 가진 책입니다. 개발자를 넘어 소프트웨어 아키텍트(architect)로 일하고 싶다면 꼭 읽어보아야 할 책이라고 알려져 있는데요. 난이도가 마냥 쉽지만은 않은 책이라 읽기 어렵다는 악명 아닌 악명이 있기도 합니다.
소프트웨어의 본질과 개념에 따라 소프트웨어를 다루는 개발자 또는 아키텍처로서 어떻게 일해야 하는지를 ‘클린 아키텍처’ 개념과 함께 설명합니다. 해야 할 일과 그에 따르는 주변 환경을 구성하는 법, 실제 실무로 옮겨 실천할 수 있는 방법이 담겨 있어요.
좋아 보이는, 성공한 서비스의 아키텍처를 적용해도 제대로 작용하지 않았던 이유와 그러한 잘못된 결과를 만들지 않기 위해 해야 할 일 등 실무적인 역량과 맞닿아 있습니다. 개발자를 넘어 ‘설계자’로서의 시선을 가꾸고 싶은 분들에게 추천합니다.
《누구나 자료 구조와 알고리즘》의 책 소개에는 ‘사칙 연산으로 누구나 쉽게 자료구조와 알고리즘을 이해할 수 있게 한다’ 라는 말이 빠지지 않습니다. 그 말처럼, 프로그래밍의 기본이자 핵심인 자료구조와 알고리즘에 대해 정말 쉽게 풀어낸 책입니다.
특히 기술 면접을 대비할 수 있는 내용을 담고 있다는 것이 이 책의 포인트인데요. 암기를 목적으로 하는 단답형 지식이 아닌 자료구조와 알고리즘의 선택 이유, 선택 기준, 배열과 연결 리스트 등에 대한 실무적 답변을 가능하게 하는 지식을 담았습니다.
비전공자 혹은 수학적 기초가 전공자와 비교해 약한 독자를 타겟으로 하고 있는 만큼 컴퓨터공학을 전공하지 않은 분에게 추천합니다. 더불어 기술 면접에 관해 탄탄히 기초를 다질 수 있어 개발자 취업을 준비하고 있는 분들에게도 추천드려요.
개발자에게 CS 지식은 뗄래야 뗄 수 없는 존재입니다. 하지만 마냥 쉽지 않기에 기초를 다지는 시간이 충분히 필요할 뿐더러 만일 컴퓨터공학을 전공하지 않았다면 더욱 어렵게 느껴질 수 있습니다. 《한 권으로 읽는 컴퓨터 구조와 프로그래밍》은 이러한 부분을 해결할 수 있는 CS 지식을 다질 수 있는 책입니다.
《한 권으로 읽는 컴퓨터 구조와 프로그래밍》은 개발자들 사이에서 이름이 알려진 책 중 하나로, 전공 수업을 이 책으로 간단히 복습할 수 있다는 평과 더불어 유명한 각종 개발자 스터디에서 언급되기도 합니다. 그만큼 컴퓨터의 기반이 되는 구조와 개념에 대한 설명, 그리고 하드웨어와 소프트웨어간 작용 원리에 대해서 설명합니다.
컴퓨터에서 개발자가 구성한 코드가 돌아가는 원리와 발전 과정에서도 담겨 있습니다. 다만 매우 두꺼운 편입니다. 처음부터 내용에 따라 분철을 하여 판매하는 판매처들도 있으니, 구매를 원하신다면 고려하여 보세요. 개발자라면 그 어떤 분께도 추천합니다.
《한 권으로 읽는 컴퓨터 구조와 프로그래밍》이 아메리카노라면, 《한 권으로 그리는 컴퓨터 과학 로드맵》은 아이스 초코라떼입니다. 컴퓨터 구조 그 자체와 CS 지식을 전반적으로 다룬다는 것은 같지만, 훨씬 쉽고 흥미를 유발할 수 있게 풀어냈습니다.
알고리즘, 데이터 구조, 데이터베이스, 프로그래밍 패러다임까지 개발자라면 반드시 알아야 할 기본 지식을 바탕으로 서술됩니다. 컴퓨터공학을 공부할 예비 대학생 혹은 대학생에게도 추천하는 만큼 가벼운 마음으로 읽어볼 수 있는데요.
더불어 중간중간 들어간 재치 있고 귀여운 카툰과 이해하기 쉬운 예제, 예시들로 접근이 어렵지 않습니다. 비전공자 혹은 CS 지식의 기본을 다져야 할 필요성을 느끼고 계신 개발자 분들께 추천합니다.
개발 세계를 선도하고 있는 그룹 중 하나인 구글의 개발 문화에 관해 살펴볼 수 있는 책입니다. 멈춤도, 느려짐도 없이 계속해서 무섭게 발전해 나가고 있는 개발 세계에서 구글은 어떻게 일하며 선봉장의 위치를 유지하고 있을까요?
《구글 엔지니어는 이렇게 일한다》에서는 소프트웨어 엔지니어링에 집중해 이를 설명합니다. 개발팀의 협업을 위해 가져야 할 자세와 문화, 주의해야 할 점, 긍정적인 도움이 되는 코드 리뷰를 하는 법과 공정 사회 의식 아래 개발자로서 일하는 법 등 다양한 내용을 다루고 있습니다.
데브옵스(DevOps) 시대에 거대한 개발 조직이 어떻게 움직이는지, 어떻게 일하는지 궁금하신 개발자 분들께 추천합니다.
데브옵스(DevOps) 개념에 대해 좀 더 자세히 알고 싶으시다면, 이 아티클을 읽어 보시는 것을 추천합니다.
▶︎데브 옵스(DevOps)란? : 데브 옵스의 정의와 지속적 개발 개념
개발자는 어떤 커리어 로드를 걸어야 할까요? 어떻게 그걸 결정할 수 있을까요? 《커리어 스킬》은 개발자로서 어떻게 일해야 할지, 무엇을 위해 일해야 할지, 어떤 방식으로 일하며 살아가야 할 지에 대해 설명합니다.
표지에 쓰인 ‘개발자 인생 로드맵’이라는 말처럼, 단순 공부법보다는 여러 가지 방식에 대한 비교와 효과적으로 결정을 내리는 것에 필요한 저마다의 기준을 세우는 방법에 대해서 말하는데요. 심지어는 ‘일자리 구하는 법’, ‘개발자가 되기 위한 방법의 비교(대학vs부트캠프vs독학)’, ‘개발자 이력서를 작성하는 방법’ 등 실생활에 적용 가능한 정보들도 함께 수록되어 있습니다.
개발자로서의 본인을 가꾸는 기술 블로그 작성법 등 다양한 연차별 도움이 되는 정보로 구성되어 있기 때문에, 개발자를 꿈꾸는 입문자뿐만이 아닌 앞으로의 커리어를 그리는 모든 개발자에게도 추천합니다.
만약 개발 입문 전 더 자세한 커리어 로드맵과 더불어 스터디 로드맵이 필요하다면, 스파르타코딩클럽의 100% 무료 강의 [성공적인 개발자 입문을 위한 로드맵]을 들어 보세요.
▶︎ 성공적인 개발자 입문을 위한 로드맵 강의 무료로 듣기
개발을 공부하는 것에 필요한 자료를 구하는 것은 어렵지 않은 시대가 되었습니다. 누구나 마음만 먹으면 인터넷에서 이런저런 정보를 읽어볼 수도 있고, 꼭 서점에 가지 않아도 편리하게 책을 구매할 수도 있죠.
그러니 중요한 것은 오로지 우리의 마음뿐입니다. 개발과 함께 걸어가기로 했다면, 혹은 지금 걸어가고 계신다면 오늘 소개드린 책을 통해 한층 더 가벼운 발걸음으로 걸어 보세요.