We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

The naïve programmer

00:00

Formal Metadata

Title
The naïve programmer
Alternative Title
The naive programmer
Title of Series
Number of Parts
132
Author
License
CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
Since Picasso encountered Henri Rousseau over a century ago, modern art has been acutely aware of the value of the contributions that the naïve artist can make. Art negotiates the relationship between sophistication and naïvety with care and intelligence. What does our programming culture make of the naïve programmer? What can programming gain or learn from this encounter? The naïve programmer is simply an unsophisticated programmer. Nobody is born sophisticated. Even the most sophisticated programmers were once naïve programmers. What's more, the adoption of programming simply as a tool to solve immediate problems, by ever more people without any formal training, means that the number of naïve programmers will become greater, not less. Are we ready for this? This talk will explore the relationship, illuminating it with examples from the world of painting, art and music, and will offer some lessons that our own industry and culture should be ready to learn from. (This talk will already have been presented as a keynote at DjangoCon Europe 2018)
35
74
Thumbnail
11:59
Programmer (hardware)SoftwareCore dumpSystem on a chipComputer programmingGreen's functionSet (mathematics)Asynchronous Transfer ModeElectronic program guideMachine visionTwitterNP-hardBitComputer programmingDisk read-and-write headTunisCodeProgrammer (hardware)Electronic program guidePlastikkarteDigital photographySource codeFunction (mathematics)Multiplication signLevel (video gaming)Context awarenessBridging (networking)Strategy gameSoftware developerArithmetic meanMachine visionDifferent (Kate Ryan album)Row (database)Computer programFlow separationFigurate numberMusical ensembleMedical imagingInterpreter (computing)Process (computing)Error messageChainLimit (category theory)Dependent and independent variablesSineMathematicsForcing (mathematics)Power (physics)Impulse responseChord (peer-to-peer)Group actionSoftwareData structureAdventure gameSpring (hydrology)PlanningRepresentation (politics)1 (number)MereologyWindowComplex (psychology)SurfaceReal numberTouch typingExistenceSpeech synthesisIntegrated development environmentNegative numberStandard deviationSelf-organizationExpert systemStatement (computer science)WordStudent's t-testCore dumpOcean currentLocal ringTwitterVapor barrierLetterpress printingSubstitute goodSoftware testingTask (computing)Lattice (order)Parameter (computer programming)Field (computer science)Perspective (visual)Range (statistics)Web pageAxiom of choiceDirection (geometry)Operator (mathematics)Formal languageAnalytic continuationContent (media)Software frameworkFactory (trading post)Office suiteEntropie <Informationstheorie>BuildingRight anglePattern recognitionTelecommunicationEndliche ModelltheoriePiComplete metric spacePoint cloudEccentricity (mathematics)Online helpComputing platformVideo gameException handlingTheoryDampingSet (mathematics)NeuroinformatikWeb 2.0Form (programming)Daylight saving timeDemonPoint (geometry)CASE <Informatik>Moment (mathematics)Total S.A.Address spaceDimensional analysisPunched cardOrder (biology)MultiplicationParallel portConnected spaceGodRevision controlChemical equationTerm (mathematics)ChecklistInverter (logic gate)Electronic mailing listSpherical capNormal (geometry)Exclusive orComputer animation
Transcript: English(auto-generated)
Thank you, Noah. Sorry, the lights are a bit bright here, so it's a bit hard for me to see you. Anyway, I think they probably have to be like that. Well, we'll get started. Thanks for coming. Thank you very much to the organizers for inviting me, for doing all the work to put on this conference.
I know how much work is involved in something like this, so when you see them, say thank you to them. They're wearing yellow shirts like Noah, so they're all volunteers. I'll tell you about me. Oh, this is me. That's what I look like. As I am Python software, as you can see, there'll be no arguments.
I work for a company called Divio, a Swiss company. We have a Django cloud hosting platform. We'd love to talk to you about that. If you're hosting Python or Django on the web, come and talk to me. It's based on Docker. Basically, we do your DevOps for you. I'm a member of the Django core team. I'm vice president of the Django software foundation.
I always tell people it's not nearly as glamorous as it sounds, although I hope it sounds at least a bit glamorous. The other thing that I'm really involved in that matters a great deal to me is Python in Africa. It's one of the things I've had the greatest privileges to be involved with, with PyCons.
These are my friends from Namibia, where I go every year for their PyCon. I've been involved sometimes more or less directly in other PyCons in Africa. I'll be going to the first PyCon Ghana in a couple of weeks' time, so I'm very excited about that. We have plans for a PyCon Africa. There are a lot of amazing things happening,
thanks to the global Python community and the enthusiasm of African programmers who want to be part of it. I'm one of the organizers of the conference director of PyCon UK, which is coming up in September in Cardiff.
You can get in touch with me, email, or I'm on Twitter and so on, if you prefer that. We'll get started. Let's get to business. I want to talk to you about the naive programmer. That's not the bad programmer or the incompetent one. It's just the unsophisticated programmer.
Everybody starts being a naive programmer because nobody is born sophisticated. Even the most sophisticated ones were once naive. The naive programmer is everywhere. There might be some in this room. In fact, I'm quite sophisticated, but as a programmer, maybe less so.
There are many of them, or us, I should say. Here's one. Here's the naive programmer. Keep in mind that I'm self-taught so that my code might be a little bit messy. We'll come back to this, because that's important. To understand what sophistication means in programming, we have to understand programming as a craft.
Programming is an art, a craft, a skill. I use those words interchangeably, so don't be upset if I call programming an art. I just mean that it is a practical skill, just like maybe shoemaking as an art or a craft or a skill.
And everybody who engages in any craft wants to be better at it. Of course they do. And even the best programmers want to be better programmers. They want to be better craft people. Now there are different kinds of crafts. In some crafts, some crafts are aesthetic crafts. And they're measured against human judgment, so you have human, well, kind of human critics.
And they're quite nice, these aesthetic crafts, because if your critics don't like it, they might be wrong and you might be right. Maybe they haven't caught up with you yet, so you might be at the avant-garde. You can engage with your critics and argue with them. But in other crafts, in practical crafts, the exercise of your craft is measured not against human judgment but against the world.
And if you get it wrong, you can't argue back so easily. It's not a critic that says whether your bridge was any good. If your bridge falls down, then you can argue as much as you like.
And programming in two, it's this kind of craft. The Python interpreter is a very implacable critic. And you've tried everything. You can try pleading or threatening or tears, but it doesn't care. If you've got an error in your code, it won't run.
This is just to help understand what kind of craft we're involved in. Now here's another difference between, so there was one difference between crafts. Here's another one. Some crafts or arts are repeatable. So flying an airplane, you're supposed to land the aircraft in the same way every time. You're supposed to remove the appendix in the same way every time if you're a surgeon.
You know, you don't invent new ways of doing it on the spur of the moment because you feel like it. So this is a checklist for landing an aircraft. A pilot will follow that every single time. But some arts are creative, and programming is one of them. Like painting or musical photography where you start with this terrifying blank page and then have to come up with something new that has never been come up with before.
And that's one of the great things about programming. It's a creative craft. We're bringing something out of nothing. And you know, you go to the theater, you go to the theater to see a brand new improvised performance on the leading edge of dance. Great, that's really exciting. You go into the operating theater and find out that somebody's going to do an improvisation, it's less reassuring.
So that helps you understand the different kinds of crafts that we, you know, you don't want to know that your anaesthetist is going to be going into uncharted territory. But anyway, programming is a creative craft. And that means that even though programmers are not painters or photographers or musicians,
in one important respect they're doing exactly the same thing, which is practicing a creative skill. And each of these figures represents a story about artistic naivety, which I'll come on to. So we'll talk about them soon.
Now, artists want to be better at what they do, as I said. But this is literally one dimensional, worse to better, and that's not a very good way of thinking about things. So all kinds of things matter in art. You know, we judge technique, creativity, judgment, sophistication.
And to be a complete artist, to be a complete crafts person, you can't lack any of those. So if you lack technique, then you're inept. If you lack creativity, your work is dull. If you lack judgment, you're uncritical. And the artist who lacks sophistication is naive. And to be sophisticated in your craft is to be educated.
Not necessarily to be formally educated in it, but to be brought along by the culture of it, to understand its traditions, to be able to measure up to its traditions and standards, and to be able to engage with them.
And you can't become, it's impossible, by definition, to become sophisticated on your own. You can only become sophisticated as part of a culture, through a culture, through participation in it. So the sophisticated artist is in dialogue with their own art, with the practices of
their, and theories of their peers, and with the history and traditions of their art. So let's meet a sophisticated artist. So this is Georges Braque, the French, well, he was all kinds of things. He was a painter, a sculptor, a collagist. He exemplifies every kind of artistic sophistication you can imagine. He's the epitome of artistic sophistication.
As a young man, or as young, even younger than that actually, he had a very obvious talent. But then in the 20s he encountered the Fauvists, he encountered Paul Cézanne, and those encounters turned him into a world-changing painter.
So he took off from Cézanne's innovations in form and structure and so on, and then together with Picasso, Georges Braque invented Cubism, which is probably the single most significant movement or innovation in art in the 20th century. And Cubism is not just a style of painting or a new way of
painting, it represents a theoretical and intellectual struggle with questions about reality and representation. And it's an engagement that reaches back in time to tussle with the history of painting, across the arts to engage with developments that were happening at the same time in fiction or poetry and music, or across cultures to engage with African or Asian art.
And it draws in understandings gleaned from scientific and mathematical discoveries, or political currents, or technological developments, and philosophical arguments. So it's not just about paint on a canvas, it's a whole way of looking at the world.
So Braque was an artist who had all those qualities in abundance, creativity, technique, judgment and sophistication. He was able to pull everything together in layer upon layer of intelligence and meaning and then speak back to the world and speak back to his art about them. And he brought something so compelling to this dialogue of his art that it was never the same again.
In fact, he changed not just art, but helped change the world. He's one of the pillars of the 20th century. So he's an example of sophistication at the highest possible level, of matchless artistic invention. And this complete command of his craft is why we call him a complete artist.
Now, maybe it's a bit unfair to start introducing giants like Braque so early in the morning because I'm not expecting everybody to measure up to Georges Braque. But in one respect, to be a complete craft person, if you're a programmer, you need something
that Braque had, which is the ability to address your art, to address your craft with sophistication. So programming is not painting, but sophistication applies to programming too. And it's an essential dimension of the mastery of the craft. And there are programmers who are sophisticated and have this mastery.
And faced with any challenge, they can draw upon wide resources, not just draw upon their own intellectual resources, but from every direction they can bring things in to apply to the problems they face. They see parallels and connections and relationships that other people might not even have access to. Or they work with concepts and ideas and vocabularies that other people can't get hold of.
So they draw from a deeper well because of their sophistication. And that's the programmer that we want to be. We don't just want to be technically good or creative or have good critical judgment. We want to have this kind of educated, sophisticated intellectual power too.
So, if the sophisticated artist helps us understand the sophisticated programmer, then I think the naive artist will help us understand the naive programmer. So I showed this picture earlier. This is Henri Rousseau, the French painter, sitting in front of one of his absolutely ludicrous paintings.
And he was the quintessential naive artist. I think the term naive artist was invented for Rousseau. He had no education in art. If he was influenced by anything, it was by advertisements that he thought looked nice or pictures in children's books. We're not talking about somebody on Georges Braque's level here.
So, there's many things wrong with this picture, and I think the top of the list is that it's absolutely hideous. His work was coarse and buffoonish, and he painted it in this flat, primitive style with a child's grasp of perspective. Even the subject matter was childlike or even childish, and that was the only way he could paint.
If you had a decent art teacher at high school, your art teacher was probably considerably more sophisticated than poor old Henri Rousseau. So he was a painter of, let's say, immense deficits.
I mean, that other picture was horrible, but at least some of his pictures are actually really charming, even if they're not very sophisticated or they have their other deficits too. But as an artist, he was completely oblivious to what it means to be an artist, and critics felt that his work was so empty of thought or intention or direction.
They couldn't say very much about it, and there was nothing to interrogate or understand or interpret in his work, and he was completely clueless. So, according to the legend at least, he was asked which of the artists in the Louvre he preferred, and he said, wow, there are too many. How can you remember their names? So he had no framework for understanding his own discipline.
I like this term, he was accused of having an intention deficit disorder. He just put paint on the canvas, and in a completely shallow way, there was nothing beyond the layer of paint, nothing deeper in there. So he was kind of a hobbyist bungler of a painter.
But he was absolutely desperate for recognition. He wanted to be part of the art world, he wanted to be on the inside, he loved those painters, he loved their works, and he wanted to be one of them and considered one of them. But he was at the same time oblivious to his own deficits. He thought he was a painter of great importance, and he exhibited relentlessly, and people would literally queue
up, and not metaphorically, they would literally queue up to laugh at his paintings when they were exhibited. And one critic said, he paints as if with his feet and a blindfold over his eyes. So that's the naive artist, and here's the naive programmer.
This is like being in a house built by a child using nothing but a hatchet and a picture of a house. Oh, by the way, these are comics stripped from XKCD, I'm sure. Often quite insightful. And this is the amateurish bungler at work in front of the computer. The naive programmer is as ripe for a good laugh as the naive artist, limited and unaware of the limitations at the same time.
You know, style guide, the problem here is not style, the problem isn't the code is a bit messy. Even the reviewer here has not picked up on the problem. The problem is that this programmer has limited intellectual resources because of a lack of sophistication to apply to the problem of programming.
And the naive programmer's thinking is shallow and narrow and impoverished, and it comes out in their work. So the naive programmer is weaker and less effective and less complete as a craftsperson who will always be limited.
And it's not a thing to be proud of. Nobody wants to be that kind of artist or craftsperson. But this is a funny thing. This photograph of Henri Rousseau sitting in front
of one of his absurd paintings was taken by none other than Pablo Picasso. And Picasso was absolutely fascinated by Rousseau because Picasso, of course, like Braque, was one of the giants of art. But Rousseau had something that Picasso wanted and didn't have.
So Picasso saw in Rousseau's naivety not just a lack, a deficit, something negative, but something positive, a new way of seeing and representing what is seen. So Rousseau, of course, lacked sophistication, but he did have other things. He had a powerful artistic vision, and he burned obsessively with it.
He developed, in spite of his lack of sophistication, a language, a style of painting all of his own. And he may have been confined and limited to his style, but it was his style, his invention. He was genuinely, and I think quite powerfully, creative.
He may have been oblivious to the problems in art that other artists were trying to solve. He may have been unable to articulate his problems in any useful way. But I think it's fair to say that we can identify a kind of private problem field that he was struggling with, like all artists or craftspeople must do. So he's naive, he's unable to connect with the dialogue or the history of art.
But artists of greater sophistication, such as Picasso, were able to see something in Rousseau and make those connections on his behalf. So without ever developing sophistication, Rousseau came up with something new out of nowhere, and in fact did become a painter of major significance.
He was an influence on Picasso, and on the Cubists, and on the surrealists, on the German expressionists, on people like Kandinsky, and he became an important figure for modernism more widely. And so now, we've got two models for dealing with naivety in craft, two models for the encounter between sophistication and naivety.
We have the story of Henri Rousseau, in which even the most naive things can be understood and learned from and added to the discipline.
And then we have this one, which is ours. And I want to know what happens next in this story, because the fact is, however naive, this programmer has built a house. Maybe there's something new in that building. Maybe there's something valuable amidst the eccentricity and the bungling. What did they discover along the way, doing things in their new way?
So despite the lack of education or sophistication, the naive programmer was able to create something that was worth reviewing in the first place. Maybe that's evidence of creativity, or vision, or just plain perseverance, and all of those things are of value. Maybe there's a natural talent there, and it compiled without errors.
He's not asking for help to make his code run, he's asking for help to make it better. He's trying to open a dialogue. So I think that this naive programmer deserved much better than that sophisticated, dismissive reviewer, who will never see past the lack of sophistication to what actually is of value.
And Rousseau is one of many artists of complete naivety who's made a serious contribution to art, because they were people able to see past that lack of sophistication. Art is alive and sensitive to what the naive has to offer.
Now, what about in programming? What about naive programmers? If there are naive programmers with vision and creativity and invention, maybe the world of programming should be aware and alert to them in the same way that the world of art is. Okay, here's another naive artist. This is Mike Dispharma. He was a small town photographer in a rural Hever Springs in Arkansas, and he had a portrait studio in this town of one and a half thousand people.
And he made what were called penny portraits, or I think actually three for fifty cents in his completely basic studio. And he was so naive, he didn't even know he was an artist.
In fact, nobody knew he was an artist until some decades after he died, when thousands of his negatives were discovered in a house that was being sold. And he became one of the photographic sensations of the 1970s, after he died. And all he did was take photographs, studio photographs, of local people in his basic primitive studio.
He wasn't even up to date with photographic developments, so he made contact prints from glass plate negatives for about thirty years after everyone else had started using film. That would be like meeting someone and saying, well, here are my punch cards. So completely out of date and out of touch with things.
But the work is utterly remarkable. These unassuming portraits of ordinary and often quite careworn people. And he was just doing his job, he wasn't creating art. And these pictures are intimate, and they're moving, and they're startling, and they're composed with immense skill and care. He was a master of lighting, and his only source of light was a single north-facing skylight in his studio.
I think these, they're immensely sad and moving, these photographs. And there are stories, you know, this is during the war, her husband's in the Navy, hence the Navy cap. And they're a thousand miles away, a thousand worlds away from the usual small town portrait studio output.
There are no cliches, there's no retouching, he doesn't use any standard forms or poses. Probably because he was so naive, he hadn't even learned those cliched forms. So as an, you know, it's like a song of beauty and sadness, and he only had one song.
But such a beautiful one. And the only resources that he had were his own, he had nothing else to draw upon. Even Rousseau was aware of a world of art. It seems that Mike De Farmer wasn't even aware of the rest of photography. He wasn't part of any artistic culture, he had no pretensions to it, unlike Rousseau.
And these pictures, these extraordinary pictures, come from nothing else but his astounding eye for photographing people. And you don't, I can assure you, you do not make pictures like this unless you know exactly what you're doing. So they're pictures of elegance and power, and so in their form they hold the eye because of the balance and tension in them,
and in their content, you know, they speak directly to the human heart. And as I say, this was his only song, it was the only thing he knew how to do. He didn't have versatility or range, he wasn't aware of the rest of the world of his artistic discipline.
He lived in his own little world, just doing his job, making pictures for his customers. And maybe there are Mike De Farmers in programming, working away on their own, unknown, unnoticed, disconnected from everyone else, producing little masterpieces as part of their everyday work.
Now not every programmer is or should be a software professional. Some are just completely normal people who have started programming for some reason. And think about the offices, the workplaces, the factories and laboratories where somebody might have written a computer program
to make some part of their work better or easier. They allowed themselves to imagine they could solve a problem with a computer program. And we meet people like these. They don't tend to come to PyCons and EuroPythons and so on, because they don't know about us. They've just been working in their own little world. Occasionally we meet them and they've done some things in a very peculiar way because they didn't know any better or they didn't know otherwise.
Nobody was around to show them anything different. And they haven't heard of things like version control or separation of concerns and they don't do testing. And you'll find them doing things like writing their code in Windows Notepad because they didn't know there was any other way to do it.
Or using an online Python environment because getting Python to run on their Windows 98 was just too difficult. But software development is a profession and of course we have to have standards for that profession, just like all professions, because it has to be a bit exclusive. It has to put up barriers to protect the profession and to guarantee quality.
We should not, if we can, help it be using inadequate tools or following poor practices. So as programmers we pay a lot of attention to how people work and we don't hesitate to make remarks about how they use their tools. But this is so important. Not every programmer needs to be measured by the standards of professional software development.
And there are more of these naive programmers working quietly than you think. And they don't come to our software conferences. We don't know how many of them are out there solving their own problems in whatever way happens to work for them. And we don't know what things they might be inventing and what things of value they might be coming up with.
So what are the implications for them of this, even if it's not directed at them personally? Or even statements like this. I mean this is not meant to put anyone down. This is Jacob Kaplan Moss, one of the creators of Django actually.
Code without tests is broken by design. Now Jacob, if you know him, he's a software professional of the most accomplished kind, and more importantly he's a kind and generous person. But I think that's not true. I challenge that. Because if a Django girl goes into work the week after her first introduction to Python
and writes a program that solves a problem at work, is it broken by design because she did it without tests? Or did it in Python 2? Or didn't use version control? Or if a graduate student in a science lab realises that she can solve a problem with some code,
can we call it broken because it's deficient in some ways by the standards of the professional software developer? So I think that we cannot. I don't think we're entitled to call things broken because of how they're done. I don't think there are circumstances, well at least we should be asking
under what circumstances may I declare these things broken in such a confident way? For most people programming is just a means to some end. Starting with children
in primary school, we're putting programming into their hands, asking them to do things. We don't expect all these people to become professional software developers. They won't all be trained formally as programmers. We just want them to be able to do a bit of coding as a tool for life and their work, to understand how computation works. And if we're going to put programming into these people's hands, we're going to encounter naivety in their work.
We're going to encounter more and more naive programmers, because rightly these people will consider programming to be only a means to their ends. And I think we had better get used to, as a community of programmers, to having a lot more naive programmers around us. And I think we'd better get used to making fewer statements about what we consider to be broken.
Here's my final choice for examining artistic naivety. Now when I was a teenager, I discovered the records of talking heads as a teenager. And it turned out to be really important for my education. She was their bass guitar player.
Here are the four talking heads. I chose her because I was a bit in love with her. They were famous. They had really long necks, so as you can see, they're amazing necks. People admired their necks immensely. Now, between 1977 and 1988, they released ten albums of exceptional creativity and quality.
And as artists, they absolutely hit the ground running. They were already quite sophisticated. They'd been to art school, and they followed their first record with three more that they recorded with Brian Eno. And they went deeper into complexity. Their work becomes, it digs deeper, reaches further.
The development in sophistication is really apparent. And firstly, I just liked the sound that they make, which is quite reasonable when we're talking about music. But later, especially through reading about them, I realized that something else was going on as I became a more sophisticated listener.
It was my first real understanding, as I say, as a young teenager of sophistication as an artistic quality. And you can play these records one after the other and trace this development. And after the initial immediate response to the music, which is great, there's another level to explore that itself yields more.
As their sophistication as artists grow. Now, by the time of their fifth studio album, they were masters of their craft. You know, they were important enough to be reviewed in the Wall Street Journal, for example. And they followed up Speaking in Tongues, their fifth studio record, with a tour from which the concept film Stop Making Sense was made,
which you may well have seen, directed by Jonathan Demme. Now, it's described often as being one of the best concept films ever made, which is not a genre filled with masterpieces, to be honest. It's a genre filled with mostly complete junk, but still, as a piece of film work, it is itself of the highest quality.
So here they are with their expanded nine-piece band, captured at a moment of total artistic triumph. I think God probably watches this film sometimes, just to remind himself how good it is. And what makes artistic work like this worth returning to over and over again is the multiplicity of layers and dimensions in it,
the depth it contains, and it has the same kind of depth of artistic and intellectual curiosity that you'll find in an artist like Georges Braque. And for talking heads, an important part of their sophistication was attention to practice, attention to how they did what they did.
And this is something that programmers are very interested in. Programmers are fascinated by the process of programming. Sometimes it seems more fascinated by how they work than what they actually produce, and so they are forever talking about strategies and methodologies and workflows and processes.
So I found a nice joke about this. Here's Kraftwerk inventing electronic music, standing desks, and scrum meetings all at the same time. So programmers are convinced that if they just find the right process, everything else will just work. Sophisticated programmers do that.
But attention to practice is the same thing. It's the same kind of thing in programmers and in artists of any level of sophistication. I mentioned that talking heads worked with Brian Eno. So Eno collaborated with Peter Schmidt, an artist. They produced a set of cards called Oblique Strategies. Has anyone heard of Oblique Strategies? They're to help artists by suggesting a change in thinking or a new course of action.
So you just deal with some cards randomly and they'll say things like, What wouldn't you do? Abandon normal instruments. Give way to your worst impulses. So Brian Eno used these cards when he was recording with David Bowie's three albums that they recorded together in Berlin.
Now talking heads recorded three albums with Eno, but they didn't use the cards because talking heads, as I said, they'd already been to art school. They were already interested and aware of practice. They had their own strategies to freshen stale habits and unblock stalled creative efforts.
And they deliberately embraced the naive in order to further their creative process. Their favorite technique was to swap instruments in the studio so that each musician was playing something they weren't very good at. And they'd often improvise like this, but they'd make sideways turns.
They'd do wrong things, unexpected things by swapping instruments. It made them less sophisticated and more naive. So out of that naivety, they brought forth something new. And the story of talking heads is one of continual reinvention and serious, surprising creativity for their entire existence.
And one thing that made it possible for them to sustain that was their understanding of the power of the naive. So it's not a coincidence that we have concepts like beginner's luck or beginner's mind in Japanese shoushin,
where the naive person approaches something and because their mind isn't already running on rails because of the education and sophistication, they come up with something new and unsophisticated. So being naive doesn't make you better at doing anything.
It doesn't make you more sophisticated. But being able to draw upon the naive might be something valuable. So for their speaking in tongues record, talking heads explored this tone of paranoia and menace. It's absolutely seething. And the record opens with a song burning down the house, which itself opens with a warning.
So it's sinister and it's dark and the songs seem to be conjuring up images of madness and sin and flames looking at the edge of the world and madness on every side. So the band are doing exactly what they want. They're in complete command of all of these forces.
But the last song on the record is called This Must Be The Place and it takes a funny turn. It's the most beautiful song on the album and the simplest, smallest one of them all. It's simple and I'm assuming that most people kind of missed it when it first came out. It's just got three chords all the way through. And it's got a parenthetical subtitle, this song, that's wholly accurate.
And it's unlike almost any talking head song until that point. And the most tender. And so you've got this whole, this huge slab of swampy, sidewinding funk. And then you emerge blinking into daylight with this... It's like spending the night in the company of demons and exorcists
and then coming into a clean, fresh morning. So the song, the record, speaking in tongues, starts with this slightly terrifying song about burning down a house and then ends with a song about being home. And for the band you can see it as a signpost of the next direction of their two albums where they explored naivety even further.
Now what's interesting about this song is in the 35 years since it came out, it has taken on life of its own. It's been rediscovered. There's a film named after it by Paolo Sorrentino with Sean Penn in it. I've not seen this.
Of the talking head songs, it's one of the ones that has been the most recorded by other artists. I discovered that by chance. I didn't know that. Mostly by people I haven't really heard very much of. It's not the song I would have expected to become one of the most recorded of their songs. It's an unassuming, simple song.
But there's something in it that people have been able to pull out. And I think it's probably because of its naivety and simplicity. Maybe it allows people more room to make their own interpretation. Maybe it's like one of those Disfarma portraits, that it speaks more directly to people.
Now I said earlier that being naive in itself is not a thing to be proud of. Sophistication is necessary to be a complete programmer or an artist. And if you lack it, that is a deficit. But sophistication is not the only thing that's required to be in command of your craft. It's not a substitute for technique or creativity or judgment.
And worse, the pursuit of sophistication can come at the expense of these. And the history of art is littered with artists who pursued sophistication and found they'd left no room for those other things. Their work becomes tired and jaded and stale. Their sophistication grew so much, it became a burden they couldn't set aside.
And I am sure the same thing happens to programmers. And if I had to choose, I would rather be a naive, inexpert programmer with a creative vision than a sophisticated expert who could solve all the standard problems, but who had seized to invent any new problems of their own to explore.
So my own code, I think, was messy and a little bit inelegant and didn't have tests and so on. Perhaps in some way it was like a botched effort by a child.
It was naive, but it worked. And I built a house once with my code, and it stood. And it did a job where I worked that solved a problem that other more sophisticated programmers had not solved. It delivered the institution I worked for something that was badly needed
and saved many thousands of pounds over several years. So it was only a means to an end, but it was a success as a means to an end. It served the institution, it served the people who worked for it. However naive, however bungling, however botched and amateurish, it was of real value to someone.
And I can be proud of that, even if I can't really be proud of the naivety. So all these figures and stories represent different models of the relationship between naivety and sophistication. And of all of them, I think this is the only one that has no value at all.
However sophisticated you are, I think you need to be able to recognize something that lies beyond sophistication. If your only response to naivety is dismissiveness or ridicule, what harm will you do and what will you fail to learn? So without sophistication you're incomplete.
But you don't need to be the ultimate sophisticate to be in command of your craft as a professional. You don't need to be a Georges Braque, and probably you're not going to be the Georges Braque of programming, I'm sorry to inform you of that.
You can be a Picasso, but you can be like Picasso, a sophisticated practitioner who's able to see past the deficits and limitations in the naive to its power and its gifts, to take advantage of them. You could be like talking heads, you can be sophisticated masters of your art swapping instruments in the studio to draw upon the naive as a creative resource, finding new ways to be and remain fresh and inventive.
Or maybe you're never going to be a sophisticate. In that case you could be an Henri Rousseau, and it would be prouder to be a Rousseau, whatever your limitations, producing work of incandescent invention, than to be a tired old sophisticate.
Those people who laughed at him, we don't remember their names. So their mockery of him was a bit premature. And if you're a programmer, you have every right to be proud of what you do when you exercise your powers of creativity and invention to solve a problem. Even if they're small ones, and even if the itch that you scratch is entirely private.
Or you could be a disfarmer, so naive that you're barely aware of the culture and traditions of your craft, but working quietly, producing modest creations of beauty. As a programmer, creating work of small but real value, doing it in whatever way you know how, however naive and limited. So these are useful ways for us to think about the relationship, our relationship with our craft,
and if I said one thing that makes one programmer feel better about their lack of expertise, or makes one programmer hesitate before pouring scorn on the naive, that's worth something. And in modern art, since the early 20th century, the naive has had an important and influential place in the world of art.
The adventures of Henri Rousseau took place over a century ago, and he lacked sophistication. He was incomplete, flawed, a lesser artist, but whatever his artistic deficits, we now judge him much more kindly than the ones who poured scorn on him at the time,
because he lacked artistic sophistication, but they lacked something much more important, which was artistic vision. So, long live the naive programmer, because I can't wait for programming to learn the same lesson that art learned in the 20th century.
Okay, thank you very much. Great speech. And also, is there a question for you?
Anyone have a question? Hi, just wondering if you had any examples that kind of came off the top of your head of kind of naive approaches to programming which have kind of caught on and become influential?
Well, Django itself, two of the four creators of Django, one was a journalist and one was a student of literature. So I think in the early days of Django, they did many things wrong, and they rapidly became sophisticated, they learned very fast, and they worked with sophisticated programmers.
But partly because of their naivety, I think, they dared to imagine, oh, we can solve this problem with some code. And being naive helps you not be put off by the huge task that's maybe ahead of you.
So I think that could be one example, perhaps. I'm sure there are others. There was a question at the back. Okay, this is the last question, because we have a long time. Hey, hello, thank you for the talk. I think that we're in an environment where we are pushed to sometimes pretend that we're sophisticated,
and I think that a lot of us do pretend that we're more sophisticated than we are. What would be your recommendation to talk to someone who obviously pretends he's more sophisticated than they are,
and tell them, no, it's okay to be naive, and please stop this? I don't know, maybe you can tell them the story of Henri Rousseau or Mike Desparma, because people will see that in other contexts, even if they can't see it in their own, perhaps.
I'm not quite sure it's a good question. Okay, sorry, we're out of time, so let's welcome, thank you. Thank you.