RubyConf 2019 – Keynote – Collective Problem Solving in Music, Science, Art… by Jessica Kerr

RubyConf 2019 – Keynote – Collective Problem Solving in Music, Science, Art… by Jessica Kerr


Good afternoon. Hey, everybody. We’re going
to go ahead and get started. Hello. How’s it going? How’s day one been for everybody? 
[ Cheers and Applause ] Good to hear it. I am one of the directors
with Ruby Central. So, we have got a couple of announcements before we get started with
the afternoon keynote. First off, as you probably heard this morning, we have enough
seats for everyone, but that is only if we don’t have a bunch of seats in the middle
that go unoccupied. So, if you have a seat next to you right now, please stand up and
just move in. We’re all friends here. We are a friendly community here in the Ruby
world. So, say hi. Get to know one another. So, that everybody coming in can see those aisle
seats and grab them. Everybody will greatly, greatly appreciate it. Thank you all! 
So if anybody’s looking for something to do this evening, we do have a physical events
board full of all kinds of great stuff to do this evening and the next few evenings. That’s
over by registration. Earlier today we tweeted out a link to a site online that has a bunch
of events including a board game night this evening, a bunch of great stuff to do all
around the conference. Additionally, in terms of t‑shirts, hopefully most of you got yours
today at lunch. If you did not, you can come and get your shirts tomorrow at lunch unless
you were explicitly told not to come back until Wednesday to get your shirt. In which
case, please do that. For anybody else, if you would like to purchase an additional shirt
or exchange your shirt for a different size or if you registered late and you didn’t get
a badge with your name printed on it or a t‑shirt, you can get those also Wednesday
at lunch. Come back and get your extra shirts there. 
So without further ado, that’s it for our afternoon announcements. We hope you enjoy
your first evening with RubyConf. Without further a, do I would like to welcome Jessica
Kerr to the stage.  [ Applause ]>>In the years around 1580, in the city of
Florence, Italy, a group of people came together to solve a common problem. They called themselves
the Florentine camerata. Their mission? To reform modern music! That music was polyphony,
and it sounded like this.  [ Multi voice music ]
Very pretty. It consisted of four or five melodies all equally important, all entwined
with each other, and it maximizes for a feeling of holiness. The camerata dared to ask the
revolutionary question: What if we could understand the words?! 
[ Laughter ] Specifically, they wanted music with an optimum
balance of words and music to convey experience, to convey emotions, and a whole array of emotions,
not always holiness.  The camerata said out to do this. And what
interests me about this group is how much they remind me of a modern agile team. First
of all, they’re multidisciplinary. You have got musicians like composers and singers but
you also have poets and astrologers and scientists and philosophers. And they’re all coming
together in a group because they all care about solving this problem. They have sponsorship. So,
they met in the homes ‑‑ in some ways it was more like a meet‑up than a team,
but roll with it. They had that common purpose that was important, and they had agreed upon
methods. How are we going to reform muse snick back then they thought history moved
in a circle rather than a progression or a spiral. So, to go forward you needed to go
backwards. So, they researched how the ancient Greeks set words to music. The thing is this
lent legitimacy to their work, this method. So, it’s like when I cite computer science papers
from the 1970s.  Caccini remarked that he learned more from
their learned discussions than from 30 years of descant. That means lecturing, so what
you’re getting now. Fortunately this conference is full of learned discussions. They met
every week or two and talked about this. They didn’t just talk. They also played music. The
camerata was for performance. They had code review. I liked the part where the censors
were nominated for the occasion. It wasn’t always the asshole who hates you and took
it out on your card. They didn’t always get along. Bardi wanted to do more talking and
Corsi wanted to do more playing of music. And similarly the musical stars, Caccini is like
it’s about the music and Peri is, it’s about the words. Your architects can’t agree on
everything. But balance was achieved. The camerata totally made history. They succeeded. They
came up with the radical innovation of a single melody with a little bit of musical accompaniment. Everything
obvious wasn’t always. And this style, it spread through their network of correspondence
to Rome and Italy and the world. And then people were listening to this. 
[ Music ] I still can’t understand the words. But I
don’t speak Italian, and I’m told that if you do speak Italian, that doesn’t help either. Because
this is ancient Italian. Back in the day, oh my gosh, people got it and they felt it
and it spread through the world because it connected a whole generation of people with
music. And they couldn’t have appreciated it otherwise. So, the camerata totally changed
the world. They invented opera, which is how we marked the beginning of the baroque
era. That’s huge. But that’s not what interests me. What interests me is what happened with
the individuals in the camerata afterwards, so after 1600. These are some of their publications
from Wikipedia, and there’s a couple of operas on here, ya ya. But there’s math and philosophy. Vincenzo
Galilei contributed his son, Galileo.  They did not expect that in 16th century Florence. So,
that I found really fascinating, so I went looking for more information, and I came upon
this paper, collective problem‑solving in the history of music. Published in the journal
of the history of ideas. This paper compares ‑‑ all the quotes in this presentation are from
this paper unless otherwise attributed. And Dr. Katz compares the camerata to the kind
of invisible college that is known to be the source of progress in science. Invisible
college is the group of people in your lab or that you share a faculty lounge with or
that you correspond with. All the people who are working on a similar problem to you
or criticizing your work. And invisible colleges are essential and they have these characteristics. They
have tacit understandings concerning appropriate methods of research. They have priority problems,
that means fighting over who was first. More of that later. And they have the shorthand
communication, a shared language kind of like do main‑driven design. They are able to
talk to each other, and therefore when one of them hits on the right idea, that I can
spread it. These are found throughout science. We love to tell the hero stories of the great
discoverer, but that’s not how it goes. We’re taught in school that Benjamin Franklin discovered
electricity. Franklin was a cool dude and did a lot of work but he was building on and
collaborating with dozens if not hundreds of amateur electricians around the world. Lots
of people were doing experiments about the unexplained phenomenon that we now call electricity. But
he gets all the credit. Ben Franklin, one of his cameratas was called the club of honest
Whigs. We’re up to around 1770 in London. They met fortnightly to dine and imbibe and discuss
religion and politics and other matters. This is a book about Joseph Priestley. He’s credited
with the discovery of oxygen because he noticed it. He passed to the man who founded chemistry. He
did a lot of experiments ‑‑ he would get a mouse and weigh it and put it in a jar
and see how long it took to die. Sorry mice. And then weigh it again. And he would put a plant
in a jar and see how long it took to die. And one day he put a mouse and a plant in the
same jar and they didn’t die nearly as soon. This wasn’t appreciated until the 1920s when ecology
became a thing. But more currently, he also invented the carbonated beverage. He passed
that to someone who made a lot of money.  But Priestley was built up and encouraged
by the Club of honest Whigs. This was during the enlightenment, a time of great progress
in the world. And one of the reasons for that was coffee. Coffee had just been imported
into all of Europe, so people were drinking coffee with breakfast now instead of beer…
[ Laughter ] Every discipline was new again, and whole
new disciplines emerged. Of course, this also happens in art, and Dr. Katz talks about
the salons in Paris and the coffee houses there where you’ve got artists but also critics
and collectors and all the stakeholders in the art world, everyone who cares coming together
to talk about the latest advances. And in art, the idea of a common problem corresponds
to a new artistic style. So the impressionists answered the question, what if I painted not
what is, but what I see?  Here’s a picture of one of those salons where
they talked about this. This one, I took this in Paris when I went there. Its name
is the agile bunny ‑‑ except in French. And just down the street from that, here’s a plaque
on the side of the house. Here’s a house and a bunch of famous painters and poets and print
makers who happened to live there all at the same time and then went on to become famous. Not
a coincidence. One of the people who got a lot out of hanging out in Paris was van
Gogh. So, here’s a painting that he did in the Netherlands. There’s a cabbage and a
carrot, maybe. Meanwhile, his brother Theo is in Paris and Theo is like Vincent, you
must come here. You have no idea what colors they’re using. So, Vincent gets evicted in
the Netherlands so he does go to paste. And sure enough, he learns all of the colors that
we associate with his paintings today. And Theo was like wow, you have created for us
a circle of artists and friends. A lot of other painters grew and evolved with van Gogh. Toulouse Lautrec,
his paintings show up later. Gertrude and her brother were Americans and they fed a
lot of artists. Gertrude Stein had the first collection of modern art. The other people
who came to her atelier, I think that means big room. Whitehead is a philosopher, and
there’s a poet and writers, a bunch of interesting people. People who were interested in what
was going on in the day. Later, Picasso and Braque, they defined cubism, which answers
the question, what if I want to paint all the perspectives. Picasso made money during
his lifetime and so he ran a salon, and many came out of that including henry Miller. One
of the painters was Aleksandra Ekster and she was from Kiev. These other Alexes hung
out with her. And this goat head is on my bedroom wall today. Ideas get bigger as we
pass them on.  I’ve seen this in software, too. I’ve noticed
from going to conferences that I keep running into other speakers on all different topics
who, when I ask them about their history, they talk about being on this really cool
team in ThoughtWorks London around 2003 to 2006. They all worked as consultants for
different clients, but they came together to solve the problem of how do we deliver
software in under two weeks and without hating life. And Jez went on to write more books
and Dan goes to create behavior‑driven design. Nat Pryce wrote and Sam Newman is the prophet of microservices. They
all started in one critical team. I also see it in a team that started Spring around
the same time in London and across the world. Rod wrote the initial book and the objective there,
the problem statement is how do we do Enterprise java without stabbing our eyes out? And they
all came together to produce a software solution and a company that solved that problem for
people by not making humans write all of this ridiculous amount of repetitive code. And
a couple years ago, I’m in an elevator at KubeCon London and Rod and Christian are like
we know him! Sure enough you have the founder of Elasticsearch and venture capitalists,
all from this one same team. I gave this talk in Australia and Kent Beck came up to
me and was like oh my gosh, have you heard of the Hillside group? That was one of his
early cameratas. They came together on a hillside, among other places, other a course
of years. They were trying to solve the problem of is it possible to write software such that
two years later, we can look at it and actually understand it? 
They had architecture patterns to start with. So, Ralph Johnson, Grady Booch, ward Cunningham
created the wiki. And these days Martin Fowler is bet known for refactoring and Michael Feathers
invented legacy code.  The pattern repeats. The pattern keeps showing
itself. That these teams have some sort of magic. You want to think that you can hire
a bunch of great developers, put them together, and poof! Get a great team. I have never
seen that work. But what I have seen is the other way around. Great teams make great
people. Great teams make great people.  Okay, why? The next question is why? Because
if we know why, then we can do it on purpose. I have a model for that, a theory that also
answers some of my other burning questions about software development, and I want to
share it with you. It starts with Gregory Bateson. His father was William Bateson,
who coined the term genetics and he along with women in his lab made genetics a thing. He
had a dozen octopuses in his livin groom for a year to study animal cognition. 
One of his early cameratas is the Macy conference on cybernetics. John von Neumann. Claude Shannon,
Margaret Mead. Warren McCullough, Kurt Lewin. They came together many times, and we’re up to
1950 here. They talked about feedback loops and circular causality and how could we take
this newly recognized pattern and apply it in different fields. The concept of feedback
loops feeds into systems thinking. Gregory Bateson was huge into systems thinking. You
can’t look at parts individually and get anything. You’re missing the important bits, because the important
bits are between the parts in the relations and in the feedback loops between them. That’s
what makes the system. Bateson applied this in a lot of fields with a bunch of psychologists. He
came up with the concept of the double blind and the idea of family therapy. The radical
idea that maybe if we care about someone’s psychological health, maybe we don’t just
go deeper into their individual head. Maybe their situation matters. Maybe their family
is relevant to this. Everything now obvious wasn’t always.
So Bateson loved systems thinking. One of Gregory’s other contributions is his daughter,
Nora. Nora Bateson is also an anthropologist. So, she grew up steeped in systems, in relationships,
in deep context, in the idea that one perspective is not enough. We need many perspectives. And
she says this word systems is not cutting it any more. When you think about a system,
you might think about something mechanical, like a big machine or assembly line that okay,
yeah, you need to understand the parts and how they interrelate. But if you got enough
formulas and put them into the computer, you could master it. They tried to do this we
co‑systems in the ’50s and ’60s. So, you have dozens of grad students spending
thousands of hours counting blades of grass, separating the bugs into species and weighing
them and burning them and then weighing them again, because they thought if they just got
enough numbers and formulas into the computer they could master the ecosystem. They could
predict outcomes and how to intervene constructively and it never worked. No. That’s not how
it goes. Because those species don’t hold still! They don’t relate the same from year
to year or month to month. They’re constantly evolving and they’re constantly finding new
niches and generating new species. So, Nora says look, when you’ve got a learning system
made of learning parts, that’s something different that we don’t necessarily associate with this
word “system.” We need a new word for it. So, she coined the term symmathesy from the Latin,
sym for together and mathesi, which is learning. It’s a system where all the parts are learning
from each other which enables the system as a whole to learn. 
This is an extremely powerful concept. We know a system is not the sum of its parts. That
would be an aggregate. We have it’s also a product of their interactions. Yeah yeah. But
Nora Bateson points out that the parts are a product of past interactions. That’s a
symmathesy. This is really powerful. There are no zero sum gains in a symmathesy. For
me to win, you also have to win.  Of course our teams fit this. We know our
teams are not an aggregate. We’re more than the people and the environment represents
the desks and chairs, the leafy thing here. Our relationships matter, too. Thank you, agile. Yes,
we communicate. But also, we’re each colored by our past interactions with each other. I
am the product of many teams and families and communities that I’ve been a part of. So,
yeah our teams are symmathesies. I think a software team is even more of a symmathesy
than other human teams. With software, it’s not just the people involved. So, for my
team to succeed, we need to be operating useful software in production. And that takes the
people, yeah yeah yeah, and it takes that software running in production. That running
software is essential to completing our success criteria. And! It learns from us, because
we change it. That’s our job. And we learn from it! We learn from the exceptions that
it throws, the day that that it changed, the event traces. So, the running software is
participating in the symmathesy. If we don’t learn from it directly, we need our SQL queries,
our event agitators, our screens, and our logs. We need our IDEs and our source controls
and deployment pipeline and automated tests. So, the tools are essential. We only learn through
the tools. We learn when the test fails, and the tool learns from us because we change
it. We add automated tests, we write SQL queries. Hopefully we can improve our deployment
pipeline and add entirely new automations because we have that power. We work on the
computer and we work in the computer. We can change the world we live in. 
So the tools are part of the symmathesy. It’s one big socio‑technical system, if you want
an even longer but older word. This answers a couple questions for me. One, why do I
need to be able to bring my whole self to work? Well, to be part of a living, learning
system, I need to be alive in it. And also, when I look at all the interrelations here,
when I think about how many connections there are that are important, I start to understand
why this is so hard. Because in 20 years of software development, it has not gotten
easier! It’s only gotten more interesting… [ Laughter ]
Now it wasn’t always so complicated, at least I didn’t feel it. When I first started developing,
it was me and the piece of the system that I worked on, which was pretty small. And somebody
handed me the requirements, make it do this thing. Okay. I’ll make it do this thing. I
said how do I use the database and they gave me a book on oracle. Just kidding. I bought
it myself.  [ Laughter ]
But that was it. It was a closed world. I felt like it was. Not any more. These days,
oh my God, we need to save some space. Which databases? Migrations? Back‑ups? Caching? Ahhh! My
scope that I look at is a lot wider and my influence is a lot wider. I’m able to think
about more and change more about the system. And this tells me what it means to be a senior
developer. Or an Enterprise architect or a high level individual contributor, whatever
you want to call them. A senior developer thinks even more widely and influences even
more widely. So, the senior dev knows about the systems that our system connects to, the
infrastructure or system runs on and what the purposes of those systems are and knows
people on those teams. Because we’re always gonna need some of the knowledge that they
have. The senior dev knows people outside of the company like meeting them at conferences
because you never have all of the knowledge that you need in‑house, and you need people
to ask.  Another reason this is important is that our
team needs to have influence on the other teams. It’s a thing that you can’t take a
team and say, “You, go self‑organize in this box!” And don’t bother us. Just keep
to yourselves. That’s not how it works. Because we are impacted by other teams, and other
teams are impacted by us, and that’s healthy because they’re learning from us and we’re
learning from them. We don’t control them, but we need to influence them. And the organization
as a whole is learning from this. It’s symmathesis all the way up. 
There’s one more thing I need to add to this diagram, and then I’ll pretend it’s complete. And
that is a big red line between the human and the digital space. Because if I want to learn
from my co‑worker, I can be like yo, what’s going on? Tap them on the shoulder, ping
them in Slack. Here’s what I’m doing. But if I want to know what the software is doing,
I can’t just look down and see what’s going on in there. I am limited to my screens and
my keyboards until Tron is a thing, I can’t get down there and kick it to make it do something
different. I am limited to my IDEs and my deploy buttons. All we have is these representations
of the software. This barrier is called the line of representation, because that’s all
that gets through. What’s going on in our software? I can look at the app screens. I
can look at my event tracing. I can look at the database. I can look at the exceptions
or the logs. But all of these are just representations of what’s going on. I can look at the code. That’s
another representation, and I can change the code and push that through into source control
and the deployment pipeline, and that represents what I want the software to do next. 
This line of representation is a barrier to learning in the system, in the symmathesy. It’s
a tricky one. In particular, it makes it really hard to get an accurate mental model
of the system. Because when we’re doing our work, and let me be specific here, our work
is not typing. You can tell, because we don’t type all day. And most of what we type, we
delete.  [ Laughter ]
Our work is making decisions. What to type, what questions to ask, what to look at, what
to change next, what buttons to push. Decisions are the hard part, and those decisions are
based on knowledge. Including our mental model of the system. And here’s the thing,
because of that barrier, because we can’t look at it directly and really see what’s
going on, the mental models are never perfect. For any system of sufficient complexity ‑‑
and we’re way past that in our software ‑‑ everyone’s mental model is necessarily incomplete
and out of date and in different ways. Now, that part has its advantages because there’s
a reason we have a team, and it’s because this whole system doesn’t fit in one person’s
head. And in his book “Why Information Grows,” a statistical physicist talks about the concept
of a person byte. A person byte is the maximum amount of information you can cram into one
person’s head over their lifetime. It doesn’t matter how much that is. What matters is
that it’s finite. Our brains do not scale infinitely. We have to go outward. We have
to form a team. And in that team, we need overlapping mental models, meaning that shared
language of communication. But then we also need diversity of knowledge so collectively
we can come up with some idea of what’s going on in the software. It doesn’t matter just
what is; it matters what we see. Because that’s how we make decisions. These mental
models are super valuable. They’re how we do our work, and they’re super hard to acquire. I
started to appreciate how hard when I read the book “Vehicles” by Valentino Brightonberg,
a 1970 philosopher, and he illustrates the philosophy of downhill invention, uphill analysis. This
says if you start with a system that you’re building and they start out simple and then
you add features and complications and complexity and you make it more and more interesting,
that is easier. Oh, and you build up your mental model as you go, as you’re building
it, that is so much easier than coming to an existing working complex system and gaining
an understanding of it. That is really, really hard. It’s counter intuitive, but it does
explain the thousands of JavaScript frameworks.  [ Laughter ]
Because it really is easier. Oh, I just needed to do this one thing. I don’t need all of
this other stuff. You make it do that one thing and then the next thing that you need
and then the next thing. And every step here is obvious to you and no one else in the entire
world. But that is easier. It’s not less work. It’s not less typing. But it’s easier
to build your own JavaScript framework and to build it up in your head than it is to
learn React despite hundreds of people who spent thousands of hours on documentation,
tutorials, API design, making this as approachable as possible, you’re still starting at the
bottom of the hill. And mentally it’s more challenging to learn React than to write your
own JavaScript framework. So, these mental models are really hard to build and they’re
really crucial. This leads to situations like this. Okay. Here you have a piece of
the system. And you have purple developer. Purple developer has a great model, great mental
model of how that system works. They probably wrote it. But maybe purple has been making
changes, but maybe they want to go on and do something else, or maybe we need more people
on this, we think. So, here come blue and green. Blue and green have been assigned
to this project, probably part‑time, and they don’t have a good mental model. So,
they come in and they’re trying to gain understanding. Purple is churning through tickets and making
changes, and it is very, very possible and even likely that purple can change the system
so fast that no matter how hard they work, no matter how smart they are, blue and green
will never get a solid mental model of it. Never. I have been in that situation. Meanwhile purple’s
over here looking like a 10X developer, being like what’s wrong with those morons, everything
takes them a week and then they get it wrong. There’s one solution to this, and that requires purple
to take their hands off the keyboard, stop making changes to the system except through
the hands of blue and green. Para programming. This way blue and green get the chance to ask questions.
How did you know to look there? How would you test that? What about that? I was gonna
delete that. Purple learned what was not obvious. 
But is purple gonna do that if what they’re rewarded for is closing tickets? If these
developers are stack‑ranked, why would purple bother transferring their mental model over
to blue and green? Why would they take that time to work alongside them, which is the
only way the mental models transfer.  This gets to the conflict between individual
and group interests in an invisible college and in a team. In science, it’s about who’s
first. Two people invented information theory, but Shannon published first and he’s the name
we know. We have two working on calculus. They would send each other messages in secret code. If
you can decode my message, then maybe you’ll be slowed down enough that I can publish first! That’s
not what I want in my team. I don’t want to conserve ideas. Because ideas are not
like matter and energy. This is not zero sum. If I give you an idea, I don’t not have
it any more. It gets bigger. You’re gonna make it better. Ideas grow with sharing. Like
Coraline mentioned today, she quoted that transferring knowledge is multiplicative. It
gets bigger as we share, and that’s what I want on my team, because I want my team to
grow!  What does it mean to grow this kind of team,
a software team? If it were an aggregate, we would grow the team by adding people. But
we know that all of those people need relationships with each other and those matter, and this
is a system. And how do you grow a system? Well, it depends. In the economy, the economy is
definitely a symmathesy. We don’t talk about geographic area or the quantity of money in
circulation. We talk about flows. So if I buy coffee for $5 and the coffee shop pays
the barista and rent, that goes to GDP. More flows, bigger economy. In ecology, they measure
the size of the prairie eco‑system by flows of key nutrient,
carbon, nitrogen, phosphorous. If carbon flows between each species that represent
the magnitude, the richness, the meat of the ecosystem. It gets bigger by adding more
species and by increasing the flows. So, our team as a symmathesy, it’s a system based
on flows of learning, then we grow our team by growing the flows of learning. Especially
across the line of representation, because that’s a bottleneck. But purple grows by
moving that mental model to blue and green, by increasing the size of the team. And that
is how purple is gonna be a real 10X developer instead of just looking like it. It’s one
of those oblique goals, to be great, put the team first and the team will make you a great
developer. It’s like happiness. You can’t just aim for happiness. You have to do something
that happens to make you happy. You have to produce something that happens to make
a profit as a business.  To become great, put the team first. And
if you think you can’t hire enough great developers, look inward, because great developers aren’t
born and they’re not trained. You can only get so much from college and YouTube. Great
developers are symmathesized. This is the point that I wanted to get to in this talk. This
is what led me to research the camerata. This is the similarity that I saw between those
software teams and this team from the renaissance. But as I was reading the paper about collective
problem solving, I came upon something else, something that surprised me and made me say
wait? What? And gave me an even more audacious idea, and I want to share that with you. It
starts with the surrounding culture. So, the camerata were in Florence, the center
of the renaissance, at the height of the renaissance. And there was innovation in the air. Side note
on the word innovation, back in the days of Priestley and Franklin, it meant something
that would disrupt the existing order, and that was bad back then. But Priestley and
Franklin and John Adams, in the age of reason, they were like we can use reason to come up
with ideas that will improve the current system, that will make it better. And now that’s
what innovation means now, something that improves on the current system. And that’s
the sense Dr. Katz used here. The camerata were like mid wives to a century full of social,
political, and cultural ideas from which opera emerged. One of those ideas was about systematic
testing and measurement. So, the scientific method is just becoming a thing. We have
the first known person to rigorously measure string and the weight on a string. You stretch
out string and you get a note. Bing bing bing. Pretend that’s a C. And he increases
the weight until he gets the same C an octave higher. And then shorten the string. Bing
bing bing! He measured what it took to get different notes at different octaves and cords
and he found ratios between them and he brought the math into music. I’m sure that was useful
to the camerata somehow.  Today, we have new ways of thinking about
the world. We have computers. We can do math that we couldn’t before, because we can
offload those calculations from our brains to software. Back then in the camerata, they
had the printing press to disseminate knowledge. We have the internet for maximum knowledge dissemination. But
dissemination is not enough because you can only fit so much in one human head. It takes
a team of people to hold all the knowledge that we need. And that is the other thing
about the surrounding culture. The very existence of such groups as the camerata was new. 
It was new. And one of the things that made it possible for the singers and the poets
and the scientists and the philosophers to all be in a room together was the recognition
of Art as a thing. This is the part that made me say wait, what? There was a time
when Art wasn’t a thing? I would go to the Art museum and I would see statues from like
5,000 years ago. They’re not pretty, but they’re definitely Art. And that’s the thing. People
were doing sculpting and painting and playing music, but those were crafts. In the middle
ages, painters were craftsmen and they joined the painting guild and you got into the painting
guild because your dad was in the painting guild. It wasn’t about talent. And at the
end of the day, you went home and you had a beer with the other painters in the painting
guild or maybe the gold Smiths, the next guild over, and the sculptors hung out with the
bricklayers. It was just a craft. Competence was basic. If you hired a painter, you could
be sure they could come up with a reasonable facsimile of what you asked for. 
But with the renaissance, you have painters who maybe specialize in landscapes or sculptures
of people or cupids on ceilings and you have merchants who can hire these artists. It’s
a little riskier. Not everybody has a computer science degree any more. But then people
noticed that there was some common thread between sculpting, painting, music. They
didn’t have a name for the common thread. Today we would say creativity. But they knew it
couldn’t be taught, and that gave it prestige. So, now you’ve got these artists having prestige
studying in academies with other artists in different areas and philosophers and they
are in the cultured circles like the camerata. Suddenly, the painters, the musicians, the composers
have status. And you get to talk to them and the camerata became possible. The renaissance
was a time of transformation, of homogenous artistic circles into cultured circles. So,
the painters are not just talking to painters any more. It was a period of decompartmentalization.
Breaking down barriers that kept things in order, but also apart. Programmers, testers,
operations. Given enough time, you might get what you asked for from that arrangement,
but you will not get what you need.  And the new style emphasized expressive qualities’
impact on the world over beauty of design and craftsman code coverage. Design patterns. I
want my software to be useful and grow more useful over time. And that is what I care
about. Software is not a craft, and I am not a crafts person. 
[ Applause ] Programming is a skill. And it is a crucial
skill, and we need it, and we need to be good at it. A painter needs to know how to hold
a brush and mix paints and pull a canvas ‑‑ back then at least. But java, it’s acrylic
paint. Ruby is like water color. BASH is a song on a loop. Don’t put it in your orchestra! 
This is an essential skill. We can’t do our work without it, but it is not the essence
of what we do. Art has impact on the world. If I listen to music or look at a painting, that
can have an impact on me and that changes how I interact with the world. Software is
more direct. We change physics. If I pick up this box and I move my finger just right,
a car shows up and takes me where I want to go! That is amazing. That did not happen
five years ago!  Now it takes people, too. It’s not just software. It
takes technical systems, but code is an essential part of that change in the world. 
Code as a medium is unlike anything we have ever worked with before. It’s more moldable
than metal, more flexible than plastic. You can almost design right into it. And the
feedback loops. We don’t have to wait 15 years to see if the bridge falls down. Or
ten years to see if people liked that house or if it holds its value. We can get feedback
on whether this worked in seconds in our unit tests, in days from our web app, in days or
weeks at the most, not decades. We can learn so much faster! And we can learn how to work
with a complex system that’s too big to fit in a single person’s head. And we are, this
is different. So, I’m not saying that software is art. I’m saying that software is the next
thing after art that we don’t have a name for yet. 
The closest I can come in words is that ongoing software development is the practice of symmathesy. And
that makes me a symmathecist. I like this slide except for one thing: It has my name
on it. It takes a camerata, an idea, and a culture. So, we are all symmathecists if
we choose to think of ourselves that way. I am thrilled to be alive right now and in software. Software
is the next thing after art, and this is the next age after the renaissance. We have new
ways of thinking about the world, and new ways of changing the world. 
[ Singing ] If you manage to get this right, they will
surrender by early night. The world will never be the same. 
That’s my daughter, Evelyn singing “Hamilton,” the modern opera. May our work have such
impact 400 years from now. Thank you.  [ Applause ] I have symmathecist stickers. 
>>Have a great evening. See you all back around at 9:30. 

Leave a Reply

Your email address will not be published. Required fields are marked *