요즘IT
위시켓
최근 검색어
전체 삭제
최근 검색어가 없습니다.

많은 이들이 개발자가 되고 싶어 하지만, 아이러니하게도 실력이 뛰어난 개발자는 점점 더 찾기 힘든 것이 현실이다. 대학에서 컴퓨터 공학을 전공하지 않아도, 또는 대학을 나오지 않아도 개발자가 될 수 있는 시대에서 각자가 생각하는 훌륭한 개발자가 되기 위한 덕목은 다를 것이다. 이번 글에서는 필자가 소프트웨어를 개발하며, 직접 읽어본 개발 관련 도서 중 학생이나 주니어 개발자에게 추천하고 싶은 책 5권을 소개하고자 한다.

회원가입을 하면 원하는 문장을
저장할 수 있어요!

다음

회원가입을 하면
성장에 도움이 되는 콘텐츠를
스크랩할 수 있어요!

확인

개발

성장하고 싶은 주니어 개발자를 위한 추천 도서 5권

년차,
어떤 스킬
,
어떤 직무
독자들이 봤을까요?
어떤 독자들이 봤는지 궁금하다면?
로그인

 

많은 이들이 개발자가 되고 싶어 하지만, 아이러니하게도 실력이 뛰어난 개발자는 점점 더 찾기 힘든 것이 현실이다. 대학에서 컴퓨터 공학을 전공하지 않아도, 또는 대학을 나오지 않아도 개발자가 될 수 있는 시대에서 각자가 생각하는 훌륭한 개발자가 되기 위한 덕목은 다를 것이다. 이번 글에서는 필자가 소프트웨어를 개발하며, 직접 읽어본 개발 관련 도서 중 학생이나 주니어 개발자에게 추천하고 싶은 책 5권을 소개하고자 한다.

 

1. 클린 코드

클린 코드
<출처: 교보문고>

 

이 책은 로버트 C. 마틴(Robert C. Martin)이라는 미국의 저명한 소프트웨어 전문가가 쓴 코드 작성 패러다임에 관한 책이다. 이 책의 전반에서 주장하는 클린 코드는 읽기 좋은, 그리고 협업을 하는데 불편하지 않은 코드를 작성하는 습관에 관련된 내용이다. 네이밍 규칙, 함수, 주석, 객체와 자료구조, 예외 처리 등 어떤 언어와 직군의 개발을 하든지 개발자에게 필요한 코딩 노하우들이 담겨 있다.

 

이 책을 추천하는 이유

아직 학생이거나 이제 막 개발자로 커리어를 시작한다면, 현업에서 쓰는 코드를 많이 접해보지 못했을 것이다. 비전문가와 전문가가 작성하는 코드의 차이를 딱 한 가지만 꼽아보라면, 바로 비용(cost)이라고 생각한다. 여기서 비용은 단순히 금전적인 비용만 의미하는 것은 아니고, 코드를 작성하는데 들이는 시간적인 비용과 그 코드를 개발자가 이해하는데 들어가는 비용, 코드를 지속적으로 유지 보수하는데 들어가는 비용 등을 모두 포괄적으로 의미한다. 

 

비전문가 집단에선 코드가 단순히 의도한 대로 올바르게 동작하기만 해도 크게 문제 될 부분은 없다. 그 코드가 지속적으로 많은 사람들에게 읽힐 가능성이 적기 때문이다. 다만 전문가 집단의 코드는 비즈니스와 연결되어 있고, 더 많은 사람들이 꾸준히 관리해야 하기 때문에 컨벤션을 지키는 것이 중요하다. 이러한 컨벤션을 정할 때, 참고하기 좋은 책으로 한 번쯤 미리 읽어보는 것을 추천한다.

 

 

2. 컴퓨터 프로그램의 구조와 해석(SICP)

컴퓨터 프로그램의 구조와 해석(SICP)
<출처: 교보문고>

 

이 책은 컴퓨터공학자 해럴드 애빌슨(Harold Abelson), 제럴드 제이 서스먼(Gerald Jay Sussman), 줄리 서스먼(Julie Sussman)이 함께 쓴 책으로, 매사추세츠 공과대학(MIT) 컴퓨터 학부에서 전공 수업 때 사용하는 교재로 유명해졌다. 프로그래밍 문법과 관련된 내용은 아니고, 프로그램이 어떻게 돌아가는지에 대한 동작 원리를 기초부터 자세하게 설명하는 책이다. 

 

LISP(인공지능 소프트 웨어를 만들기 위해 사용하는 프로그래밍 언어) 언어에서 갈라져 나온 스킴(Scheme)을 활용하며, 요약(abstraction)과 조립식 설계(modularity)에 따라 복잡한 프로그램을 간단하게 짜는 전략을 보여준다. 여기에 덧붙여 상태(state)가 있는 물체, 덮어쓰기(assignment), 병행 프로그래밍, 함수 프로그래밍 등 다양한 프로그래밍 관련 이슈를 살펴보며, 프로그래밍 관점에서 생각하고 그 생각을 표현하는 방식을 배울 수 있는 책이다.

 

이 책을 추천하는 이유

이 책은 비전공자로서 개발을 공부하는 분들에게는 어려운 내용일 수도 있다. 또한 앞으로 개발자로 일하며, 스킴을 현업에서 쓸 일도 거의 없을 것이다. 그럼에도 불구하고 이 책을 추천 목록에 넣은 이유는 프로그래밍적인 사고가 현업에서 필요한 순간이 있기 때문이다. 

 

점점 더 어려운 문제들을 풀어 나가야 할 때, 단순히 라이브러리 사용법을 공식 문서에서 보고 따라 하거나 구글링을 통해 버그를 고치는 것만으론 뛰어난 개발자가 되기 힘들다. 그래서 이 책에 나오는 연습 문제들을 직접 고민하고 풀어보는 것을 추천한다. 가능하다면 주변 동료들과 함께 풀어보고 생각을 공유하는 것도 좋다. 분명 개발자로서 많은 것을 얻어 갈 수 있을 것이다.

 

 

3. 한 권으로 읽는 컴퓨터 구조와 프로그래밍

한 권으로 읽는 컴퓨터 구조와 프로그래밍
<출처: 교보문고>

 

이 책은 조너선 스타인하트(Jonathan E. Steinhart)라는 미국의 소프트웨어 엔지니어 겸 컨설턴트가 쓴 책이다. 컴퓨터의 동작 원리와 컴퓨터 프로그래밍이 무엇인지에 대해 깊이 있는 내용을 다룬다. 하드웨어적 개념인 전자회로부터 메모리, CPU, I/O 및 컴퓨터 아키텍처 전반을 설명하고, 그 위에서 소프트웨어 작성 방법을 직접 예제로 만들어 알려준다.

 

이 책을 추천하는 이유

이 책에서 가장 인상적이었던 내용은 프로그래머가 해야 하는 두 가지를 설명하는 부분이었는데, 저자는 컴퓨터 프로그래밍이 첫째, 우주를 이해하고, 둘째, 3살짜리 아이에게 이해한 내용을 설명하는 것과 같다고 말한다. 우리는 알고 놓치든, 모르고 놓치든 고려해야 하는 요구사항을 빼먹어서 버그를 만드는 경우가 많다. 나도 그런 실수를 자주 하는데, 이 책을 읽으며 프로그래밍이 우주를 이해하는 것만큼 배워야 할 것이 참 많은 분야임을 다시금 느꼈다. 그래서 프로그래밍은 더 재밌고, 호기심을 자극하는 부분도 많다고 생각한다. 

 

이 책은 특히 비전공자여도 컴퓨터 공학의 전반적인 내용을 빠르고 얕게 공부하고 싶은 분들께 추천하고 싶다. 우선 기본서로 전반적인 내용을 학습해두고, 그중 본인이 더 깊게 공부하고 싶은 부분을 찾아가는 방법을 권장한다.

 

 

4. 헤드 퍼스트 디자인 패턴

헤드 퍼스트 디자인 패턴
<출처: 교보문고>

 

이 책은 전 디즈니 CTO로 활동했던 에릭 프리먼(Eric Freeman) 외 여러 저자가 함께 쓴 책이다. 이 책에서는 14 가지의 GoF(Gang of Four) 디자인 패턴과 9 가지의 디자인 원칙을 다루는데, 객체지향 프로그래밍에서 필요한 거의 모든 패턴을 학습할 수 있다.

 

이 책을 추천하는 이유

디자인 패턴은 수많은 개발자들이 무수한 시행착오를 겪으며 깨달은 공식과도 같다. 물론 이 패턴도 완벽할 수는 없지만 패턴을 알고 실무에 적용하면, 처음부터 하나씩 생각하는 것보다 훨씬 더 생산적으로 일할 수 있다. 보통 디자인 패턴에 대해 딱딱하게 설명한 경우도 많은데, 이 책은 비교적 쉬운 설명과 다양한 예제, 도식들이 있어 학생이나 주니어 개발자가 읽기에도 큰 어려움은 없을 것이다.

 

 

5. 이펙티브 타입스크립트

이펙티브 타입스크립트
<출처: 교보문고>

 

이 책은 사이드워크 랩의 수석 소프트웨어 엔지니어인 댄 밴더캄(Dan Vanderkam)이 작성한 타입스크립트 언어에 대한 이펙티브 시리즈이다. <이펙티브 C++>, <이펙티브 자바>의 형식을 가져와, 타입스크립트의 동작 원리와 해야 할 것, 하지 말아야 할 것에 대한 구체적인 조언이 62가지 항목으로 나누어져 있다. 주로 타입스크립트의 타입 설계, 타입 추론 등을 통해서 어떻게 안정성을 가져갈 수 있는지에 대한 방법론을 다룬다.

 

이 책을 추천하는 이유

웹 프론트엔드 엔지니어로 일하며 느낀 것은 이제 타입스크립트는 업계에서 표준처럼 쓰이고 있다고 해도 과언이 아닌 기본 스킬이라는 점이다. 프론트엔드뿐만 아니라 백엔드에서도 타입스크립트 기반의 Node.js를 사용하는 회사가 점점 많아지고 있다. 그래서 타입스크립트를 잘 공부해 놓으면 이후 웹 풀스택 개발자가 되는 과정도 매우 수월해진다. 

 

타입스크립트의 경우 오픈소스이고, 메이저 버전이 1~2년에 한 번씩 업데이트되기 때문에 현업에선 책 보다는 공식 문서를 더 많이 보기도 한다. 하지만 아직 개발 업무가 익숙하지 않은 주니어 레벨이라면 책으로 공부하는 방식이 더 적합할 때가 있다. 타입스크립트를 처음 공부해야 하는 분들에게는 이 책을 권장한다.

 

 

마치며

오늘은 개발자를 위한 추천 도서를 소개했지만, 사실 개발자의 공부 방법은 더 많고 다양하다. 하지만 앞서 언급했듯이 단순히 공식 문서를 보고 따라 하거나, 구글링을 통해 버그를 고치는 방법만으론 뛰어난 개발자가 되긴 힘들 것이다. 책은 수많은 전문가들이 그동안의 노하우를 담아낸 만큼 늘 우리에게 좋은 인사이트를 준다고 믿는다. 오늘 추천한 책들이 주니어 개발자와 학생들에게 도움이 되길 바라며 글을 마친다.

 

요즘IT의 모든 콘텐츠는 저작권법의 보호를 받는 바, 무단 전재와 복사, 배포 등을 금합니다.

좋아요

댓글

공유

공유

웹프론트엔드 엔지니어 데브오웬입니다
54
명 알림 받는 중

작가 홈

웹프론트엔드 엔지니어 데브오웬입니다
54
명 알림 받는 중
안녕하세요. 개발을 통해 비즈니스 임팩트를 내는 것에 관심이 많은 3년차 웹 프론트엔드 엔지니어 데브오웬입니다. 현재는 헬스케어 스타트업 굿닥에서 웹 프론트엔드 엔지니어로 근무하고 있으며, 병원과 환자를 위한 B2B, B2C 기반의 웹, 모바일 앱 제품을 만들고 있습니다.

동료와 함께, 때로는 혼자 세상의 다양한 문제들을 해결할 수 있는 제품을 만들고 이에 몰입할 수 있습니다. 공부하는 내용을 타인과 공유하며 서로 성장하는 것을 좋아합니다. 이를 위한 커뮤니티, 스터디, 컨퍼런스, 해커톤 등의 활동들도 다양하게 참여하고 있습니다.

블로그: devowen.com
링크드인 : linkedin.com/in/wonjongoh

좋아요

댓글

스크랩

공유

공유

지금 회원가입하고,
요즘IT가 PICK한 뉴스레터를 받아보세요!

회원가입하기
요즘IT의 멤버가 되어주세요! 요즘IT의 멤버가 되어주세요!
요즘IT의 멤버가 되어주세요!
모든 콘텐츠를 편하게 보고 스크랩해요.
모든 콘텐츠를 편하게 보고 스크랩 하기
매주 PICK한 콘텐츠를 뉴스레터로 받아요.
매주 PICK한 콘텐츠를 뉴스레터로 받기
로그인하고 무료로 사용하기