Habits of Highly Creative People: Learn to Hack Like a Painter From Paul Graham
Paul Graham is a founder of Y Combinator, the famed accelerator in Silicon Valley that has spawned many champion startups, including Dropbox, Airbnb and Reddit.
Yet his personal website (paulgraham.com) eschews the blaring self-promotion we associate with our celebrity-mediated age. But don’t be deceived by its starkness or skip over the large chunks of text that pop up on his blog. Because Graham has an unusual Renaissance mind, and some of the insights offered by the understated technology veteran are relevant to creators in all fields, but particularly to computer programmers.
What are some lessons we can draw from Graham’s own life and from his wide-ranging intellectual and artistic pursuits?
You Don’t Need to Be Popular at School to Be an Adult Leader
Graham, like Bill Gates, and many other future technologists was a nerd. But given the particular culture that pervades most American high schools, his position on the popularity graph, was absurdly low. He attributes this low ranking to the absence of attributes that make up a school kid’s coolness quotient. Such a lack was driven by his indifference to the outwardly manifestations of coolness and also perhaps, by his engagement with more nerdy pursuits. In an essay on his school memories, he dwells on the “emptiness of school life” and concludes that “school is a strange, artificial thing, half-sterile and half-feral.”
Higher Education Can Transcend Traditional Boundaries
Graham is dauntingly well-educated. But beyond his acquisition of degrees from highly-reputed institutions, what is more striking is his zeal to keep learning, across fields, at intense levels. After finishing a Bachelor’s degree in Philosophy at Cornell, he completed a Doctorate at Computer Science at Harvard. He then went on to attend graduate programs in painting at the Rhode Island School of Design and at the Accademia di Belle Arti in Florence.
Hackers and Painters Have Much in Common
Given his deep exposure to the arts and to technology, it is perhaps unsurprising that Graham has striking pointers about hacking (programming) as an art form. He cautions against labelling hackers as “scientists”, because such a classification tends to emphasize the production of journal-friendly research papers. Rather, Graham, advocates for hackers to be seen as modern craftpersons or artists, akin to music composers or painters. Like other artists, a master hacker makes beautiful code.
Since he insists on the primacy of aesthetic values in coding, he also sets out distinct criteria by which the beauty of programs can be judged. His “Design Principles”, elaborated in his book Hackers and Painters, could apply not just to code, but to all art forms and to scientific breakthroughs. “Good Design”, according to Graham, is:
- Simple: Code should be haiku-like, with attention to the poetics of the language, whether that language is C++ or LISP.
- Suggestive: Just like the best buildings serve as frameworks for people to use as they please, the best programs empower users to combine elements “as they wish, like Lego.”
- Slightly Funny: Like Hitchcockian films, the best code doffs its hat to the absurdity of tricking machines into obeying our commands.
- Hard to Produce but Easy to Read: Writing beautiful code, like writing a gripping novel, is a slog.
- Symmetrical: Like the recursive design of the Eiffel Tower, beautiful code deploys repetitions and recursions.
- Strange and Daring: Just like best works of art carry the unique imprint of their producers, the best pieces of code reflect the signature style of the master coder. Moreover, the best code breaks rules and ignores societal conventions. After all, can you really be a creator if you don’t challenge norms?
Trust the Process
Just like many painters decide what to paint during the process of painting, Graham suggests “you should figure out programs as you’re writing them.” The doing leads to new ideas and new ways of doing. This approach also has implications for the design of programming languages. The best languages facilitate the thinking of programs, and not just the writing of programs already thought of.
Ignore Social Conventions and Consciously Seek Taboos
Graham urges coders to deliberately “look under rocks.” Like performing a bodily “stretch”, the brain should be encouraged to meander into forbidden terrains. He even points to spaces in which social taboos might currently reside. For instance, inside the heads of teenagers. Or in banned works of art, or in the words of unpopular commentators.
In a related sense, one of the qualities that Graham seeks in founders for Y Combinator, is “naughtiness” or what he calls a “piratical gleam in the eye.” He recognizes that like great creators in other fields, rule breakers are also likely to produce astounding technology. Though he urges thinking the unthinkable, he cautions against expressing taboo thoughts, till necessary.
Get a Day Job to Pay Your Bills
Most programming jobs, and especially those in larger companies, are unlikely to grant coders the creative space that master hackers might seek. Hence, such coders should direct their passions into open-source movements or private projects pursued merely to quench intellectual thirsts.