𝔖 Scriptorium
✦   LIBER   ✦

📁

The Creative Programmer (Final Release)

✍ Scribed by Wouter Groeneveld


Publisher
Manning Publications Co.
Year
2023
Tongue
English
Leaves
232
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


Creativity is essential to being a successful programmer. The stories, examples, and groundbreaking research in this book will help you unleash your creative potential!

Inside The Creative Programmer you’ll learn insights into creativity like
The seven dimensions of creativity in software engineering
The scientific understanding of creativity and how it translates to programming
Actionable advice and thinking exercises that will make you a better programmer
Innovative communication skills for working more efficiently on a team
Creative problem solving techniques for tackling complex challenges

In The Creative Programmer you’ll learn the processes and habits of successful 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 soon be thinking up new and novel ways to tackle the big challenges of your projects.

about the technology
In software development, creative problem solving can be just as important as technical knowledge. A splash of creativity helps you break with conventional approaches that just aren’t working. And just like technical skills, creativity can be learned and improved by practice. This innovative guide draws on the latest cognitive psychology research to reveal practical methods that will make you a more creative programmer.

about the book
Each chapter in The Creative Programmer introduces you to a new theme of creativity that’s derived from scientifically sound research. Discover the importance of communication, how constraints can make you more creative, methods to improve your critical thinking, and more. Short stories, examples, and exercises help you understand each new idea and clearly demonstrate how you can apply them to programming. You’ll even be able to track your progress against a scientifically validated Creative Programming Problem Solving Test! Along the way, you’ll enjoy examples and stories that show what makes creative technical geniuses tick.

✦ Table of Contents


front matter

foreword

preface

acknowledgments

about this book

about the author

about the cover illustration

1 The creative road ahead

1.1 What exactly is creativity?

1.2 Why creativity?

1.3 Different levels of creativity

1.4 A road map to becoming more creative

The seven Creative Programmer themes

The Creative Programming Problem Solving Test

1.5 The structure of the following chapters

2 Technical knowledge

2.1 No input, no creative output

2.2 Gathering knowledge

Diversify what goes in

Moderate what goes in

2.3 Internalizing knowledge

Knowledge management

2.4 Acting on knowledge

From notebook to memex to genex

From note to action

A note on note maintenance

From interruption to action

2.5 A workflow example

A five-step workflow

The workflow in practice: Coding

The workflow in practice: Learning new programming languages

The workflow in practice: Writing

3 Communication

3.1 Collaborative teamwork

What makes a Camerata tick

Dream teams

3.2 Collective geography

Liquid networks

Creativity is contagious

Moving to stimulating environments

Genius clusters

3.3 Creative work in time

The adoption curve

3.4 When creative flow is impeded

Social debt

From technical to social debt

Community smells

Getting out of social debt

4 Constraints

4.1 Constraint-based thinking

Greenfield or brownfield?

A taxonomy of constraints

4.2 Intrinsic constraints

Intrinsic hardware constraints

Intrinsic software constraints

4.3 Imposed constraints

4.4 Self-imposed constraints

Passionate pixel artists

Let limitations guide you to creative solutions

Game Boying into constraints

Limited (fantasy) consoles

Limited programming languages

Crack intros and the demoscene

4.5 Hitting that sweet spot

Facilitating abstraction with the right amount of constraints

Sweetness or bitterness?

4.6 Working with constraints in practice

Divergent thinking

Naivety and constraints

A naive but legendary poet

A naive James Bond

Naive algorithm implementations

5 Critical thinking

5.1 Creative critical thinking

5.2 The creative process

Verifying critically

Focused thinking

Diffuse thinking

Combining diffuse and focused thinking

5.3 Creativity is the means, not the goal

5.4 Common critical thinking fallacies

Cross-language clashes

The superior flash of insight

Ignorance and Deliberate Discovery

I am the greatest

I am the fanciest

First-Google-hit coding

A long list of novice programming misconceptions

Converting prejudice into insight

5.5 Too much self-criticism

5.6 Why others’ critical thinking matters

6 Curiosity

6.1 Curiosity jump-starts creativity

6.2 Growing wonder and wanderlust

Fixed and growth mindsets

Believing is doing

Growing out of your comfort zone

Growth mindsets and creativity

6.3 Staying on the curious course

Persistence and grit

Willpower is a depletable resource

6.4 From curiosity to motivation

Intrinsic motivation

Extrinsic motivation

Combining intrinsic and extrinsic motivation

6.5 Multipotentiality

Multiple true callings

How to approach multiple interests

Does specialism kill creativity?

Generalism vs. specialism in tech

6.6 Serendipitous discoveries

How to stumble upon things

Openness to experience

6.7 About having fun

Fooling around

Just for fun: A bad guy bonus challenge

7 Creative state of mind

7.1 Getting in the right creative mood

7.2 The flow of deep work

The optimal experience

Deep work

Deep work and flow on the move

Walking support or the lack thereof

7.3 Interrupt!

Increasing your awareness of interruptions

Preparing for interruptions

Knowing which interruptions to look out for

Mindfulness increases focus

7.4 Triggering creative insights

Alone or together?

Sleep and insight

A note on stimulants

7.5 A corporate creative state of mind

Environmental creativity

Workplaces as creative workshops

Workplaces as a safe haven

8 Creative techniques

8.1 On filling a creative toolbox

8.2 A selection: The artist’s toolbox

Art-Based Learning

Steal like an artist

The power of time off

8.3 A selection: The writer’s toolbox

Vladimir Nabokov’s toolbox

Geoff Dyer’s toolbox

Anne Lamott’s toolbox

8.4 A selection: The programmer’s toolbox

Anna Bobkowska’s toolbox

The Pragmatic Programmer’s toolbox

Emily Morehouse’s toolbox

9 Final thoughts on creativity

9.1 Remember, everyone can be creative

9.2 On the evolving perspective of creativity

From technical individualism to a creative team player

Revisiting the CPPST

9.3 When not to be creative

9.4 Further reading

index


📜 SIMILAR VOLUMES


The Creative Programmer
✍ Wouter Groeneveld 📂 Library 📅 2023 🏛 Manning Publications Co. 🌐 English

<span>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.</span><span><br><br>In </span><span>The Creative Programmer</span><span> you’ll discover:<br> <br> </span><ul><li><span><span>The seven

Functional Programming in Scala, 2nd Edi
✍ Michael Pilquist, Rúnar Bjarnason; Paul Chiusano 📂 Library 📅 2023 🏛 Manning Publications 🌐 English

This international bestseller has been revised with new exercises, annotations, and full coverage of Scala 3. In Functional Programming in Scala, Second Edition you will learn how to Recognize and write purely functional code Work with errors without using exceptions Work with state and conc