Holding a Program in one's head
Volvemos a un tema recurrente.
A good programmer working intensively on his own code can hold it in his mind the way a mathematician holds a problem he's working on. Mathematicians don't answer questions by working them out on paper the way schoolchildren are taught to. They do more in their heads: they try to understand a problem space well enough that they can walk around it the way you can walk around the memory of the house you grew up in. At its best programming is the same. You hold the whole program in your head, and you can manipulate it at will.
[.....]
It's not easy to get a program into your head. If you leave a project for a few months, it can take days to really understand it again when you return to it. Even when you're actively working on a program it can take half an hour to load into your head when you start work each day. And that's in the best case. Ordinary programmers working in typical office conditions never enter this mode. Or to put it more dramatically, ordinary programmers working in typical office conditions never really understand the problems they're solving.
Extraído de un artículo de Paul Graham del que recomendamos lectura.
El artículo en cuestión nos da 8 consejos para conseguir tener el programa en la cabeza. Me han gustado especialmente las frases que he remarcado en negrita, no porque estén muy bien escritas, sino porque sintetizan en un par de sentencias la realidad habitual de los programadores. Realidad de la que somos conscientes nosotros, pero no quienes han de poner los medios para que cambie.
Me corrijo, seguro que son conscientes, pero no les importa.