2. 프로그래머의뇌 훌륭한프로그래머가알아야할인지과학의모든것
한 페이지 요약
• 책 분류
• 개발, 프로그래밍 언어, 인지과학
• 대상 독자
• 프로그래밍 기술과 습관을 향상시키고 싶은 독자
• 개발 경력이 어느 정도 있으면 좋고, 신규 팀원 적응 지원(온보딩) 경험이
있으면 더 좋다
• 특징
• 인지 과학 관점에서 프로그래밍 기술과 습관을 높이기 위한 다양한 방법을
소개한다
3. 이 책의 목차
이 책은 순서대로 읽는 편이 유리하다!
PART I 코드 더 잘 읽기
01장: 코딩 중 겪는 혼란에 대한 이해
02장: 신속한 코드 분석
03장: 프로그래밍 문법 빠르게 배우기
04장: 복잡한 코드 읽는 방법
PART II 코드에 대해 생각하기
05장: 코드를 더 깊이 있게 이해하기
06장: 코딩 문제 해결을 더 잘하려면
07장: 생각의 버그
PART III 좋은 코드 작성하기
08장: 명명을 잘하는 방법
09장: 나쁜 코드와 인지 부하를 방지하는 두 가지 프레임워크
10장: 복잡한 문제 해결을 더 잘하려면
PART IV 코딩에서의 협업
11장: 코드를 작성하는 행위
12장: 대규모 시스템의 설계와 개선
13장: 새로운 개발자 팀원의 적응 지원
프로그래머의뇌 훌륭한프로그래머가알아야할인지과학의모든것
4. 무엇이 이 책을 흥미롭게 만드는가?(1)
더 나은 프로그래머가 되기 위해 뇌를 십분 활용해보자
• 프로그래밍은 원래 까다로운 인지적 활동이다. 문제를 추상적으로 해결하는 동시에 구체적으로 프로그램 코드를 작성해야 하기 때문이다
• 따라서 높은 주의력을 요구한다.
• 장기 기억 공간, 단기 기억 공간, 작업 기억 공간 세 가지 인지 활동의 메커니즘을 응용하면 코드를 더 잘 이해하고 파악할 수 있다
• 이 책에서는 다음과 같은 주요 내용을 다룬다
• 코드를 인식할 때의 뇌 작동 원리
• 코드를 빠르게 파악하는 읽기 방법
• 복잡한 코드와 문제를 쉽게 바꾸는 기법
• 협업 환경에서 코드베이스를 개선하는 요령
프로그래머의뇌 훌륭한프로그래머가알아야할인지과학의모든것
5. 무엇이 이 책을 흥미롭게 만드는가?(2)
두뇌의 동작 방식부터 시작해 차근차근 코드 읽기와 작성 과정에 필요한 힌트를 제공하고 원활한 협업 방안을 모색한다
• 인지 과학과 프로그래밍 특성을 연결해서 설명하고 있다. 두뇌가 코드를 처리하는 방식을 알면
• 새로운 정보를 접할 때 두뇌의 동작 방식을 활용해 더 나은 프로그래머로 성장할 수 있다
• 프로그래밍 과정에서 일어나는 인지적인 실수를 어떻게 해소해야 할지 방법을 찾을 수 있다
• 낯설고 복잡한 코드를 읽고 이해하기 위한 방법을 설명하고 있다.
• 코드를 읽을 때 사용하는 기술과 일반 텍스트를 읽을 때 사용하는 기술 사이의 연관성에서 힌트를 얻는다
• 문제 해결 과정에서 두뇌의 심적 표상을 활용하고 추상화 수준을 결정하는 방법을 살펴본다
• 한가지 프로그래밍 언어를 배운 다음 다른 프로그래밍 언어를 배울 때 발생하는 어려움을 피한다
• 클린코드에서 사용하는 기법인 이름 짓기, 코드 스멜을 다룬다. 또한 기억력 향상 기법을 소개한다.
• 마지막으로 팀으로 대규모 시스템을 개발할 때 주의할 사항과 새로운 개발자 팀원의 적응 방안을 제시한다
프로그래머의뇌 훌륭한프로그래머가알아야할인지과학의모든것
6. 무엇이 이 책을 흥미롭게 만드는가?(3)
프로그래머의뇌 훌륭한프로그래머가알아야할인지과학의모든것
박재호(유튜브 ‘채널 박재호’ 운영자)
항상 프로그램을 빠르고 정확하게 만드는 동료를 옆에서 지켜보며 떠올린 아이디어가 하나 있
었다. “만일 지금 이 순간 모니터로 빨려 들어갈 듯한 저 친구의 머릿속으로 들어가서 어떤 일
이 일어나고 있는지 살펴볼 수 있으면 얼마나 좋을까?” 이번에 출간된 《프로그래머의 뇌》에서
궁금증을 어느 정도 해소할 수 있어 무척 반가웠다.
이 책은 문제 해결 방안과 수단으로서의 코드에 대해 설명한 다음, 좋은 코드를 작성하기 위한
작명법, 코드 스멜을 감지하고 해소하는 방안, 문제 해결을 가속화하는 학습 방법까지 소개한
다. 팀 내 협업, 대규모 시스템 설계 및 개선, 효과적인 적응 지원 방법도 제시하므로 전반적인
개발 문화를 개선하는 과정에도 큰 도움이 될 것으로 기대한다.
7. 대상 독자
프로그래밍할 때 내 머리 속이 어떻게 동작하는지 궁금한 개발자
• 프로그래밍 과정에서 어떻게 하면 더 효율적이고 효과적으로 작업을 진행할 수 있을지 궁금한 분들
• 개인적인 관점에서 생산성을 높이고 싶은 분들
• 팀 관점에서 어떻게 서로 방해하지 않고 코드를 작성하고 다른 팀원이 쉽게 올라탈 수 있게 만드는지 고민하는 분들
• 팀원 교육을 맡아서 머리가 아프신 분들: 도대체 전문가와 초보자가 생각하는 방식은 어떻게 다를까?
• 참고: 본문 중 여러 가지 프로그래밍 언어를 다루고 있지만, 특정 프로그래밍에 익숙해야 한다는 사전 조건은 없음
• 주의: 완전 기초를 다루지 않음 → 어느 정도 실무 경험이 있어야 이 책에서 다루는 미묘한 지점을 이해할 수 있음
프로그래머의뇌 훌륭한프로그래머가알아야할인지과학의모든것
8. 결론
***** 혼란과 인지적으로 압도당하는 느낌은 정상이다. 이는 우리 일상과 학습의 일부일 뿐이다.
• 코딩 과정에서 일어나는 머리 속 상황을 이해하고 있으면, 어려움에 부딪히더라도 평
정심을 유지할 수 있다
• 프로그래밍에 수반되는 인지적인 부하는 피할 수 없지만 이를 완화하는 방법은 분명히
존재한다
• 정보를 습득하고 정리하는 과정에서 최대한 두뇌의 부하를 줄여야 하므로 이를 위한
의식적인 연습이 필요하다
• 팀 내에서 원활한 협업이 중요한 경우 이 책에서 제시하는 현실적인 조언이 큰 도움이
될 것이다
프로그래머의뇌 훌륭한프로그래머가알아야할인지과학의모든것
9. 발표자 소개
기술 배경
전문 검색 엔진, 임베디드 시스템(리눅스 커널 디바이스 드라이버), 빅데이터/인공지능 연구 개발,
고성능 고가용성 데이터베이스
주요활동
IT 전문서 번역 (클린 코드, 피플웨어, 해커: 광기의 랩소디, 게임 엔진 블랙 북 등)
개발강의 (삼성전자, SK C&C, 삼성SDC, 현대자동차 기술 세미나와 교육)
활동채널
블로그: https://jhrogue.blogspot.com
슬라이드 셰어: https://www.slideshare.net/jrogue/presentations
유튜브: https://www.youtube.com/c/박재호dev
문의 jrogue@gmail.com
박재호