메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

크리에이티브 프로그래머

프로그래밍에 창의성을 더하는 7가지 사고력

한빛미디어

번역서

판매중

  • 저자 : 바우테르 흐루네벨트
  • 번역 : 차건회
  • 출간 : 2023-08-28
  • 페이지 : 316 쪽
  • ISBN : 9791169211369
  • 물류코드 :11136
  • 초급 초중급 중급 중고급 고급
4.8점 (33명)
좋아요 : 44

소프트웨어 개발에 반짝이는 창의성을 더하다

 

 

프로그래밍은 작곡이나 비즈니스 창업 또는 마케팅 캠페인 기획과 마찬가지로 창의적인 행위입니다. 여러 기술이나 능력이 그렇듯 창의성도 연습을 통해 익히고 개선할 수 있습니다. 이 책은 창의성을 활용해 더 효과적인 문제 해결, 더 높은 생산성, 더 좋은 소프트웨어로 전환하는 실용적인 방법을 상세히 설명합니다. 

 

소프트웨어 엔지니어링과 관련한 창의성의 7가지 측면인 기술 지식, 커뮤니케이션, 제약 조건, 비판적 사고, 호기심, 창의적 마인드셋, 창의적 기법을 차례로 살펴봅니다. 이 책을 다 읽고 나면 다른 분야에서 창의성과 관련해 발견한 통찰력을 소프트웨어 개발에도 적용할 수 있습니다. 다채로운 연습 문제는 각 장의 핵심을 짚어주고 배운 내용을 더 명확하게 이해할 수 있도록 합니다. 특히 독창적인 프로그래밍 문제 해결 테스트는 여러분이 프로그래밍을 할 때 얼마나 창의적으로 문제를 해결하는지 평가하는 데 도움을 줍니다.

 

 

 

 

 

크리에이티브(700).jpg

바우테르 흐루네벨트 저자

바우테르 흐루네벨트

소프트웨어 엔지니어이자 컴퓨터 과학 교육 연구자, 전문 제빵사다. 사람들에게 영감을 주고 가르치는 일에 열정을 쏟으며 11년간 엔터프라이즈 소프트웨어 엔지니어로 일했다. 몇 년의 경험을 쌓은 후 교육, 코칭, 온보딩에 참여했다. 많은 소프트웨어 프로젝트가 실패하는 걸 목격하면서 그는 이런 질문을 하게 된다. 과연 무엇이 좋은 소프트웨어 엔지니어를 만드는가? 이 질문은 결국 2018년 회사를 그만두고 학계로 다시 합류하는 계기가 되었다. 이후 소프트웨어 엔지니어링 분야에서 비기술적 기술에 대한 연구를 수행했다. 이 주제에 관한 그의 저술은 광범위하다. 그의 학술 논문 목록은 https://brainbaking.com/works/papers(모든 논문은 오픈액세스)에서 확인할 수 있다. https://brainbaking.com에서 블로그를 운영하고 있다.

차건회 역자

차건회

현재 미국 로스앤젤레스의 Shell Recharge Solutions에서 자바 백엔드 테크 리드로 일하고 있다. 자바, 스프링 부트, 메시지 큐, 일래스틱서치, 레디스 등 자바 백엔드의 전반적인 기술 스택 및 성능 향상에 관심이 있다. 옮긴 책으로는 『프로그래머의 뇌』, 『좋은 코드, 나쁜 코드』, 『몽고디비 인 액션』(이상 제이펍)이 있다.

CHAPTER 1 창의성을 향한 여정

_1.1 창의성이란 정확히 무엇일까?

_1.2 왜 창의성일까?

_1.3 다양한 수준의 창의성

_1.4 더 창의적이 되기 위한 로드맵

_1.5 이 책의 구조

 

CHAPTER 2 기술 지식

_2.1 입력이 없으면 창의적인 결과물도 없다

_2.2 지식 수집하기

_2.3 지식 내면화

_2.4 지식을 행동으로 옮기기

_2.5 워크플로 예시

_2.6 요약

 

CHAPTER 3 커뮤니케이션

_3.1 협업 팀워크

_3.2 집단 지리학

_3.3 시간 내 창의적인 작업

_3.4 창의적인 흐름이 방해받을 때

_3.5 요약

 

CHAPTER 4 제약 조건

_4.1 제약 기반 사고

_4.2 내재적 제약 조건

_4.3 부과적 제약 조건

_4.4 스스로 부과한 제약 조건

_4.5 스위트 스폿 찾기

_4.6 실제 제약 조건으로 작업하기

_4.7 요약

 

CHAPTER 5 비판적 사고

_5.1 창의적인 비판적 사고

_5.2 창의적인 프로세스

_5.3 창의성은 목표가 아닌 수단

_5.4 일반적인 비판적 사고 오류

_5.5 지나친 자기비판

_5.6 타인의 비판적 사고가 중요한 이유

_5.7 요약

 

CHAPTER 6 호기심

_6.1 호기심은 창의력의 원동력

_6.2 커져 가는 호기심과 방랑벽

_6.3 호기심에 대한 끈기 유지하기

_6.4 호기심에서 동기 부여까지

_6.5 다중 잠재력

_6.6 우연한 발견

_6.7 재미에 대해

_6.8 요약

 

CHAPTER 7 창의적 마인드셋

_7.1 올바른 창의적 분위기 만들기

_7.2 딥 워크의 흐름

_7.3 인터럽트!

_7.4 창의적인 통찰력 도출

_7.5 기업의 창의적인 마음가짐

_7.6 요약

 

CHAPTER 8 창의적 기법

_8.1 창의적인 도구 상자 채우기

_8.2 선택: 아티스트의 도구 상자

_8.3 선택: 작가의 도구 상자

_8.4 선택: 프로그래머의 도구 상자

_8.5 요약

 

CHAPTER 9 창의성에 대한 마지막 생각

_9.1 누구나 창의적일 수 있다는 것을 기억하세요

_9.2 진화하는 창의성의 관점

_9.3 창의적이지 않아야 할 때

_9.4 더 읽어 보기

 

찾아보기

프로그래밍에 창의성을 더하는 7가지 사고력

 

제목에서 알 수 있듯이 『크리에이티브 프로그래머』는 창의력을 발휘하여 문제 해결 능력을 높이고자 하는 모든 수준의 프로그래머를 위한 책입니다. 이 책을 구입함으로써 여러분은 이미 창의적인 잠재력의 가장 중요한 부분, 즉 ‘새로운 것을 배우고자 하는 호기심’의 문을 연 셈입니다! 앞으로 이어지는 장에서 그 호기심을 계속 이어갈 충분한 정보를 얻을 수 있기를 바랍니다.

 

이 책은 특정 프로그래밍 언어나 기술에 대한 사전 지식이 필요하지 않습니다. 대신 인지 심리학의 세계로 깊이 들어가 창의적인 프로그래머가 된다는 게 무엇을 의미하는지 알아볼 것입니다. 이전에 프로그래밍을 해본 적이 있다면 책의 내용을 이해하는 데 도움이 되겠지만 필수 요건은 아닙니다. 이 책에 수록한 몇몇 짧은 코드 예제는 특정 언어로 작성되지 않았으며 어디까지나 창의적 개념에 대한 용례로 사용되므로, 광범위한 프로그래밍 언어나 디자인 패턴 지식이 필요하지 않습니다.

 

창의성에 대한 이러한 접근 방식은 기술 분야에 종사하는 비개발자에게도 충분히 매력적일 수 있습니다. 기술 분석가라면 새로 알게 된 개념을 통해 많은 도움을 받을 수 있으며, 엔지니어링 관리자라면 팀을 더 창의적으로 잘 지원하는 방법을 배울 수 있습니다. 약간의 노력만 기울인다면 대부분의 기법은 다른 영역에도 얼마든지 적용할 수 있습니다. 이 책을 읽다 보면 실제로 관련 사례를 찾아볼 수 있을 것입니다.

- 서문 ‘이 책에 대하여’ 중에서

* 대상 독자

  • 슬기로운 프로그래밍 생활을 원하는 모든 개발자
  • 센스 있고 창의적인 개발자가 되고자 하는 모든 개발자 지망생
  • 프로그래밍에 관심 있는 누구나

* 주요 내용

  • 창의성에 관한 과학적 이해
  • 창의성을 프로그래밍으로 전환하는 방법
  • 창의적인 개발자가 되는 데 도움이 될 조언과 연습 문제
  • 팀에서 더 효율적으로 작업할 수 있는 혁신적인 커뮤니케이션 기법
  • 복잡한 문제를 다루기 위한 창의적인 문제 해결 기법

* 추천사

흥미로운 역사적 일화와 구체적인 실습 예제뿐만 아니라, 프로그래밍 주제를 넘나들며 더 깊이 읽을 수 있는 논문, 서적, 에세이의 광범위한 참고 문헌이 환상적으로 어우러져 있습니다. 저는 이 책을 읽으면서 저자의 교훈을 즉시 적용하기 위한 수많은 낙서와 메모로 책의 여백을 가득 채웠습니다. 그가 제공하는 연습 문제가 그만큼 매력적이고 고무적이라는 증거입니다!

_ 펠리너 헤르만스, 『프로그래머의 뇌』 저자 겸 암스테르담 자유 대학교 교수

 

아름답게 쓰인, 완벽히 설득력 있는 책입니다. 저자가 글에서 전달하고자 하는 연구와 통찰, 순수한 기쁨에 감명 받았습니다.

_ 다니엘 테르호르스트-노르스, Dan North & Associates 수석 컨설턴트

단순히 코드를 작성하고 논리에 맞추는 것과 계산하는 것은,

초등학생도 보고 따라서 할수는 있다.

그렇지만 좋은 아이디어를 가지고, 문제 해결 능력을 갖추는 것은 누구나 할 수 있는 일이 아니다.

코드와 문법에만 얽매이지 말자.

 

 

 

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

크리에이티브 프로그래머

저자: 바우테르 흐루네벨트

번역: 차건회

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

IT직종에 종사한지 40년째가 되었고, 35년째 강사로 활동하고 있지만 초기에는 개발자로 생활을 하였다.

개발이라는 것이 초기에는 요구자가 원하는 것을 충족할 수 있도록 개발하면 되었지만 현재는 다르다.

사용자들의 요구사항이 다르기 때문에 개발자로서 어려움이 참으로 많다.

본 책은 제목에 나와 있듯이 창의성을 더하는 방법을 설명하고 있다.

창의적 기법, 커뮤니케이션, 기술지식, 제약 조건 비판적 사고, 창의적 마인드셋, 호기심 등 7가지 항목을 기반으로 사고력을 증진시킬 수 있도록 설명하고 있다.

본 책자의 표지그림에 모든 것이 나와 있다.

이러한 책자가 과거에도 있었다면 얼마나 좋았을까 하는 아쉬움을 갖게 해주고 있다.

특히 저자에게 감사함을 표하고 싶다.

 

창의성을 검색하면 다음과 같은 내용이 나온다.

창의성(創意性, 문화어: 창발성, 영어: creativity)은 새로운 생각이나 개념을 발견하거나 기존에 있던 생각이나 개념들을 조합하여 새로이 생각해내는 특성이다. 창조성(創造性)이라고도 하며 이에 관한 능력을 창의력(創意力), 창조력(創造力)이라고 한다. 창조력은 의식적이거나 무의식적인 통찰에 힘입어 발휘된다. 창의력에 대한 다른 개념은 '이을 수 없는 점을 잇는 것'이다.

 

과학적인 관점에서 보면, 창조적인 사유의 결과물은 항상 독창성과 "함께" 적합성을 지닌 것이다. 창의성과 창의적인 행동들은 심리학, 인지과학, 교육, 철학 (특별히 과학 철학), 신학, 사회학, 언어학, 경영학, 경제학 등의 여러 학문 분야에서 연구되어왔다. 그 결과로 창의성에 대한 여러 정의와 접근 방식이 생겨났다.

- 위키백과-

 

실로 복잡하다.

창의성이란 새로운 것을 창조하는 것, 세상에 없는 무엇인가를 새로 만들어내는 것이라고 표현할 수 있다.

이때 어떻게 만들어내냐 하는 것이 중요하겠다.

프로그램도 마찬가지다. 사용자들이 편리하도록 유용하게 사용할 수 있도록 만드는 것이 중요하다.

초보 개발자에게도 기존의 개발자들에게도 아주 유용한 내용으로 수록되어 있는 본 책자를 적극 권하고 싶다.

저자: 바우테르 흐루네벨트

번역: 차건회

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

IT직종에 종사한지 40년째가 되었고, 35년째 강사로 활동하고 있지만 초기에는 개ㅁ발자로 생활을 하였다.

개발이라는 것이 초기에는 요구자가 원하는 것을 충족할 수 있도록 개발하면 되었지만 현재는 다르다.

사용자들의 요구사항이 다르기 때문에 개발자로서 어려움이 참으로 많다.

본 책은 제목에 나와 있듯이 창의성을 더하는 방법을 설명하고 있다.

창의적 기법, 커뮤니케이션, 기술지식, 제약 조건 비판적 사고, 창의적 마인드셋, 호기심 등 7가지 항목을 기반으로 사고력을 증진시킬 수 있도록 설명하고 있다.

본 책자의 표지그림에 모든 것이 나와 있다.

이러한 책자가 과거에도 있었다면 얼마나 좋았을까 하는 아쉬움을 갖게 해주고 있다.

특히 저자에게 감사함을 표하고 싶다.

 

창의성을 검색하면 다음과 같은 내용이 나온다.

창의성(創意性, 문화어: 창발성, 영어: creativity)은 새로운 생각이나 개념을 발견하거나 기존에 있던 생각이나 개념들을 조합하여 새로이 생각해내는 특성이다. 창조성(創造性)이라고도 하며 이에 관한 능력을 창의력(創意力), 창조력(創造力)이라고 한다. 창조력은 의식적이거나 무의식적인 통찰에 힘입어 발휘된다. 창의력에 대한 다른 개념은 '이을 수 없는 점을 잇는 것'이다.

 

과학적인 관점에서 보면, 창조적인 사유의 결과물은 항상 독창성과 "함께" 적합성을 지닌 것이다. 창의성과 창의적인 행동들은 심리학, 인지과학, 교육, 철학 (특별히 과학 철학), 신학, 사회학, 언어학, 경영학, 경제학 등의 여러 학문 분야에서 연구되어왔다. 그 결과로 창의성에 대한 여러 정의와 접근 방식이 생겨났다.

- 위키백과-

 

실로 복잡하다.

창의성이란 새로운 것을 창조하는 것, 세상에 없는 무엇인가를 새로 만들어내는 것이라고 표현할 수 있다.

이때 어떻게 만들어내냐 하는 것이 중요하겠다.

프로그램도 마찬가지다. 사용자들이 편리하도록 유용하게 사용할 수 있도록 만드는 것이 중요하다.

초보 개발자에게도 기존의 개발자들에게도 아주 유용한 내용으로 수록되어 있는 본 책자를 적극 권하고 싶다.

 

창조성의 정의부터 어떻게 하면 창조성을 키울 수 있는 지 다양한 방법을 알려주는 책이었다.

7가지 사고력(기술 지식, 커뮤니케이션, 제약 조건, 창의적 기법, 창의적 마인드셋, 비판적 사고, 호기심)으로 프로그래밍의 창조성을 키울 수 있다고 저자는 주장한다.

<크리에티브 프로그래머>를 읽어서, 고인물이 되지 않기 위해 노력해야겠다. 

 

 

창의성을 다룬 책 답게 창의성의 정의를 창의적이지 않은 방법으로 기술하지 않아 간만에 창의적으로 창의성을 생각해 볼 수 있어 뜻 깊은 시간이었다.

프로그래머가 창의성을 키우는 방법과 창의성을 기술에 적용하는 방법을 다룬 책이다. 창의성 주제를 다룬 책 답게 이 책의 가장 마지막 페이지에는 저자가 본 도서를 요약한 마인드 맵이 수록되어있는데 이 책을 한 눈에 바라볼 수 있는 방법이기도 하다.마인드맵

마인드 맵이라는 것이 사람의 신경망의 구조와 닮은 부분이 많아 이해하기 쉽다. 그림에서 보듯 이 책에는 창의적 프로그래머에게 필요한 7가지의 큰 그림이 있다.

시계 방향으로 바라보면 크게 기술 지식, 제약 조건, 비판적 사고, 호기심, 창의적 마인드셋, 커뮤니케이션, 창의적 기법 등의 7가지 주제로 이뤄져있다는 것을 예상할 수 있다.

개인적으로는 이 책을 읽기 전에 이 마인드 맵을 먼저 읽기를 권하고 싶다. 최대한 저자가 어떤 주제를 이야기 하려는 것인지, 7가지 주제에 세부적으로 그려져 있는 메시지들은 무엇을 말하고자 하는 것인지 독자 스스로 그간의 경험을 바탕으로 최대한 유추해보고 시간을 들여 고민도 해 본 후 책을 읽어나간다면 더 재미있게 읽을 수 있을 뿐만 아니라 저자가 던지는 메시지의 본질을 더 잘 캐치해 낼 수 있을거라 생각한다.

그리고 난 후 스스로의 경험과 융합하여 7가지의 동그라미를 파괴도 해보고 재구성도 해보고 연결고리를 바꾸는 작업도 유의미할 것 같다. 그간 유사한 도서를 많이 읽고 개인적인 경험으로 정리해 본 바 인간의 뇌는 한 방향으로 깊이있게 뻗어나가는데는 특화되어있지만 첫 출발점이 되는 7가지 동그라미를 즉각적으로 떠올리는 데에는 다소 취약한 것 같다.

하지만 그 취약한 부분은 인간 누구에게나 갖고 있는 맹점이 되기 때문에 이를 어떻게 재구성하는지에 따라 그동안 보지 못한 독창적인 솔루션이 될 수도 있고 그런 부분에서 또 한가닥의 창의성을 얻을 수 있지 않을까?

말미에는 내가 이 책을 읽고 재구성한 나름의 첫번째 동그라미도 소개하겠지만 리뷰 취지에 맞게 간단하게나마 이 책을 소개해볼까 한다. 앞서 소개한 7가지 주제는 사실 서로 연관되어 있는 듯 하다.

책의 구성이라는 제약에 맞게 유사한 주제를 헤쳐모여 한것이기에 굳이 순서대로 읽을 필요도 없고 눈에 띄거나 읽고 싶은 부분을 먼저 읽어도 저자가 전달하고자 하는 메시지를 이해하기에는 영향이 없어 보인다.

그렇기에 스스로 생각하는 이 책은 크게 프로그래밍과 관련된 부분과 관련되지 않은 부분 즉, 일반적인 창의성에 관련된 주제로 나눌 수 있을 것 같다.

전자에 해당되는 주제 중 하나는 커뮤니티 스멜과 같은 주제이다. 클린 코드나 실용주의 프로그래머 등 프로그래머들이 고전처럼 취급하는 명저들에 언급되었던 코드 스멜과 유사하지만 그동안 주목을 받지 못했던 주제이기도 하다.

창의성도 결국은 사람들의 모임에 종속될 수 밖에 없기에 커뮤니티를 망하게 만드는 냄새 또한 중요하다. 아래 그림에 잘 정리되어 있지만 성공적인 팀을 빌딩하고 운영해 나가는 데 꽤 중요한 부분이다.커뮤니티스멜

또한 본 도서의 메인 주제는 아니지만 프로세싱 언어에서 파생되어 나온 P5도 눈여겨 읽은 부분이다. 프로세싱은 주류 언어는 아니지만 마치 프로그램 언어와 비 프로그래밍 도구 어느 중간에 위치한 표현력 좋은 도구이다.P5

이 언어나 도구를 사용하는 각기 다른 나름의 목적이 존재하겠지만 나의 경우는 창의성을 키우는데 많은 도움을 받았던 도구인데 이 책에도 소개되어있어 사실 조금 놀랐다.

생각을 시각화 하다보면 스스로의 생각에 갇힌 틀과 실제로 구현된 세계간에 생각보다 큰 갭이 존재한다는 것을 깨달으며 놀라곤 했기 때문이다. Nature of Code라는 책에서 프로세싱 언어를 처음 접하고 심심할 때마다 즐기곤 했는데 이 책에도 같은 생각이 담겨있어 꽤 반가웠다.

이 책은 창의성 주제를 다룬 책 답게 창의성을 정의하는데 집중하거나 다른 창의성들을 모아놓은 창의적이지 않은 방법으로 창의성을 기술하지 않는다는 점이 가장 마음에 드는 부분이다.

읽다보면 다소 두서나 체계가 없다는 느낌을 자주 받을 수 있는데 정말 다양한 각도에서 창의성의 본질을 설명하고자 노력한 것 같아 만족스러웠다. 잠시 책을 접어두고 저자가 언급한 주제를 정리하고 생각하다보면 내가 지금 어떤 주제에 소속되어있는지 감을 잡기 힘들 정도로 나를 이쪽 세계에 빠드렸다가 저 쪽 세계에 빠뜨리곤 한다.

창의성과 대우 문제 문제도 흥미롭다. 창의성이 좋으면 한번에 혹은 쉽게 눈에 들어오지 않는 업계의 본질도 드러나기 마련이다. 아래 그림에 보상받지 못하는 지식이 특히 그런 부분이다. 내가 남보다 대단하다고 생각함에도 왜 인정받지 못하는지에 대한 질문에 이 그림보다 완벽한 설명이 있을까?과잉자격

그런가 하면 창의성이 주제인만큼 프로그래밍과는 크게 관련없어 보이는 창의성 본연의 성질에 대한 고찰도 다양하게 담겨있다. 스스로의 지식을 어떻게 표현하고 정리할 수 있을지 그 체계를 담아내기 위한 고찰도 그런 분이다.지식체계

인간의 뇌의 기가막힌 기능 중 하나도 망각이기에 결국 망각을 저장하고 다시 불러오는 부분에 대한 고찰도 중요하다. 개인적으로도 그 IO 과정에서 지식의 표현 형태는 변경되기에 그 사이에 손실이나 잡음 증폭이 존재할거라 생각해왔는데 그 부분에 대한 학계의 깊은 연구가 쉽게 요약정리 되어있어 매우 만족스럽게 읽은 부분이기도 하다.

가끔 머리를 식혀주는 퀴즈들이 등장하는 것도 재미있는 부분이다. 읽다보면 다른 프로그래밍 도서는 내가 읽고 있는 현재의 위치를 파악하는 것이 중요할 때가 많은 데 이 책은 다른 프로그래밍 도서와는 달리 지금 내가 어디에 위치하고 있는지 파악하기 어렵다. 대신 정신없는 만큼 재미는 있다.퀴즈

아무튼 책 소개를 위해 프로그래밍에 관련된 주제와 그렇지 않은 주제로 나눠 인상적이었던 주제를 몇가지 소개했지만 결론은 창의성이라는 주제에 대해 오오트 구름처럼 불투명해 보일지라도 감으로나마 정리는 해두면 좋겠다는 생각이다.

개인적으로 고찰해 온 것들과 경험에서 비롯된 것들 그리고 이 책을 읽으며 떠올렸던 내용들을 종합하여 창의성에 도움이 되는 몇가지 방법을 간략히 정리해보며 리뷰를 마친다.

  • Min-Max 어떤 일이든 어떤 사고든 미래에 대한 예측이든 그 바운더리 즉, Min - Max가 어디인지 그 끝을 쫓아보는 것이 좋다. 이 책에 등장하는 제약이라는 주제도 비슷한 맥락이다.

  • 절대 위치와 상대위치 객체의 위치를 파악하려고만 하지 말고 주체 혹은 관찰자의 위치를 바꿔보는 것이 문제나 현상의 본질을 이해하는 데 큰 도움이 된다. 폴 세잔의 사과처럼 다양한 시각에서 대상을 바라보고자 노력한다면 남들이 보지 못하는 본질을 얻을 수 있다.

  • 추상과 구체 어떤 현상이나 물체의 본질을 알고 싶다면 매우 추상적인 관점에서 바라볼 필요도 있고 혹은 반대로 매우 미시적인 관점에서 바라볼 필요도 있다. 멀리서 본 전깃줄은 1차원이지만 가까이서 본 전깃줄은 3차원이다. 우주의 세계와 양자의 세계는 닮았다. 비슷한 법칙이 작용하면서 동시에 상반된 법칙이 공존한다.


한 줄 요약 : 《크리에이티브 프로그래머》를 읽고, 연습하며 갇힌 사고에서 벗어나자



 

어느 한 분야에서 일정 기간 이상 반복되는 경험을 하다보면 생각과 행동이 굳어진다.

내 경험에서 대표적인 예는 Java 같은 개발 언어, 스프링 프레임워크 같은 기술 스택만을 사용하는 것이다.

직접 알고리즘을 개발/구현해야하는 상황을 만나면 긴장한다.

어떤 예외 상황을 만나게 될지 알 수 없기 때문이다.


낯선 업무라고 해도 진행하다보면 업무 루틴이 만들어지고 그 후엔 쳇바퀴 도는 삶을 사는 느낌을 받았다.

이런 갇힌 생각에서 탈출해야한다고 생각이 들던 차에 《크리에이티브 프로그래머》를 읽어볼 기회가 생겼다.

《크리에이티브 프로그래머》는 소프트웨어 엔지니어링과 관련한 7가지 창의성 측면을 다루고 있다.

  - 기술 지식, 커뮤니케이션, 제약 조건, 비판적 사고, 호기심, 창의적 마인드셋, 창의적 기법


소프트웨어 엔지니어이자 컴퓨터 과학 교육 연구자, 전문 제빵사(!!!)로 일하고 있는 저자 '바우테르 흐루네벨트(Wouter Groeneveld)는 11년간 소프트웨어 엔지니어로 일하던 중 '과연 무엇이 좋은 소프트웨어 엔지니어를 만드는가?'하는 고민을 하게 됐고, 학계에서 연구활동을 하던 중 《크리에이티브 프로그래머》도 저술했다.


이 책은 앞에서 언급한 소프트웨어 엔지니어링과 관련한 '7가지 창의성' 측면을 다루고 있다.

  - 기술 지식, 커뮤니케이션, 제약 조건, 비판적 사고, 호기심, 창의적 마인드셋, 창의적 기법

9개의 장(chapter) 중 창의성 7개 측면 측면이 각 1개의 장으로, 창의성에 대한 소개(1장)과 더 생각해 볼 것(9장)으로 구성되어 있다.

《크리에이티브 프로그래머》는 창의력을 발휘하여 문제 해결 능력을 높이고자 하는 모든 수준의 프로그래머를 위한 책이지다. 하지만 특정 프로그래밍 언어나 기술에 대한 사전 지식이 필요하지 않아서 개발자와 협업하는 모든 사람을 위한 책이기도 하다.

그리고 책 내용 중간중간 'EXERCISE'라는 코너가 있어서 책을 읽으며, 읽고난 후 실천해볼 주제들을 제안해준다. 이 내용도 매우 유용하다.


《크리에이티브 프로그래머》를 읽고 난 후 기억에 남는 장은 2장(기술 지식), 4장(제약과 보상), 5장(비판적 사고), 6장(호기심), 9장(추천도서)이다.


2장(기술 지식)

창의성을 발휘하려면 먼저 입력(input)을 해야 한다.

입력이 없으면 창의적인 결과물도 없다.

그 이유는 입력(기술 지식)이 있어야 그 지식을 바탕으로 생각을 비틀어보면서 창의성을 발휘할 수 있기 때문이다.
다만 쌓아놓고 읽거나, 소화하지 않는 '수집가의 오류(The Collector's Fallacy)'에 빠져서는 안된다.


4장(제약과 보상)

환경이 풍족하기만 하다면 창의성을 발휘하기 힘들다.

더 나은 것을 생각하기보다 풍족한 환경 안에서 답을 찾으려고 하기 때문이다.
한 프로젝트를 오래 진행했더라도 그건 프로젝트에 대한 경험이 쌓였을 뿐 프로젝트를 만들 능력이 있는 것은 아니다.
스스로를 제약해서 창의성을 발휘할 수 있는 환경을 만들고, 충분한 보상을 하며 선순환을 만들자.


5장(비판적 사고)

일상 생활, 업무 중에 쉽게 빠지는 다양한 편향 상황에 대한 소개와 예시가 있다.

소크라테스가 말했듯이 '무엇을 모르고 있는지' 알아야 한다.

이건 소프트웨어 공학에서 공부했던 'PDCA(Plan, Do, Check, Act)'와 일맥상통하는듯하다.

Plan: 계획하고

Do: 행동하고

Check: 부족한 부분을 확인하고

Act: 개선한다.

오른쪽 그림 출처: boardmix


6장(호기심)

이 장에선 창의성을 기르기 위해선 호기심을 가져야 한다고 설명한다.

한 문장으로 '안전지대를 벗어나자'

안전지대를 벗어나 문제상황을 해결하기 위해 호기심을 갖고 다양한 사고를 함으로써 창의성이 자랄 수 있다.

이 장을 읽으면서 생각이 난건 책 《나는 고작 한번 해봤을 뿐이다》가 떠올랐다.

고작 한 번이지만 그 한번을 통해 새로운 영역에 안전지대를 만들 수 있기 때문이다.


9장(창의성에 대한 마지막 생각)

이 장에서 기억에 남는건 '더 읽어 보기'라는 책 추천 코너였다.

그 중 읽어본 책 중 기억에 남는건 한 줄 코멘트를 적어봐야겠다.


《실용주의 사고와 학습》: 《크리에이티브 프로그래머》의 6장, 7장과 주제가 딱 맞는 책

《생각에 관한 생각 프로젝트》: 생각이 생각을 만들며 오류에 빠지는 답답한 상황을 잘 설명해준 책

《모든 것이 되는 법》: '이것도 하고 싶고 저것도 하고 싶어!' 고민이 들 때 읽었던 책. 수많은 생각이 날 때 어떻게 생각을 정리하고 그것을 현실로 만드는지 설명해준 책

《훔쳐라, 아티스트처럼》: 제목이 자극적이어서 읽었던 책. 요약하자면 '생각은 줄이고, 빠르게 실천하고, 거기에 1을 더해 나만의 작품을 만들자'



《크리에이티브 프로그래머》를 읽으며 반복되는 창의성을 일깨울 수 있는 좋은 자극제가 됐다.

작년 이맘때 쯤 잠깐 진행했던 작은 목표를 다시금 시작해봐야겠다는 생각이 든다.



"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
리뷰를 위해 한빛미디어에서 책을 제공받았지만 주관적인 생각을 그대로 적었습니다.


크리에이티브 프로그래머

이번달에 접하게 된 책은 '크리에이티브 프로그래머 라는 제목의 책입니다.

제목부터 프로그래머라면 한번은 읽어보고 싶다는 생각이 들 것 같은데요.

실제로도 책을 읽고 나서도 책을 읽기전에 기대했던 것들을 많이 알게된 느낌입니다.

 

크리에이티브라는 단어의 뜻과 어떻게 하면 창의적인 프로그래머로서 성장할 수 있는지 알려주는 좋은 책입니다.

책은 창의성이 무엇이지에서 부터 이야기를 하면서 시작하고 있습니다.

우리는 일반적으로 크리에이티브한 프로그래머라고 하면 개발을 엄청 잘하고 특별한 개발자라고 생각하지만

실제로 꼭 그렇지는 않다는 내용으로 시작하고 있습니다.


주요 내용은 아래와 같습니다.

- 창의성에 관한 과학적 이해

- 창의성을 프로그래밍으로 전환하는 방법
- 창의적인 개발자가 되는 데 도움이 될 조언과 연습 문제
- 팀에서 더 효율적으로 작업할 수 있는 혁신적인 커뮤니케이션 기법
- 복잡한 문제를 다루기 위한 창의적인 문제 해결 기법


정말 다양한 이야기가 적절한 구성과 함께 어우러져 있어어 재밌는 책을 읽듯이 읽어나갈 수 있었습니다.

또 다양한 연습 문제와 기법들을 통해서 창의성을 더하기 위해 바로 실행할 수 있는 액션 아이템들이 많아서 좋았습니다.

프로그래머에게 모두 추천하고 싶은 책입니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

개발에 있어 필요한 역량은 다양한데요. 그중 '창의성'이 가장 중요한 역량으로 꼽히지 않을까라고 생각해요. 프로그래밍 또한 창의적인 행위의 결과물이라고 볼 수 있는데, 이 창의성은 꼭 타고나는 것만이 답일까요? 사실 전 창의력이 좀 부족한가라고 스스로 그렇게 생각하고 있었는데요. 한빛미디어에서 출판된 <크리에이티브 프로그래머> 도서를 읽고 창의성도 연습을 통해 익히고 개선할 수 있다는 걸 깨달았어요.

 

<크리에이티브 프로그래머> 도서는 창의력을 발휘하여 문제 해결 능력을 높이고자 하는 모든 수준의 프로그래머들을 대상으로 쓰여 있는데요. 그래서 개발자가 아니더라도 이쪽 분야에 관심이 있거나 아니면 공부하는 중인 분들이 읽어봐도 충분히 잘 읽히는 책입니다. 창의적인 개발자가 되는데 필요한 부분의 창의성을 어떻게 향상시키는지 이 책을 통해 배울 수 있었어요.

 

창의성이 정확히 무엇인지부터 시작해서 저자가 알려주고 싶은 개발과 관련한 창의성의 여러 기법들을 참고 자료와 참고 그림 등을 통해 학습할 수 있는 게 이 책의 장점! 창의적이라는 게 뭐지?라고 물으면 제대로 대답하기 쉽지 않은데, 그게 뭔지를 알고 창의성을 어떻게 발휘하는지에 대해 아주 자세히 나와있더라고요.

 

 

각 장의 요약 부분과 중간중간 시도해 볼 수 있는 가이드를 제시해 주는 연습문제가 있어 창의성을 이렇게 연습해서 기르면 되겠구나!를 알 수 있었어요. 내가 창의적인 개발자가 될 수 있을까? 아 나는 창의력이 부족한 것 같아 이게 내 한계인가?라는 걱정들이 있었다면, 개발자로써 더 높은 생산성을 목표로 한다면 꼭 한번 읽어보면 좋은 도서인 것 같습니다.

 

 

** 본 리뷰는 한빛미디어 <나는 리뷰어다> 리뷰어 활동으로 도서만을 제공받아, 리뷰어의 주관적인 견해로 작성된 리뷰입니다. **

 

 



"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

세줄요약

1. 프로그래머로서의 창의성에 대한 정의

2. 창의성을 갖추기 위한 조건: 기술지식, 커뮤니케이션, 제약조건, 비판적사고, 호기심

3. 창의성을 키우기 위한 방법: 창의적마인드셋, 창의적기법

​​

후기

프로그래머란 무엇일까에 대해서 생각하곤 합니다. 개발자?, 코더?, 엔지니어?

그렇다면 훌륭한 프로그래머란 무엇인지도 곰곰히 생각해봅니다.

훌륭한 프로그래머에 대한 정의는 사람마다 달라서 꼭 집어서 무엇이라고 말하기는 힘들 듯 합니다.

다만, 훌륭한 프로그래머가 되기 위한 전제 조건 중 하나가 바로 창의성이라고 생각합니다.

이 책은 프로그래머로서 갖추어야할 창의성에 대하여 정리한 책입니다.

프로그래머로서의 창의성은 무엇인지 정의하고, 창의성을 갖추기 위한 조건 및 방법에 대하여 서술합니다.

프로그래머  출신의 매니저로서 프로그래머를 보곤 하면 매우 다양한 사람들이 보입니다.

- ctrl+C, ctrl+V만 주구장창 하는 사람

- 깊은 지식 없이 시행착오를 겪으면서 개발하는 사람

- 단순히 기능 구현만 하는 사람

오랫동안 다양한 프로그래머를 보면서 느낀 점은...

결국 프로그래머로서 성공하는 사람은 꾸준한 공부, 리팩토링, 그리고 창의성을 가진 사람이더군요.

특히나 어려운 문제에 대한 해결을 위해서 창의력은 필수입니다.

그 창의력을 키우기 위한 책입니다.

한국 사람들은 창의력이 부족합니다. 아니, 창의력이 부족하게 성장해왔습니다.

그렇기에 현업에서 보면 창의력을 가진 프로그래머를 보기 힘듭니다.

프로그래머로서 성장을 원한다면 창의력이 필수라 생각합니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

성장하는 개발자는 뭘까

기술은 결국 능숙해진다. 시간이 해결해줄 것 같다.

그런데 기술적인 측면 외에 개발자가 되고 더 성장하려면 여러 요소가 엄청엄청 중요하다.

 

리드를 해야한다면 리더십

팀원들과의 화합, 소통 문제

여러가지 개발 방법론, 협업 방법론 등등을 받아들이고 이해하기

새로운 기술을 배워야한다면 습득 속도 (러닝커브를 극복하는 시간)

등등 너무 많다. 하다못해 몸관리도, 말하는 방법도 어떤 일을 하든 중요한 일이지 않나

 

그 안에서도 가장 모호한 개념이 있다.

'문제 해결력'

난 이게 너무 모호하다고 생각한다. 너무 중요한 요소이고 사실 어렴풋하게 알고 있다.

알고리즘 문제를 기깔나게 풀면 문제해결력이 좋은 것 같다.

개발을 할 때 정해진 정답(예를 들면 게시판)이 아니라 다른 부분을 기깔나게 해결하면 문제해결력이 좋은 것 같다.

생각지도 못한 문제를 발견했을 때 어떻게든 해결해낸다면 문제해결력이 좋은 것 같다.

의외로 이 답은 '창의력'에 있는 것 같다.

 

창의력이 뭘까

많은 개발자 채용글에서 '창의적인', '문제해결력' 어쩌고 저쩌고 하는 글을 보게 된다.

그래서 창의적이다라는 말이 뭘까.

 

창의적이다 라는 말은 수백가지 정의를 갖고 있다고 한다.

그렇지만 저자가 생각하는 '적당한' 창의적이다는 말의 정의는 "다른 사람이 그 것을 보고 창의적이다라고 생각한다면 창의적인 것" 이다.

사회적인 것이다. 내가 아무리 나 혼자서 엄청난 것을 발견했고 발명했다고 생각할지라도 다른 사람들이 인정해야한다. 내가 아니라 주변 사람이, 조직에서, 분야에서 창의적이라고 한다면 창의적인 것이다.

그리고 상대적이라고 볼 수 있다. 우리팀에서 완전 창의적이라 생각한 무언가가 이미 다른 어딘가에서도 하고 있거나 식상한 것일 수 있는 것이다.

 

그리고 이 책에서는 7가지 챕터로 창의력을 끌어올리려면 어떻게 해야하는 지 알려준다.

창의력은 기술처럼 성장가능하다. (눈물)

 

창의적인 사람이 되기 위해 필요한 고려사항

창의적인 사람이 되려면 고려해야하는 것으로 7가지가 있다.

 

기술지식

커뮤니케이션 (협업)

제약조건

비판적 사고

호기심

창의적 마인드셋

창의적 기법

그 중에서 몇가지만 내가 느낀 점을 작성하고 서평을 마무리하겠다.

 

기술지식

입력이 없으면 창의적인 결과물은 없다.

잊지 않으려면 배운 지식을 어딘가에 기록해야한다.

그리고 그저 공부를 하고 어딘가에 쌓아놓는 것이 아니라 '검색'이 가능한 '시스템'을 구축해야한다.

이 책에서는 정원가꾸기로 비유를 한다.

정원은 나무 심기로 끝나지않고 새롭게 추가되고 가지치기도 하고 죽은 것은 없앤다.

임시적인 메모, 써놓고 덮어놓는 노트가 아니라 끊임없이 들춰보고 업데이트하는 정원이다.

 

나는 요즘에 옵시디언이라는 노트 앱을 활용하고 있다. 체계적으로 공부한 내용을 기록하는 것은 노션이든 메모장이든 가능하다.

옵시디언의 장점은 '그래프' 인 것 같고 자주 그래프뷰로 보게된다. 노트를 종종 다시 들춰보다보면 다른 연결고리가 보일 때도 있고, 수정하는 부분, 제거하는 부분이 생긴다. 꾸준한 가드닝이 아닐까

 

커뮤니케이션, 비판적 사고

협업. 창의성은 개인이 단독적으로 만들어내는 것이 아니라 아이디어를 다같이 다듬는 사회적인 과정이다. 다듬기 위해서는 타인의 피드백이 필요하다.

 

그리고 아이디어를 떠올린 이후에 아이디어를 덜어내고, 다시 생각하고, 다듬는 데에 비판적 사고가 필요하다.

 

지식을 통해 발산했다면 모든 사람들과 비판적 사고를 다 마쳐서 수렴을 해야한다. 실행하기 위해선 수렴을 해야한다.

 

후기

그 밖에도 여러 가지 너무 좋은 얘기가 많다.

 

문제를 해결하기 전에 있는 제약조건이 오히려 창의성을 촉발한다는 것이나 사람의 호기심이 창의성까지 가는 좋은 동기가 된다라는 것도 알 수 있다.

 

창의적인 마인드셋을 통해 아하 모멘트를 늘리는 방법, 창의적인 결과물을 만들기 위한 여러가지 기법들 등 실용적인 내용까지도 알차게 있다.

 

창의적인 사람이 되면 좋다는 것을 누가 모르겠나 싶다. 그런데 개발자라면 어떻게 해야 창의적인 사람이 되는 지, 내 지식은 어떻게 쌓고, 관리하고, 어떻게 꺼낼 것인지 알 수 있었다.

 

얼마전 까지는 책을 읽으면 그저 읽기에 바빴다. 휘발되고 어딘가에 기록하고 끝나는 일이 많았다. 그런데 요즘등어 책을 읽을 때는 그래서 이 책에서 어떤 것을 뽑아서 나에게 적용할 지에 대해 고민하게 된다. 책을 읽은 시간이 그냥 놀아서 얻는 재미보다 알차야한다는 생각 때문이다. 그 의미에서 이 책은 어떻게 하면 내가 공부한 내용을 유지할 수 있는지도 알려주고 여러가지 개발을 할 때 적용할만한 내용이 많기에 너무 좋은 책이라고 느꼈다.

개발하면서 가장 고민이 되는 순간들이 많이 있습니다. 나은 개발자로 발전하기 위해서 하드 스킬, 소프트 스킬 어느 부분을 보강해야 하는 항상 고민합니다.

 

이번에 소개할 크리에이티브 프로그래머 책은 소프트웨어 엔지니어뿐만 아니라 어떤 일을 해결하고자 하는 모든 사람에게 창의성에 관한 새로운 시각에 대해서 알려줍니다. 제목에서 있듯이, 소프트웨어 개발과 관련 있는 독자라면 매우 즐겁게 읽을 있는 책입니다.

 

크리에이티브 프로그래머는 7가지의 서로 다르지만, 밀접히 얽혀 있는 주제를 다룹니다. 책에서 설명하는 개념이 창의적 사고의 시각점으로 있으며, 계속해서 유용한 지침으로 있습니다.

 

1장은 창의성을 향한 길잡이 역할로 현재 우리가 알고 있는 창의성이라는 용어가 많은 의미와 혼란스러울 있는 점을 감안해서 창의성이란 단어의 기원과 의미, 창의성을 측정하는 방법을 논의합니다.

 

창의적이란 단어를 가장 설명한 글은 어떤 것을 보고 다른 사람이 창의적이라고 말한다면 그것이 창의적이라고 합니다. 창의성은 사회적 판단인데요. 프로그래밍 노력이 창의적인 노력이 창의적인 결과물로 이어졌는지 자신이 결정하는 아닌 주의 동료, 사용자가 결정하는 것입니다.

 

창의성은 사회문화적 현상 때문에 자신의 결과물이 창의적이라고 스스로 결정할 없다는 점입니다. 1장에서는 창의성 의미에 대해 더불어 창의적인 개발자로 살아야 하는 주된 이유, 창의적 프로그래머의 일곱 가지 테마, 창의적 프로그래밍 문제 해결 테스트(CPPST) 등에 대해서 알아볼 있습니다.

 

각각의 장에서부터 창의성과 관련한 핵심 주제인 기술 지식, 커뮤니케이션, 제약조건, 비판적 사고, 호기심, 창의적 마인드셋, 창의적 기법에 대해 심도 있게 살펴봅니다. 주제만 보아도 있듯이 주제별로 서로 밀접하게 연결되어 있는데요. 중요한 맥락을 놓치지 않는다면 원하는 주제별로 자유롭게 읽어도 무방하다고 생각합니다.

 

마지막 9장은 코딩의 맥락에서 창의성에 대한 내용을 정리하고 있습니다. 프로그래머로서 일상 업무에 통합하는 도움이 만한 가지 생각들이 정리되어 있습니다. 그리고 전에 장에서 주제별로 내용에 대한 도움이 도서까지 추천하고 있습니다.

 

또한, 주제별로 생각할 기회를 제공하는 연습문제가 곳곳에 등장합니다. 어떤 문제들을 쉽게 실행할 있지만, 다른 문제들은 많이 생각하거나 휴식을 충분히 취한 문제에 도전하시길 바랍니다. 책의 많은 예제는 소프트웨어 개발에 기반한 내용이지만, 창의성에 관한 저자의 설명은 심리학, 사회학 학문의 제반 분야에서 깊이 있게 연구된 학술적 내용에 기반하는 만큼 일반적인 영역에도 적용될 있습니다.

 

 

크리에이티브 프로그래머 책을 읽다 보면 우리가 알고 있던 창의성은 잘못된 선입견을 품고 있다고 느낄 있는데요. 창의성은 타고나는 , 지식보단 지혜에 가깝다고 생각한 적이 있습니다. 그로 인해 창의성을 배우고 접하는 도전하지 못하는 분이 많을 거라고 예상합니다. 이상 선입견 없이 창의성을 제대로 바라볼 잇는 크리에이티브 프로그래머를 추천합니다.

 

새로운 것을 배우고자 하는 호기심이 듬뿍 있는 독자분, 소프트웨어 프로그래밍 혹은 IT 전반에 관해 관심이 있거나 이제 코딩을 시작하는 코린이, 개발자와 협업하는 모든 분에게 도움이 것입니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


이 책의 부제는 ‘프로그래밍에 창의성을 더하는 7가지 사고’이다.
창의성이라는 것이 단순히 지식을 주입해서는 기르기 힘든 것이기에 어떠한 방식으로 내용이 구성되어 있을지 궁금했다.
단순히 개발적인 지식을 알려주는 책이 아니어서 더욱 더 저자의 의견에 동의할 수 있는 책이라고 생각이 드는 가운데에서도 특히 소개되는 책들의 상당 수가 이미 인상 깊게 읽은 책들이어서 신기했다.
소프트웨어 엔지니어는 반복적인 작업을 자동화로 편리하게 변경하고, 새로운 것을 아무 것도 없던 상태에서 만들고, 그것을 개선한다.
이런 과정에서 창의성은 필수적이며, 그것이 하루 아침에 쌓을 수 있는 능력은 아니다.
이 책에서는 다양한 예시, 책, 작가의 소개가 이루어진다.
그리고 그것은 모두 창의적 사고와 연결되어 있다.
예를 들어 4장을 키젠을 이야기하면서 창의성을 이끌어내는 방법을, 5장에서는 그럼에도 창의성은 목표가 아닌 수단이라고 이야기한다. 왜 이러한 제목이 붙었는지는 책을 읽으면 알 수 있다.
또한 ‘프로그래머의 뇌’, ‘실용주의 프로그래머’, ‘아티스트 웨이’, ‘그릿’ 등 흥미로운 책과 함께 창의성을 키워나갈 수 있는 현실적인 방법을 알려준다.
‘딥워크’, ‘ 쓰기의 감각’ 등에서 본 문장들 역시 등장하면서 반가움과 함께 책이 전달하고자 하는 바에 대해 더욱 확실하게 느낄 수 있었다.
책의 6장에 보면 ‘최고의 창의적인 프로그래머는 다재다능한 인재’라는 말이 등장하는데 정말 공감한다.
내가 앞으로 맡게 될 일에 대해 온전히 정확하게 예측한다는 것은 불가능하기에 다양한 것들을 할 수 있을 준비가 되어 있어야 하고, 이런 과정에 있어 창의력은 큰 힘이 된다.
물론 이에 겁을 먹고 어떠한 준비도 시작하지 못할 바에야 220쪽에 나오는 것처럼 그냥 토끼굴로 내려가면 된다.
이 책은 개발 관련 카테고리에 분류되어 있지만, 실질적으로 코드를 다루는 부분은 많지 않다.
그 대신 코드를 다루는 것 이상으로 어떻게 아이디어를 구현하는 코드를 구상할 수 있을지에 대해 알려주어서 더욱 흥미롭게 다가왔다.
다시 한번 읽으며 이 책과 함께 나의 창의성을 조금씩 늘려나가고, 더 멋진 사람이 되고 싶게 하는 책이다.
온전히 내용을 다 읽을수록 이 책의 진가를 발견할 수 있을 것이다.
***
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.