HOUSE_OVERSIGHT_015956.jpg

1.59 MB

Extraction Summary

4
People
0
Organizations
0
Locations
0
Events
2
Relationships
3
Quotes

Document Information

Type: Book page / manuscript excerpt
File Size: 1.59 MB
Summary

This document is page 266 of a text titled 'Are the Androids Dreaming Yet?', bearing the Bates stamp HOUSE_OVERSIGHT_015956. The text discusses management philosophy regarding software engineering, specifically focusing on how to divide complex tasks among 'super-programmers' and the role of architects/managers. It draws analogies between software development and movie production, citing historical creative duos like Rogers & Hammerstein and Elton & Curtis as examples of successful collaboration.

People (4)

Name Role Context
Rogers Composer (Historical Reference)
Cited as part of a successful creative duo with Hammerstein.
Hammerstein Lyricist (Historical Reference)
Cited as part of a successful creative duo with Rogers.
Ben Elton Writer (Historical Reference)
Cited as part of a successful creative duo with Richard Curtis.
Richard Curtis Writer (Historical Reference)
Cited as part of a successful creative duo with Ben Elton.

Relationships (2)

Rogers Creative Partnership Hammerstein
Cited as 'successful creative duos'
Ben Elton Creative Partnership Richard Curtis
Cited as 'successful creative duos'

Key Quotes (3)

"Practically, once your task is over the limit for a single human, a software project must be split up."
Source
HOUSE_OVERSIGHT_015956.jpg
Quote #1
"They are the super-programmer with the whole creative work in their head, and an eye on the audience and financial backers."
Source
HOUSE_OVERSIGHT_015956.jpg
Quote #2
"The job of dividing things into sub-tasks is, itself, a creative problem and must not be done mechanically."
Source
HOUSE_OVERSIGHT_015956.jpg
Quote #3

Full Extracted Text

Complete text extracted from the document (2,436 characters)

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

Discussion 0

Sign in to join the discussion

No comments yet

Be the first to share your thoughts on this epstein document