Programming is a creative act. These techniques will help you maximize the power of creativity to improve your software and your satisfaction in creating it.
In The Creative Programmer you’ll
In The Creative Programmer you’ll learn the processes and habits of highly creative individuals and discover how you can build creativity into your programming practice. This fascinating new book introduces the seven domains of creative problem solving and teaches practical techniques that apply those principles to software development.
Hand-drawn illustrations, reflective thought experiments, and brain-tickling example problems help you get your creative juices flowing—you’ll even be able to track your progress against a scientifically validated Creative Programming Problem Solving Test. Before you know it, you’ll be thinking up new and novel ways to tackle the big challenges of your projects.
Foreword by Dr. Felienne Hermans.
Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.
About the Technology
Like composing music, starting a business, or designing a marketing campaign, programming is a creative activity. And just like technical skills, creativity can be learned and improved with practice! This thought-provoking book details practical methods to turn creativity into more effective problem solving, higher productivity, and better software.
About the Book
The Creative Programmer explores seven dimensions of creativity in software engineering—technical knowledge, collaboration, constraints, critical thinking, curiosity, a creative state of mind, and creative techniques. As you read, you’ll apply insights about creativity from other disciplines to the challenges of software development. Numerous relevant examples and exercises drive each lesson home. You’ll especially enjoy the unique Creative Programming Problem Solving Test that helps you assess how creative you’ve been with a programming task.
What’s Inside
About the Reader
For programmers of all skill levels.
About the Author
Wouter Groeneveld is a software engineer and computer science education researcher at KU Leuven, where he researches the importance of creativity in software engineering.
Table of
1 The creative road ahead 2 Technical knowledge 3 Communication 4 Constraints 5 Critical thinking 6 Curiosity 7 Creative state of mind 8 Creative techniques 9 Final thoughts on creativity
Wouter Groeneveld is an independent software engineer and was a computer science education researcher at KU Leuven where he researched the importance of creativity in software engineering. As an obsessed (and officially qualified) bread baker, he also writes about sourdough bread. Occasional brain bakings are published on his blog at brainbaking.com.
Well, this was unexpected. Despite its title, this turned out to be a fairly general psychology book on creativity and, barring programming-specifix examples and anecdotes, it can probably be read and enjoyed by non- IT folks as well.
In essence, the book explores what creativity is, how it's measured, what are its components, what enables it, and how would you go about applying the science to your everyday life.
Well paced and structured, the chapters are fairly self-contained and independent, although I do recommend reading them in proper order. Rich with anecdotes and examples featuring well known scientists, artists, authors, game developers as well as quoting the current science on the matter (with plenty of references, of course), it presents an informative, inspiring and, not going to lie, quite a fun read, especially some of the exercises.
All in all, a thoroughly enjoyable read if you're into psychology. Unfortunately for those looking for some quick and easy creativity wins - no shortcuts here but plenty of actionable advice that, if applied consistently, may let us transform ourselves (and our workspace environments) in the years to come.
The Creative Programmer is dense. Very, very dense. It's the kind of book that makes you think "I'm going to read this again", right after finishing it (and I mean this as a compliment).
I've got a soft spot for books that successfully align form and content in a harmonious way, and The Creative Programmer does this beautifully.
The book is meticulously organized in neatly separated chapters, each with its own distinct idea. (I particularily liked the chapter introductions: each chapter starts with a couple of seemingly unconnected stories/examples from ancient-to-recent history, that each foreshadow the main idea of the chapter. That's pretty clever, it keeps you engaged as a reader.) However, each chapter not only presents a distinct idea but also seamlessly interlinks with the others.
And that's what makes The Creative Programmer such a great read: this structural choice mirrors one of the central theme of the book, i.e. that creativity emerges from the synthesis of connected ideas. This alignment between form and content turns the book into a living example of its own thesis.
All in all, a very clever book, and one - like I said - I'll happily be reading again.
I've worked in the same department as Wouter for a short time. In that short period I was really struck by the amount of knowledge (on a wide range of topics) and willingness to share that knowledge Wouter had. When I read this book it feels like we are standing together at the coffee machine again and I am listening to him talking about the fascinating topic of creativity.
The book is very well written, about a topic that I've not seen explored in such depth when coupled to programming. This is not a technical book, so some of the tips and techniques are not as easy to try out or accomplish. They require you to think about yourself, your team, your environment. It's not black and white.
I've started to take more notes, refining them as I go along. This being one of the more concrete and easier to achieve things described in the book. Thinking about and working with constraints or looking a the way we creatively work as a team are things that I am now more aware of thanks to this book. This awareness helps to notice areas where we can improve. I will be referring back to the book often as I ponder some more on these things.
Lots of interesting/inspiring examples from real life and a fluid approach make this a compelling read for any coder that wants to stretch out and have a more flexible way to approach problem solving.
Full disclosure: I was asked to review this book and received my digital copy for free.
The Good - I learned new things like note-taking systems. - It left me with actionable things to do. - Exercises and self-reflection were mostly good prompts.
The Bad - How the author attempts to define creativity is not helpful. The author defines "creativity" as whatever other people say it is. It did not align with my motivations reading the book and it was discouraging to move forward. Once in a while, the author will remind you of this "definition"
Overall: It's okay; I liked it. If you've already read self-help books before, it'll reinforce what you already know. It can be more condensed. If I can do fractional rating, i'd give it a 3.75 ("Really liked it" is not quite how I would say about this book; but giving it 3 stars seems too brutal)