Keynote: The naïve programmer

This video features Daniele Procida at DjangoCon Europe 2018 in Heidelberg, Germany.

Keynote: The naïve programmer
0:50:23
Published May 25, 2018
1,123 views

Summary

Daniele Procida distinguishes naïveté from incompetence: a naïve programmer lacks the education, cultural context, and sophistication of the professional craft, but may still create useful, inventive work. Through Henri Rousseau, Mike Disfarmer, Talking Heads, and his own experience, he argues that sophistication is necessary for mastery yet can also suppress creativity, while naïveté can offer fresh vision and unexpected solutions. Experienced programmers should therefore improve their own craft without ridiculing less sophisticated programmers, especially people using programming as a practical tool rather than pursuing software development as a profession.

Key takeaways

  • Sophistication means understanding programming’s traditions, practices, concepts, and wider intellectual context, not merely writing clean code.
  • A programmer can lack professional practices such as testing or version control and still produce software that solves a real problem and has genuine value.
  • Naïveté is not the same as incompetence, although its limitations should be recognized rather than celebrated as an ideal.
  • Creative practitioners can deliberately use naïve methods—like unfamiliar tools or constraints—to escape habitual ways of working.
  • Code reviewers and experienced developers should look beyond deficiencies, avoid scorn, and remain open to ideas that emerge from outside established professional culture.

Summarised automatically from the transcript.

Chapters

  1. 0:00 Introduction and Context Daniele Procida introduces himself, DVO, his community work, and the theme of the talk.
  2. 5:32 The Naïve Programmer The talk defines naivety as unsophistication rather than incompetence and considers why programmers want to improve.
  3. 7:52 Programming as a Creative Craft Programming is framed as a creative art or craft with technical, creative, critical, and sophisticated dimensions.
  4. 11:50 Sophistication and Mastery Georges Braque illustrates how deep cultural and intellectual engagement can expand an artist’s capabilities, with parallels to programming.
  5. 15:48 Henri Rousseau and Artistic Naivety Henri Rousseau’s limitations and distinctive creative vision provide a model for understanding the shortcomings and possibilities of naive work.
  6. 22:04 The Creative Value of Naivety The talk examines how sophisticated artists can recognize, learn from, and preserve the unusual perspectives of naive creators.
  7. 24:26 Mike Disfarmer’s Unassuming Mastery Mike Disfarmer’s rural portraits show how remarkable work can emerge from an isolated practitioner with little connection to artistic traditions.
  8. 27:31 Naïve Programmers Outside the Profession The talk considers programmers who solve practical problems without professional tools, methods, or software-development culture.
  9. 30:42 Programming as a Tool for Everyone As programming reaches children, scientists, and other nonprofessionals, the talk questions how narrowly we should define broken or acceptable software.
  10. 31:28 Talking Heads and Artistic Development Talking Heads demonstrate how sophisticated artists develop their craft while retaining room for simplicity, experimentation, and surprise.
  11. 35:22 Process, Practice, and Creative Constraints The talk explores programmers’ attention to process and how deliberate constraints, such as swapping instruments, can unlock new ideas.
  12. 38:31 Balancing Sophistication and Invention Sophistication is presented as necessary but potentially limiting when it crowds out creativity, judgment, or the ability to invent new problems.
  13. 40:04 A Naïve Program That Worked Procida reflects on a messy, untested personal project that nevertheless delivered substantial practical value.
  14. 40:51 Recognizing and Respecting Naïve Work The conclusion urges programmers to develop sophistication without dismissing the creativity, value, and fresh perspectives of naive practitioners.

Transcript

7,675 words · auto-generated Show

Automatically transcribed, so expect mistakes in names and technical terms.

0:08

Speaker 1: Thank you very much and good morning everyone. As Raphael said, you've probably seen too much of me already. I'm Daniele Procida. Um that's what I look like on television and just for sake of uh to resolve any questions right now, as you can see it says that I am in fact Um Python software. I will never get tired of that photograph or of saying that. Before I say anything else, I'd like to start by um thanking the organizers, of course, for the invitation to speak here.

0:54

Speaker 1: But also for the conference that they have uh put on, um the team and in particular Tobias and Rafael have done an outstanding job with An unbelievable amount of care has gone into this conference and um I think we're extremely lucky to have people in our community who can do that. So thank you, Tobias. Raphael and all the team. I work at uh DVO. Uh we are a Swiss Django um software company. We provide Uh a cloud deployment platform for Python and Django.

1:41

Speaker 1: The idea is that we do your DevOps and you do your programming because you're Django programmers and uh you can do that without worrying about the machines, so we take care of that for you. I'm here with my colleagues uh Katie, our one of our site reliability site reliability engineers, Paolo, the Django CMS lead developer. I know many of you will be using Django CMS. and um Dennis who's one of our uh platform engineers. So um we'd love to talk to you. Um oh in fact we have um uh a kind of workshop stroke clinic on Saturday afternoon. Come and find us then we'll talk about anything that you like that's related to Django CMS or the platform or Docker or uh all those things.

2:26

Speaker 1: Um I'm really glad to be working for DVO for one reason, uh one particular reason is um actually for many reasons in case they're watching this, but one particular reason is the Support that DVO has given and continues to give to the Django and Python open source communities. So for example, we're sponsoring uh this event we're sponsoring the speech to text service um which I think really adds something to the event and we're really proud to be able to be um part of that. We've been receiving quite a a number of email messages um because our sign is up there saying, oh can you tell us a bit more about your um Uh your product, how you do this amazing amazing speech

3:13

Speaker 1: to text, is this product available? Well um the software took several million years of evolution to develop. And it's um running up there with uh Andrew and Cheryl who are typing on their magic canos and who've been doing a fantastic job um all all week. Um I am very heavily involved in in Django. Uh I'm on the core team of the Django project itself and I am the vice president of the Django Software Foundation. It means just means that I'm a board member of the Django Software Foundation.

4:00

Speaker 1: And that takes up a lot of my life and time in a very rich and rewarding way actually. So being here is is is uh very valuable and and important to me. Another thing that's particularly important to me is being involved in Python in Africa. So here are uh Jessica Upani and Anna Makaruzzi from Namibia and uh Zimbabwe respectively. They're both participants in this conference. They're both DSF members. You heard Jessica speak yesterday about organizing a conference for young students in in Namibia. Anna has been one of the volunteers at this DjangoCon. She's also a board member of the Django Software Foundation.

4:46

Speaker 1: And um there's a lot going on in PyCon in Africa. All the PyCons in Namibia, Zimbabwe and Nigeria have uh exist continue to run there's a new PyCon in Ghana starting um this year and um there are plans afoot for a pan-African PyCon So be aware of these things that are going on and maybe remind yourselves that if a Zimbabwean can help organize the Django girls at a European Django Con then maybe Europeans could consider participating in an African PyCon, even if you've never been, because it's a wonderful thing to do. Some

5:32

Speaker 1: contact information. But actually The best thing to do is just come and talk to me. I like talking to uh people. So I'd be very happy to talk to anybody. Um let me just find my water. Here we go. Okay. Okay, let's um let's get to business. So I want to talk about um the naive programmer. And I also want to be clear that the naive programmer, I'm not talking about the bad programmer or the incompetent programmer or the ineffective or the useless programmer. nor about the programmer that you don't want to have on your team or the programmer who has nothing to contribute or to teach you.

6:21

Speaker 1: The naive programmer is just an unsophisticated programmer. And nobody's born sophisticated, so even the most sophisticated of programmers was once naive. And the naive programmer is absolutely everywhere and I'm one of them. Now in most respects I'm I'm a fairly sophisticated fellow, um so sophisticated that I know how to spell naive with a diuresis and so on. But as a as a programmer I'm a bit less uh sophisticated than that. So here is the uh naive programmer. I don't know how easily you can read that from over there, but uh The programmer is saying, keep in mind that I'm self-taught, so my code might

7:07

Speaker 1: might be a little messy. And we'll explore this. Now everybody Would like to be better at what they do. I don't think this is a controversial idea. I don't think there's a single programmer here who doesn't wish that they could be a better programmer. And in this audience, we have some of the best programmers not just in our community, but in our industry. And I can assure you that they too want to be better programmers. Even the best, most expert programmers wish they could be better at their craft just as fervently as the most inexpert and fumbling beginners do. I take this m well not as an axiom, but you'll have to accept this that uh

7:52

Speaker 1: programming is an art or a craft or a skill, I'm going to use those terms interchangeably. You're just going to have to put up with that for the next 45 minutes even if you don't uh like it. Um but that's our starting point. Now of course there are different kinds of arts or crafts. Um some arts are aesthetic and they're measured against human judgment, so you might have well, human critics who have opinions um about your work. And in, for example, fine art or poetry or music, you can engage in a dialogue with your critics. Your your critics might be wrong if if they don't like your work. But in other arts, your uh practical arts, your your craft is measured against the world. It's not a critic who judges. The world decides, you know, gravity decides if if if you uh uh

8:38

Speaker 1: had faulty judgment in your craft. And in programming, you know, uh as anyone who has ever dis tried to enter into a dialogue with a pylon uh with the Python interpreter will find that it's a very implacable critic. And you can try threatening or pleading or begging, but If you have a traceback, you have a traceback, and no amount of arguing is going to change that. So some arts, you don't get to have a dialogue with your critic But there's a more important difference between arts, uh between crafts for this talk. Some arts are repeatable. So if you're a surgeon, you're expected to do a procedure in the same way every time. If you're a pilot, you're supposed to land your plane in the same way. each time reliably. But some arts are creative and programming is one of them, like painting or music or photography

9:26

Speaker 1: Each new work is a new one bringing something into existence that didn't exist before. So um they're new each time. If you go into the theater to see a brand new improvised performance, that could be quite exciting. If you go into the operating theater and find out that you're about to experience an improvised imp-performance of wild creativity, you might feel differently. about that. So as programmers, you know, we face the blank page, the blank canvas too. So it's a a creative art. And that's this means that even though programmers aren't um painters or photographers or musicians In one important respect, they're doing the same thing, which is practicing a creative skill.

10:12

Speaker 1: Does anybody know who all of these people are or any of them? Just for. No? Okay, well we'll come on to that. Now they each represent an important story about artistic naivety. And we should stop talking about being better or worse in art because that's literally a one-dimensional picture of it. In fact, there are many different aspects to being good at an art or a craft. All kinds of things matter. Technique, creativity, judgment, and sophistication. And you're not a complete artist if you lack any one of those. Because if you lack technique, you're inept. If you lacked creativity, you're dull. If you lack judgment, then you're uncritical.

11:01

Speaker 1: And if you lack sophistication, you're naive. To be sophisticated in your craft is to be educated, not necessarily formally educated, although of course that can help, but just to have been brought along in its culture, to be versed in its traditions and able to meet its standards. And the sophisticated artist is in dialogue with their own art, with the practices and theories of their peers, and also with the art 's history and traditions. Excuse me. It's thirsty work doing all this talking. And I'm a little less than refreshed because water started coming through our ceiling in the hotel in the early hours of the morning.

11:50

Speaker 1: So um anyway, this is um uh Georges Brac. He's one of the giants of Western art. He exemplifies every kind of artistic excellence. He's the epitome of artistic sophistication. And he was many things, but above all, he was a painter of truly exceptional ability. And even as a very young artist, he had a an obviously great talent, but He had some encounters with the fauvists and with Cézanne in his early 20s, and that ignited one of the most extraordinary developments in modern Western art. So Cézanne , following the French impressionists, French impressionists developed new approaches to structure and form and perspective.

12:37

Speaker 1: And he laid down the foundations for a revolution because Braque and Picasso together took off from those foundations and they invented um Cubism And cubism isn't just a new style of painting, it's a deeply theoretical intellectual struggle with questions about reality and representation of it. It's an engagement that reaches into multiple dimensions. It reaches back in time to uh contest with the history of painting across the arts to engage with developments in uh fiction and poetry and music, uh across cultures to draw on Oriental and African art and it draws in um trends in science and mathematics, in politics and technology and philosophy.

13:25

Speaker 1: Rach was an artist in total command of his craft. He was able to pull everything together in layer upon layer of intelligence and meaning and to speak back to the world uh through his art. He brought something so compelling to that dialogue that it could never be the same again. He's an example of sophistication at the highest possible level. And that sophistication is key to what allows us to call Brack a complete artist. Now, maybe it's a bit unfair to bring in a giant like Brack because I don't think you need to be a giant of that kind to be considered a master of your craft. But I do think that you need to be like Brach, you need to address your art

14:10

Speaker 1: with sophistication. So programming is of course is not painting, but sophistication applies to programming in just the same way. It's an essential dimension of the mastery of mastery of the craft. And there are programmers who have this mastery. As well as their technical, creative and critical powers, they have an ability to think deeply and richly about what they're doing. And faced with any challenge in programming They can draw upon all kinds of resources. Resources from all kinds of directions. They're versatile and powerful. They will see parallels and connections, relationships and tensions that a naive programmer would have no access to. And they work with concepts and ideas, some of which will come from other disciplines, that allow them to describe and conceptualize the problem

15:02

Speaker 1: field in ways that simply wouldn't exist for others. The sophisticated programmer just draws from a deeper well. And that's the programmer that we want to be. In possession possession not just of technical and creative and uh critical strengths, but uh to have this kind of educated intellectual power too, to have sophistication. And if the sophisticated artist allows us to understand what it is to be a sophisticated programmer, then the same goes for the naive artist. So earlier I showed you this picture. This is Henri Rousseau, uh th the painter, sitting in front of one of his ludicrous paintings.

15:48

Speaker 1: He was the quintessential naive artist. As far as I know, he was the artist for whom the term naive art was invented. He had no education in art. If he had influences, they might have been books for small children. or drawings in shop windows or advertisements that he thought were pretty. So this is certainly no George Brack that we're talking about here. So His work was coarse and buffoonish. He painted in this flat and primitive style with a child's grasp of perspective, and his subject matter was childlike, or even childish, and that was the only way he could paint. He was of considerably greater limitation than a decent high school art teacher, and probably of less artistic understanding too.

16:34

Speaker 1: And if I'm perfectly honest, the main problem with this painting is not its lack of sophistication, but the fact that it's utterly hideous. His understanding of colour was so lacking that according to legend he would go into art shops asking for tubes of paint the right colour to paint nudes. So it's one step up from painting by numbers. He was a painter of immense uh deficits, clearly. Um at least this painting has uh I quite like this one. This has got a lot of charm, even if it's also completely lacking in any sophistication sophistication. But as artist he was completely oblivious Uh some critics felt that his work was so devoid of any kind of thought or intention or direction that it they couldn't even say anything about it.

17:23

Speaker 1: He had a total lack of intellectual curiosity, so there's nothing in his work, at least some critics thought. um that could be understood or interpreted or interrogated or inquired about or learnt from. And he was genuinely clueless. He was once asked about which of the artists in the Louvre he preferred, and, according to legend, he replied, there are too many. You can't remember all the names. So he lacked any kind of intellectual framework to order and understand the history of art and its traditions. Um he's been described as having an intention deficit disorder of simply delivering paint to the canvas without much idea of what he was doing or why, of

18:10

Speaker 1: of being a kind of aimless hobbyist painter, uh a bungler. And at the same time, he was absolutely desperate for recognition and he was unsurprisingly ridiculed. uh an outsider looking in at the outward uh looking in at the art world, desperate to be on the inside, but blind to his own inadequacies, blind to his limitations, and blind to everything else that was happening in art. Although he thought he was a painter of great importance, and he relentlessly exhibited his pictures, and he loved And admired the works and artists of the Academy, but it's doubtful whether he saw anything in them other than the paint on their surfaces.

18:55

Speaker 1: And he endured years of sustained mockery from fellow artists and critics and the public and people literally I mean not metaphorically they literally queued up to laugh at his paintings One critic said that he paints as if with his feet with a blindfold over his eyes And here's the naive programmer again. So I don't know if you can read that, but I'll just redo the second panel. This is like being in a house built by a child using nothing but a chap but a hatchet and a picture of a house. So there's something in the tone of that same criticism that was leveled at Rousseau Um it's an amateurish bungler

19:41

Speaker 1: at work. The naive programmer is as ripe for a good laugh as the naive artist, limited and unaware of being of those limitations. I don't think a style guide is going to solve those problems. The problem here is not style. The problem isn't that the code is a bit messy. The problem isn't even Those deficits being identified by the reviewer, those are just symptoms of a complete lack of sophistication of education uh a crippling lack of intellectual resources to apply to the business of programming. So the naive programmers thinking is shallow and impoverished and narrow and weakened just asn' as as the naive artists and it comes out in their work. The naive programmer is less effective, weaker, less complete as a craftsperson

20:32

Speaker 1: who will always be limited by their lack of sophistication, and it's not a thing to be proud about. But here's a funny thing, because this photograph of Rousseau was taken by none other than Pablo Picasso. And Picasso was absolutely fascinated by Rousseau. Picasso was like Brack, an artist of a giant, of sophistication, but Rousseau Those are a couple of Rousseau's canvases, had something that Picasso didn't have and that Picasso wanted. And Picasso saw in Rousseau's naivety Not just a lack, but also something positive, a new way of seeing and representing what is seen. And

21:17

Speaker 1: Rousseau lacked sophistication. But he had other things. He had a powerful artistic vision and he burned obsessively with it. He developed a language of painting that was all his own. He may have been limited to his style, but it was his style, his own invention. He was genuinely creative. He may have been oblivious to problems in art, uh or even unable to describe the own problem field that he was trying to uh struggle with. But I think his work represents a genuine struggle with uh a private problem field. He was unable to connect with the history of art. But other artists of greater sophistication were able to understand his work and do that for him. So the fact is that without ever developing in sophistication, he became a painter of major

22:04

Speaker 1: significance. He was an influence on Picasso, on the Cubists, on the Surrealists, on the German Expressionists, on um Kandinsky, and became an important figure for modernism. Uh more widely, while being naive. So now we have two models for the encounter between the sophisticated and the naive. We've got the one of modern art in which the naive is something that can be understood and valued and learned from, and then we have this one. And I want to know what happens next in this story, because the fact is that, however naive, this programmer has built a house. Maybe there's something new in that building amidst the eccentricity.

22:49

Speaker 1: And despite the lack of sophistication education, the programmer created something worth reviewing. And maybe that's in a um in itself um something that's worthy of value or of cons of of considering valuable. Maybe there's a natural talent there. And the fact is, it did compile without errors. The naive programmer wasn't asking for help to get the code run, was asking for help to get the Uh uh uh to find a way to make the code better. The naive programmer deserves better than his sophisticated reviewer because she is not going to see past his lack of sophistication to anything of value in the code. And Rousseau is one of many artists of complete naivety who has made a serious contribution to the art.

23:37

Speaker 1: There are many others like um uh Alfred Wallace or uh Howard Finster , there's a whole industry of uh naive art. But since Rousseau, art has been alive and sensitive to what the naive has to offer. And if there are naive programmers with similar powers of vision and invention, the world of software should be watching out for them too. Here's another naive artist. This is Mike Disfarmer. He was a uh a small-town photographer in rural Arkansas, where he maintained a portrait studio. in Heber Springs, a town of just one and a half thousand people, and he made what were known as penny portraits, which actually were sold for you know three, four, fifty cents. He was so naive he didn't even know he was an artist In fact, nobody knew he was an artist

24:26

Speaker 1: until many years after his death, when thousands of his negatives were discovered and he became one of the photographic sensations of the 1970s. And all he did was take studio portraits of local people in his very basic studio. He wasn't part of any art establishment He wasn't up to date with any even the basic technical developments in photography, so he didn't use an enlarger. He made he made his prints with a contact method, using natural light. From glass plate negatives for about 30 years after everyone else had started using film. And that's would be like finding that the people next to you are still storing their programs on punch cards. But what's remarkable is the work he produced. He made these unassuming portraits of ordinary, mostly not very

25:12

Speaker 1: uh of uh people of modest means mostly looking quite careworn and they weren't created as artworks. He was just doing his job. And his pictures are intimate and startling and moving, and they're composed with immense skill and care. He was a master of lighting. whose only source of lighting was a single north facing skylight. And Um the they're like songs of of beauty and sadness. I think this is one of the saddest photographs I've uh ever seen. These pictures are a thousand worlds away from the usual small town portrait studio output. There are no cliches, there's no retouching, uh there are no standard forms or poses.

25:59

Speaker 1: Probably because he was so naive he hadn't even learned them. So I I think this is sad because this is uh her name is Emma Mayhoi. I think this is taken during the war. Her husband's in the Navy and this is a photograph she's having taken to please him, so this is why she's wearing a kind of navy blouse and cap. And you know his photographs have these people with their worn rough hands and their sad eyes. And he only had one song. But it was so beautiful. And all the resources that he had were his own. He had nothing else to draw on. He wasn't part of any artistic culture. Unlike Rousseau, for example, he he didn't even have pretensions to it. And these extraordinary pictures came from nothing else but his astounding eye for

26:46

Speaker 1: people. And you don't get to make pictures like this unless you know exactly what you are doing As I say, this was his only song, the only thing he knew. He didn't have versatility or range. He lived in his own little world, just doing his job. making these pictures of his customers. And maybe in programming there are Mike Dysfarmers too, toiling away on their own in their small isolated worlds, producing amazing little masterpieces that nobody else gets to hear about. And not every programmer is a software professional. Some are just completely normal people. Who for some reason have dared to write a computer program.

27:31

Speaker 1: So think about workplaces, offices, or factories or laboratories or anything across the world where someone with a problem Has allowed themselves to imagine that they could solve it by themselves by writing a computer program. And we occasionally meet these people. They've picked up a book on Python and they've made something. They've done these things in their own little worlds. uh unaware of the culture, working in eccentric and peculiar and naive ways that they arrived at because they found something that worked for them and nobody was around to show them anything different And sometimes they haven't heard of things like version control or separation of concerns or automated testing, and you'll find them doing things like writing their code in Windows Notepad or using an online environment because they didn't know how to make one on their uh computer.

28:16

Speaker 1: But software development is a profession and like any profession it puts up because it has to barriers of exclusion to guarantee quality, to protect the profession. Software professionals should not be using outdated inadequate tools or following poor practices. So in programming we very rightly pay attention to how people work and don't hesitate to make remarks about their tools and practices. But I'll say this again that not every programmer is or needs to be a software professional. And there are more of these programmers than you think. And they suddenly don't come to Django Cons. And we don't know how many of them are out there solving their problems in any way that works for them. And we don't know what remarkable things they might be making and what things of value

29:05

Speaker 1: They might be inventing. And I wonder what the implications of this might be for them, even if it's not directed at them personally Or even statements like this, which are not meant to put anyone down. And Jacob, as you know, is a software professional of the most accomplished kind, and more importantly, a kind and generous man. I don't think that statement is true If a Django girl goes into work the week after her first introduction to programming and she writes a program that solves a problem, it's not broken by design because she wrote it without tests, or wrote it in Python 2, or didn't use version control. Or um if a graduate student in a science lab realizes that she can write a simple application to automate some tedious process, then as long as it actually solves some problem.

29:55

Speaker 1: Are we entitled to call it broken in any respect, however deficient it might be by the standards of a professional developer? We're increasingly putting hands into the people, starting with uh children, who will never become software developers. We don't expect that they'll have a formal education in programming. We just want them to know a bit about programming simply as a tool for life and work in the world. And if we're going to do that, if we're going to put programming into their hands Whether we like it or not, we're going to incre encounter increasing numbers of naive programmers. And absolutely rightly, these people will consider programming if if they decide to do any to be nothing but means to their ends. And we need to get used to

30:42

Speaker 1: having naive programmers around us, and I think we need to consider what it means to make proclamations about what things are broken. Here's my final choice for looking at uh and it my final story. When I was a teenager I discovered the records of talking heads and they turned out to be an important part of my Education. I chose Tina Weymouth, their bass guitar player. So uh um uh here are the f all the four talking heads and they became famous for having really long necks. Um It I mean I'm not I'm I'm I'm not kidding. You can uh oh well it I think

31:28

Speaker 1: Between nineteen seventy-seven and nineteen eighty-eight, Talking Heads re released ten albums of exceptional creativity. and quality. As artists they hit the ground running. They were already quite sophisticated because they'd all been to art school. And they followed their first record with three more of um increasing depth and complexity and they dig deeper and reach further. And and first I just liked the sound that they made. But later, especially through reading about them, I realized that something else was going on. And as a teenager, it was my first encounter with sophistication as an artistic quality. And you can play their records one after the other and trace an artistic journey, a development. So after the more immediate response to the music, there's another level to explore that yields more, that uh as their

32:18

Speaker 1: sophistication as artists uh deepened By the time of their fifth studio album, they were masters of their craft. You know, they're so important that they were being reviewed, but this record was reviewed in the Wall Street Journal. This is speaking in speaking in tongues. And for much of this record they were exploring this um Tone seething with paranoia and menace and uh it opens with a song called Burning Down the House, which itself starts with the words watch out, so the whole thing is quite um threatening. if you like that kind of thing. And as a record, it's quite sinister and dark and very brilliant, and most of the songs seem to be conjuring up impressions of flames or sin or madness licking at the edges of the world. As a band they were doing exactly what they wanted.

33:04

Speaker 1: They were in complete command of their craft. But The most beautiful song on the record is the last one. It's called This Must Be the Place. And it's the smallest, simplest song of them all. And it's so small and simple and unassuming that numerous reviewers of the time seem appeared to fail to notice it. It only contains three chords all the way through. And it has a parenthetical subtitle. And it's unlike almost any other Talking Head song at that point until that point. It's the most tender. And following this kind of swampy sidewinding funk of the rest of the record, it's like emerging into blinking into gentle daylight after spending a troubled night in the company of exorcists and demons. So speaking in tongues

33:50

Speaker 1: Starts with a song about burning down a house and ends with a song about being home. And not much was said about this song, but In the 35 years since 1983, it has taken on a life of its own. Other Talking Head songs seem to resist being adopted by other artists by other musicians. But this one it invites it. It's been um it's been uh recorded by many other m musicians, it's been appeared on many film soundtracks. There's even a film by Paolo Sorrentino with Sean Penn named after this song. And I haven't seen any of any of these films or s or uh heard many of these uh recordings of it because I didn't know until I was researching something uh for this talk. Um

34:36

Speaker 1: So why has this little song flowered so late in life? Because there's richer material on the on the record. It's not a sophisticated song. If I were to choose a talking head song to present to a new generation, it w it wouldn't have occurred to me to present that one. So I can't say why this song has taken on this new life, but um maybe because it works as a canvas for other musicians in a way that other songs don't because of its simplicity. Um maybe it gives people more room Maybe its naivety speaks more directly to people like Mike Disfarma's portraits. But that wasn't actually what I was expecting to say. I only discovered that just recently. My main point was going to be something else A mark of sophistication in

35:22

Speaker 1: artists is close attention to process and practice. And programmers are very familiar with this. Programmers are fascinated by the process of programming and sometimes spend more attention on how things are done than what actually does get done. So they explore and debate strategies and workflows and methodologies and processes. Here's a um by the way, here's a so they pay a lot of attention to practice. Here's a nice joke I found about that. So there's craft work, inventing, electronic music, standing desks and scrum meetings all at the same time. So of course programmers love this kind of humor. And programmers are convinced that if they get their working methods right, everything else will be unblocked and will just flow. So planning, get your planning, your teamwork, your execution right, everything will work.

36:10

Speaker 1: That's what um sophisticated programmers think because naive programmers just try and work on their programs But attention to practice is the same thing in both programmers and artists in any level at any level of sophistic sophistication. The artist Peter Schmidt com collaborated w collaborated with Brianino, producing a set of cards for creative practitioners, oblique strategies. I don't know if you can read them so There's give way to your worst impulse. What wouldn't you do? Abandon normal instruments. And these cards are intended to suggest a course of action or a change in direction to assist the creative artist. And Eno used his cards with David Bowie on the three albums they recorded together in Berlin. And although Talking Heads recorded three albums with

36:58

Speaker 1: Eno , they didn't use these strategies. But the members of Talking Heads had been to art school and they were acutely aware of process in art and they had their own strategies um to freshen stale habits and unblock stalled creative creative efforts. Their favorite technique was to swap instruments in the studio so that each musician would be playing an instrument they weren't very skilled at. And that's often how they would compose new material. And swapping instruments was a way of forcing themselves into a sideways turn out of ruts, out of dead ends, out of tired old grooves. Because with unfamiliar instruments in their hands, their playing was less expert and had to be simpler.

37:44

Speaker 1: It became less sophisticated and more naive. They made more mistakes and discovered uh unexpected things. Sorry, this thing's all. Sorry this thing is rattling a bit. So out of the naive They found ways to bring forth something new, and Talkie Heads reinvented themselves continually and seriously and surprisingly. with sophistication for their entire existence. And one key to their ability to do that was their ability to harness the power of naivety. So earlier I said that being naive is not a thing to be proud of. It would be like being proud of being ignorant. Sophistication is necessary to being

38:31

Speaker 1: to be a complete programmer and its absence is a deficit. But sophistication is not all that's required to be in command of your craft. It's no substitute for technique or creativity or judgment, and worse the pursuit of sophistication can come at the expense of them. And the history of art is littered with examples of artists whose sophistication left no room, crowded out those other things. It grew so much, it became a burden that they couldn't set aside. And I'm sure the same thing happens to programmers. 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 ceased to invent any new ones of their own to solve.

39:19

Speaker 1: And as a completely naive programmer, I labored on my own invention, a new way of solving a certain problem. and I imagined and hoped it would set a little bit of the world on fire and it it didn't. But something I did along the way did manage to stick, which is why I'm standing here getting to speak to you. And most of you are much more sophisticated programmers than I will ever be. So I'm quite honored to be able to do that. It's like um Henri Rousseau being invited to address the academicians that he uh admired so much. Um but as for my code, well it was messy And it didn't have tests and it wasn't elegant and in some way maybe it was like a house built with a child

40:04

Speaker 1: uh built by a child with a hatchet and little idea of how to use it, and it was naive But it worked. The house I built as a programmer stood and it did the job that it was supposed to do Much better, by the way, than the creations of some of the much more sophisticated and expensive programmers who had tried to solve the same problem. And it delivered something that the institution I worked for badly needed, and it saved it many thousands of pounds over several years as a means to an end. It was a success. It served the institution and the people who worked in it. It was of real value or real value. And I'm definitely proud of that. And These figures and stories

40:51

Speaker 1: all represent um different models of the relationship between sophistication and naivety. And of all of them, I think this is the only one without any value. As a critic or a code reviewer, you should be sophisticated enough yourself to recognize deficits of sophistication. But what will you miss out on? If your only response to naivety is dismissiveness or ridicule, what harm will you do? What will you fail to learn Without sophistication, you're an incomplete programmer. Sophistication matters. Its absence is a deficit in both the art and the artist. And if you're a software professional

41:37

Speaker 1: aspiring to mastery of your craft, you need to develop this sophistication along with your other qualities. And George Brack was a complete artist, but you don't need to be George Brack to be a complete artist. And In all honesty, most people, most of you are not going to be a George Brack, because hardly anyone gets to be a giant in their craft. And you're probably not going to be a Picasso either. But you can be like Picasso, a sophisticated practitioner. Who is able not just to see past the deficits and limitations of the naive, but also to reach out for its powers and gifts and to take advantage of them.

42:25

Speaker 1: Or you could be like talking heads, sophisticated masters of their art, swapping instruments in the studio to draw upon The naive is a creative resource, finding ways to remain fresh and inventive, stepping outside sophistication to allow new and unexpected solutions to reveal themselves. You can see what I mean about their necks, they're amazing, aren't they? Or maybe um you're not a sophisticate, and maybe you never will be, but you could be a rousseau. uh or or at least like a Rousseau. Um it would be a prouder thing I think to be a Rousseau, whatever your limitations, producing work of incandescent invention than any tired old sophisticate um

43:10

Speaker 1: in the academy. History hasn't recorded their names, so after all, despite their mockery, it's Rousseau whom we remember. If you're a programmer, however naive, you have every right to be proud when you exercise your powers of creativity and invention to solve a problem, even if they're small problems. Even if the itch you scratch is only your own, and even if your grasp of the craft is in some respects badly deficient Or you could be a dysfarmer, so naive that you're barely aware of the cultural and uh of the culture and traditions of your craft. but working quietly, producing modest creations of unassuming beauty. As a programmer, creating work that represents small

43:58

Speaker 1: but real value Doing it in whatever way you know how, however limited and naive it might be, to solve problems So uh you know, long live the naive artist, uh since uh the early twentieth century We understand uh we understand those th the value of it and and the values behind uh this call Um all what I've talked about, the uh the examples, uh these are useful ways for us to think about our relationship with our craft. And if anything I've said makes a single programmer feel better about their expertise or lack of it, or makes a single programmer hesitate

44:46

Speaker 1: before pouring scorn on the naive, that might be worth something. In modern art, since the early 20th century, the naive has had an important and influential place. The adventures of Henri Rousseau took place over a century ago. And he lacked sophistication, he was an incomplete, flawed, lesser artist. But it's the ones who dismissed him for it that we now judge harshly because they were the ones who lacked vision, which is much worse than being naive. And I can't wait for the same thing to come true in the culture of programming. So thank you very much.

45:40

Speaker 1: We have time for some questions. Yep, I'd be very happy to have some questions. I'm sorry I was a bit unsure of the timing and uh so I may have rushed through that, but be really interested to hear your uh thoughts on that.

45:58

Speaker 2: Thank you. Uh an amazing talk has so frequently from you. Um you've managed to help me identify what it is about one of my work colleagues, and I believe this might be a feeling shared by others in the audience, oh that's what's wrong with Bob or Joe or whoever it is, their lack of sophistication in their programming. Uh quite apart from your final point of maybe that's not necessarily a bad thing, if we've been able to identify that our colleague lacks sophistication How do we lead them down that path to gain a little bit more sophistication?

46:37

Speaker 1: That's a good question. And Um if someone wants to be a uh a professional software developer, you know, uh a complete practitioner of their craft, they will need sophistication, education. And They will need to want that. And some people are content to be without that. And someone like that might be inventive and creative and valuable in all kinds of ways. But As uh somebody who participates in the culture working with other people, it will be problematic if they refuse to see sophistication as one of their Obligations as a as as a developer.

47:23

Speaker 1: In fact, this is, you know, people felt that Rousseau had failed in his obligations as an artist because he refused to do that. So Uh y your your task will be to educate, but you will have you can only educate people who want to be educated. I I I Uh I've no experience whatsoever in actually doing that and I suspect that it's probably a lot less easy than it might might seem. Yeah. Um but maybe I seeing that you know that it it's not stupidity, it it's it's it's not lack of creativity, it's not lack of hard work. But sophistication is a dimension all of its own that's really important. It might be a clue to finding that answer.

48:10

Speaker 3: Thank you, Early. Amazing. GitHub doesn't exist in uh a random person's basement. So how do we discover the mic disk farmers in programming? I mean, you know, you discover a disk in a basement, there's bit rot, there's what have you, and and You know, we're we're missing something ourselves to to find the the the jewels of the naive programmers potentially. Um

48:35

Speaker 1: yes, we are. And I think that, you know, we won't discover many of these things. But i I don't think that's completely true because um I I'm standing here. I was invited to join the Django core team as a naive, a very naive programmer. I mean I have other uh uh advantages um that allowed me to make a contribution. And what I found was I mean my experience of being a naive programmer w was never like that one in the cartoon I showed. My experience was the sophisticated people asking me how they could help me, looking at my eccentric work and

49:21

Speaker 1: helping me with it and encouraging me. So I'm extraordinarily extraordinarily grateful to uh the culture that we have in the Python Django community for um extending me that hand. Because it's that's been the story of my life for for the last uh eight or nine years. And Literally life-changing. I I believe that we should be doing that, and I think we're doing it already. I think of course we can do it more. I have encountered some of those attitudes, but not from our community and I'm really grateful for that. So um everyone who has helped me over the years it has made it possible for me to do what I do. Um but be aware, uh keep looking out. I I I think that's all all

50:06

Speaker 1: all you can do.

50:10

Speaker 4: Okay. Thank you very much Daniele for this sophisticated and interesting keynote.

Questions this talk answers

What does “naive programmer” mean?

A naive programmer is not necessarily bad, incompetent, or ineffective; they are simply unsophisticated. They lack familiarity with programming’s broader culture, traditions, and intellectual resources.

Discussed at 5:32

Why does sophistication matter in programming?

Sophistication lets programmers draw on a deeper range of concepts, connections, and ideas when solving problems. Without it, a programmer’s thinking and work remain narrower and more limited, even if they have technical ability.

Discussed at 14:10

Can code written by a naive programmer still be valuable?

Yes. Code can be messy, untested, or made with unconventional tools and still solve a real problem, deliver value, and even outperform more sophisticated solutions.

Discussed at 22:49

How can programmers use naivety to stay creative?

Even sophisticated programmers can deliberately step outside their usual expertise—for example, by changing tools or approaches—to make simpler choices, accept mistakes, and discover unexpected solutions. Naivety can therefore be used as a creative resource, rather than treated only as a deficiency.

Discussed at 37:44

How should experienced programmers respond to naive programmers?

They should recognize the deficits in a naive programmer’s work without dismissing or ridiculing the person. A sophisticated reviewer should also look for creativity, invention, and other value that may be hidden by inexperienced practices.

Discussed at 40:51

Note: We understand that names change, people change, and bodies change. We respect each individual's journey and privacy. If you have any concerns about a video or need us to remove content, please don't hesitate to contact us. We will handle your request with care and promptly address any issues.

More videos by Daniele Procida

More videos from DjangoCon Europe