A lonely crow disturbs the otherwise peaceful silence of an ancient Corsican night. A Spanish born Roman citizen passes the evening with his two best friends: pen and ink. After being exiled from Rome by dictator Claudius, Seneca the Younger spent eight highly productive years on Corsica, publishing various consolations on anger and death. Writing, as Seneca proclaimed, is how one should exercise oneself. Not a single night would pass without writing in his journal. As he explained to a friend, “I scan the whole of my day and retrace all my deeds and words. I conceal nothing from myself, I omit nothing. For why should I shrink from any of my mistakes, when I may commune thus with myself?” The sleep that would follow his self-examination felt particularly satisfying.
Although at times feeling very lonely, Seneca was used to being isolated. Before fleeing to Corsica, his struggle with tuberculosis forced him to take an extended leave from Rome to distant Alexandria for almost ten years. There, in convalescence, he did what any Stoic philosopher would do: study and write, building up both mental and physical strength. He looked into combining Stoicism with Pythagoreanism. He read and debated the works of Epicurus, who ended up being the most cited writer in Seneca’s works. Seneca said we should read like spies in the enemy’s camp, always looking to learn from our intellectual and philosophical opponents.
Fortune knocked at his door when Agrippina’s grand plans for her son Nero were set into motion by marrying Claudius and convincing him to adopt Nero and recall Seneca to serve as her son’s tutor. By then, Seneca was fifty-three and both amassed and generated a plethora of Stoic knowledge. It turned out to be not nearly enough: slowly but surely, Seneca’s scholastic influence on Nero diminished, and Nero’s depraved character started shining through. Unintentionally involved in a plot to kill the emperor, Seneca saw no other option but to commit suicide. Socrates would have been proud.
Nineteen centuries later, a German academic rummages through paperwork in a set of small drawers of a heavy apothecary cabinet. A small piece of paper in hand, speedily scanning the contents of certain drawers, until a Jawohl mumble announces the arrival at the right drawer. The paper disappears into the cabinet and the academic sinks back into his office chair, returning his attention to that huge stack of papers in dire need of grading.
That person is Niklas Luhmann, one of the most productive and renowned social scientists of the twentieth century. During is academic career, he published 50 books and over 600 articles. When asked how he managed such a feat, his answer was humbling: his productivity stems from a “conversation” with his notes. His famous systems theory—an integrated take on communication, societal, and evolution theory—was the product of conversations with his Zettelkasten (filing cabinet).
Thanks to his ingenious knowledge storage and generation system, Luhmann managed to connect seemingly unrelated domains and produce novel insights. These new insights would in turn be stored into the Zettelkasten, steadily growing his external body of knowledge. Although Luhmann wasn’t the first to use an interlinked index card system to organize intellectual work, his now fully digitized Zettelkasten archive provided more insight into the prolific brilliance of it, inspiring many contemporary note-takers and digital note-taking apps.
Another century passed. In 2010, Russian software engineer Andrey Breslav and the JetBrains R&D team discussed development and production issues in large-scale back-end codebases. Whiteboard sketches would later become the groundwork for a new programming language known as Kotlin. However, Breslav and his language design team had little intention to create yet another shiny new toy for fashion conscious developers to play around with—Kotlin was designed to be pragmatic, concise, safe, and interoperable.
Those four corner stones caused the team to thoroughly inspect existing programming langues and steal ideas that work, but more importantly, leave out the fancy fluff. As Breslav said in his GeekOUT 2018 talk Languages Kotlin learned from, being shy of using existing ideas is counterproductive. Instead, they turned towards Java, Scala, C#, and Groovy, and implemented what worked. “Thanks a lot authors of Groovy, it’s been a pleasure borrowing features from you” concludes Breslav.
Clearly, their design philosophy paid off. Next to Java, Kotlin is now the most popular language on the Java Virtual Machine (
18%, according to Snyk’s 2020 JVM Ecosystem report), and yearly Stack Overflow insights report a steady increase in overall popularity, surpassing Ruby, and closely following Go.
What is the greatest common divisor between Seneca’s knowledgeable and still popular Stoic writings, Niklas Luhmann’s Zettelkasten apothecary cabinet that is fed index cards, and the birth of the Kotlin programming language? All three examples showcase that creativity begets creativity. Every intention is based on a previous one. Seneca closely followed rival schools and internalized that knowledge to produce something new. Luhmann conversed with his notes that told him to connect information he otherwise would have forgotten. Andrey Breslav first turned to other programming languages, inspecting what worked there, before recklessly creating something original but unsuitable.
All creative work starts with input. No input, no output. When we asked software developers for requirements to be creative, technical knowledge was consistently mentioned first. A painter can’t produce creative work without extensive knowledge of drawing techniques. Although we might get fooled by the misleading simplicity contemporary art pieces seem to emit, it requires technical knowledge and years of experience to deconstruct colors and compositions to its essence.
The same is true for us programmers: we can’t be creative with Java code without extensive knowledge of the Java Virtual Machine and its ecosystem. In his GeekOUT talk, Breslav admitted to having overlooked Swift as a potential influence. At that time, it was also very new and nobody on the team knew about it. Without Groovy’s influence,
it would not exist in the Kotlin world.
But what exactly is extensive knowledge? What is the best way to gain, retain, and create new knowledge? And are we really only talking about technical knowledge in context of creativity?
Welcome to the wonderful world of cognitive psychology.
This is part six of my creativity story. Be sure to also read part 1: collective creativity, part 2: constraint-based creativity, part 3: creative critical thinking, part 4: from curiosity to creativity, part 5: a creative state of mind, and part 7: the creative techniques toolbox.