Document

266 Are the Androids Dreaming Yet?

Ref IMAGES-003-HOUSE_OVERSIGHT_015956.txt Release House Oversight Committee — Epstein Estate Records (Nov 2025) 1 pages

Epstein Suite indexes the text; the original document lives at its official source. We don't host the original file — view it on the official release to read it in full.

View the original on the official release

Document text

Text is machine OCR and may contain errors. Confirm against the original source above.

266 Are the Androids Dreaming Yet? will need to unload this person of ALL interruptions and administrative burdens. This is the most effective way to solve a creative programming task. Practically, once your task is over the limit for a single human, a software project must be split up. This requires great care. Dividing a problem efficiently means specifying the interfaces between them and decoupling the components. This is the art of an architect or a producer in the creative arts. The creative process operates similarly in other walks of life. There are many examples of successful creative duos — Rogers and Hammerstein (The Sound of Music), Ben Elton and Richard Curtis (Blackadder). Good managers, therefore, find ways to break projects into manageable sub-projects that can be worked by pairs or rely on single super-programmers with support around them. If you are lucky enough to gather together a group of super-programmers and can divide a problem efficiently amongst them, you can achieve great things. You see this pipeline in movie production. A script writer generates a script creatively. The casting director finds the actors, a director is in charge of filming, and an editor puts it together. In very great movies you will often find a great director or producer who had a hand in almost everything holding it all together. They are often accused of micro-managing but you can see that’s what they must do. They are the super-programmer with the whole creative work in their head, and an eye on the audience and financial backers. If you talk with great programmers you will be amazed by their breadth of technical, commercial and product knowledge. Why do they need all this commercial information to do their job in the round? Rules and Tips I began writing some rules on how to split up a project, and almost immediately ran into exceptions and special cases. The job of dividing things into sub-tasks is, itself, a creative problem and must not be done mechanically. Any ‘one size fits all’ rule will fail and you must apply domain knowledge and careful thought to the process. It is the job of architects or a senior engineer to split projects into smaller chunks. To do this they must accurately ‘guess’ boundaries between subtasks to create self-contained, creatively solvable problems. This can be done by either vertical or horizontal abstraction. Both have their problems. HOUSE_OVERSIGHT_015956

Have a question about what this document contains?

Ask the documents