liveBook · Manning

Problem finding

As explained in The Creative Programmer

The process of noticing, discovering, or formulating a problem that has not yet been defined.

Problem finding is noticing or formulating a problem before anyone has clearly defined it. Ordinary problem-solving skills help less here; creative attention must reveal what is missing. section 1.2

Darwin’s voyage

Charles Darwin sailed on the Beagle to chart South America, not to explain the origin of species. His careful observations later connected into the problem domain behind natural selection. Programmers may similarly collect disconnected clues until they discover a question clients did not know to ask. section 1.2

Creative programmers do both jobs: they solve defined tasks and notice better questions along the way. Because software is collaborative, respectful peer judgment and psychological safety help teams surface and develop those discoveries. section 1.2

How The Creative Programmer covers it

How deep it goes
Defines the distinction and illustrates it through Darwin, but stops short of prescribing a detailed discovery procedure.
Examples
Uses Darwin’s Beagle voyage, accumulated observations, and clients’ undiscovered problems as examples.
What it assumes
Assumes familiarity with programming tasks and problem solving while contrasting them with discovering undefined problems.
What you can do after
Practice noticing patterns that may reveal new questions alongside solving assigned programming problems.
How it connects
Connects creativity with problem solving, creative judgment, teamwork, and psychological safety.

This explainer was generated by Manning's knowledge graph from the text of The Creative Programmer. The section links point to the parts of the book it draws on.