단순히 코드를 작성하고 논리에 맞추는 것과 계산하는 것은,
초등학생도 보고 따라서 할수는 있다.
그렇지만 좋은 아이디어를 가지고, 문제 해결 능력을 갖추는 것은 누구나 할 수 있는 일이 아니다.
코드와 문법에만 얽매이지 말자.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
소프트웨어 개발에 반짝이는 창의성을 더하다
프로그래밍은 작곡이나 비즈니스 창업 또는 마케팅 캠페인 기획과 마찬가지로 창의적인 행위입니다. 여러 기술이나 능력이 그렇듯 창의성도 연습을 통해 익히고 개선할 수 있습니다. 이 책은 창의성을 활용해 더 효과적인 문제 해결, 더 높은 생산성, 더 좋은 소프트웨어로 전환하는 실용적인 방법을 상세히 설명합니다.
소프트웨어 엔지니어링과 관련한 창의성의 7가지 측면인 기술 지식, 커뮤니케이션, 제약 조건, 비판적 사고, 호기심, 창의적 마인드셋, 창의적 기법을 차례로 살펴봅니다. 이 책을 다 읽고 나면 다른 분야에서 창의성과 관련해 발견한 통찰력을 소프트웨어 개발에도 적용할 수 있습니다. 다채로운 연습 문제는 각 장의 핵심을 짚어주고 배운 내용을 더 명확하게 이해할 수 있도록 합니다. 특히 독창적인 프로그래밍 문제 해결 테스트는 여러분이 프로그래밍을 할 때 얼마나 창의적으로 문제를 해결하는지 평가하는 데 도움을 줍니다.
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 수석 컨설턴트