What’s the Connection Between Leonardo Da Vinci, a Cup of Coffee in Lisbon, and the Nature of Software Development?

Raphael De Lio - Sep 27 - - Dev Community

In Walter Isaacson’s biography of Leonardo Da Vinci, he writes about an incident that occurred while Leonardo was painting one of his most famous works, “The Last Supper.”

The Last Supper (Leonardo)

Isaacson describes how the Prior of the church that had commissioned the work became irritated with Leonardo’s procrastination and complained to Ludovico Sforza, the then Duke of Milan. He wanted Leonardo never to put down the brush, as if he were an employee working in his garden.

When the artist was summoned by the Duke, the two ended up discussing how creativity manifests. Leonardo explained that sometimes you need to go slow, take breaks, and even procrastinate. This allows ideas to mature and intuition to be stimulated. Men of high intellect, he said to the duke, sometimes make their greatest advances when they work less, as their minds are occupied with their ideas and the refinement of concepts that will later take shape.

This passage reminded me of a moment I experienced in a café in Lisbon in 2022. In one of our conversations, my colleague Marcelo Maluf Teixeira, holding a cup in his hand, compared it to the ever-evolving nature of software.

"A coffee cup is a finished product; once it is molded, baked, and painted, it is complete. There are no updates or revisions needed. In contrast, software is a dynamic entity, constantly in a state of development and improvement."

As programmers, we often encounter the “Prior of the Church” mentality in our workplaces, represented by managers or executives who expect us to always be on standby, tirelessly typing to deliver software. They often see programming as a continuous production line, where the work is simply completing tasks one after the other. However, the reality of programming is that it is a creative and iterative process, where ‘active procrastination’ plays a crucial role.

Procrastination, when understood as a period of reflection and incubation of ideas, is essential in the world of programming. It’s not about avoiding work, but recognizing that conscious breaks and periods of reflection are vital for innovation and creative problem-solving. In these moments, instead of incessantly writing code, we allow ourselves to absorb and contemplate the problem as a whole, often finding more effective and innovative solutions.

Leonardo often took years to finish a painting, and in some cases, like the famous “Mona Lisa,” he continued to work and make changes until the end of his life. He was always experimenting with new techniques, like sfumato, a shading technique that creates a smooth transition between colors, giving an almost ethereal quality to his paintings.

Leonardo also left us a tip on how to deal with that stubborn manager. He told the Prior that he still had two heads to paint, Christ’s and Judas’, and claimed he was having trouble finding a model for Judas and would use the Prior’s image if he continued to pester him. The Duke burst out laughing, saying Leonardo had thousands of reasons to do so. And the poor Prior was embarrassed and went back to taking care of his garden, leaving Leonardo in peace.

Stay curious!

. . . . . . . . . . . . .
Terabox Video Player