What is Programming?
- Why is it not engineering
- Engineering is about optimization problems, that’s boring (to me)
- Building things that already exists
- Why is it not business
- Business is competition
- Finance doesn't create *anything*
I posit, that programming is way more like this...
Or maybe this. This is my friend Marci.
When I started University, instead of living with computer science or engineering people, I
checked the wrong box and ended up living with the arts and modern dancers.
This is Sleater-Kinney, I don’t know them
This is Mark Rothko, I don’t know him either
Programming as Art
Art is about human expression through language. Programming, art, music, dance, they’re all
a *medium* to communicate an *idea* to others.
Depending on your idea, certain mediums are more suitable than others. Dance as a medium
struggles to be concrete, it is often very abstract. Paintings struggle to escape the
concreteness of a form inside a frame.
This is _why the Lucky Stiff. He used code in a very different way than most of us. The thing I
like is that he threw out the constraints most of us live under when writing code.
What would you write if you had very different goals than “Maintainability”, “Performance”,
The ideas that _why were interested in, were around teaching people how to program. When
he decided to do this, he chose the *medium* of comics, and wrote a book called “_why’s
Poignant Guide to Ruby”. He had an idea, but expressed it in a very novel way
So, when I want to become a better programmer or think about programming as a
profession, I like to read books about art and design, so I thought I’d share a few things I’ve
learned from these books.
Programming as a profession has been around for what, 50 years? We’re toddlers as a
profession compared to design or architecture. We can learn a lot from great designers and
Now, if you’ve went to art school, this slide is probably making you groan - “Every ﬁrst-year
art student reads this book in University”. But for me it’s new, so humor me :)
“What you need to know about the next piece is
contained in the last piece. The place to learn
about your materials is in the last use of your
materials. The place to learn about your execution
is in your execution.
Put simply, your work is your guide: a complete,
comprehensive, limitless reference book on your
“Art is a high calling – fears are coincidental. Coincidental,
sneaky and disruptive, we might add, disguising
themselves variously as laziness, resistance to deadlines,
irritation with materials or surroundings, distraction over
the achievements of others – indeed as anything that
keeps you from giving your work your best shot.
What separates artists from ex-artists is that those who
challenge their fears, continue; those who don't, quit.”
So, at this point, you may be saying, “This is *mostly* bullshit, I’ve got deadlines and
managers.” And you’d be right. We’re not quite like painters or sculptors, whose goal is
solely expression. Our work also has concrete goals and constraints - code usually serves a
So, I’d say instead of thinking of ourselves as painters, I think of ourselves more like Graphic
Designers or Architects.
These are buildings by Frank Gehry, one of the most proliﬁc modern architects in the world.
Buildings can’t just be works of art, people actually *use* them for stuff.
This is Armchair No F 51, designed by Walter Gropius, one of the founding members of the
Bauhaus school in Germany. Chairs are kind of the “symbol” of Industrial (Product) Design - it
is both a means of expression and aesthetic, yet has very real constraints and goals; a
person-shaped person has to sit in this chair
This is Paul Rand, a graphic designer whose forté was logo design. Let’s see if you recognize
a few of his logos
The funny thing is, you probably are thinking right now, “This logo isn’t that great”. Paul
Rand writes about this - at ﬁrst, your feelings about a company are built upon the logo, but
eventually, your feelings about the company are projected *onto* the logo.
This logo probably looks dated to you, because IBM feels dated to you.
Paul Rand wrote a great collection of essays, called “Design Form and Chaos”
“ Design is the fusion of form and content, the realization
and unique expression of an idea.
Design entails a part-whole relationship expressed in
terms of facture, space, contrast, balance, proportion,
pattern, repetition, scale, size, shape, color, value, texture,
These are the means; unity, harmony, grace, and rhythm
are desirable ends.”
“To be modern is not a fashion, it is a
state. It is necessary to understand
history, and he who understands
history, knows how to ﬁnd continuity
between that which was, that which is,
and that which will be.”
- Le Corbusier
So, the moral of the story is, learn C.
Paul Rand not only had very poignant thoughts on design, he also had thought very
thoroughly about the *relationship* between business and design, and what a Professional
Designer should be.
This is the logo for NeXT, the company founded by Steve Jobs, whose technology is the base
for OS X and iOS to this day (“Remember NSString? “NeXTStep String”).
Steve Jobs gave an interview in the 90s about Paul Rand, and he described when he asked
Paul to design the NeXT logo, he said, “Can you give me a few options?”
Paul said, “No. I will solve your *business problem*, and you will pay me for it.”
“What has always kept the designer and
client at odds is the same thing that has kept
them in accord.
For the former, design is a means for
invention and experiment, for the latter, a
means of achieving economic, political, or
This is another great book, about Juxtaposed Pictorial Images in Deliberate Sequence™.
There’s a lot of interesting parallels to code, I like this one about abstraction.
Scott also had something really interesting to say about what *is* art. I think by his
standards, we can deﬁnitely close the book on whether programming is art or not.
But in my mind, the most useful thing that Scott talks about in this book, is the path of a
great artist. All of us progress in our development, from six backwards
First, we learn the surface and craft of writing code, to succeed at just getting the thing to
work - as we get better, we start to understand structure and the way things *should* be
As we get better, we start understanding what came before us and how to understand code in
the context of what comes before it, when to ﬁt in, and when to build something very
different and question the fundamental assumptions of the language and domain.
From then on, you can go one of two ways - you can use code as a *means* to effect a
cultural change outside of our art.
Programmers more than anything else today have the power to change the world more than
any other profession. Television is dead, the world revolves around the Internet and *we*
create that Internet. You can use your abilities along with others like designers to make the
world a different place than it was before.
You can also dive into our art itself - your ideas and how they are expressed via code can
change the fundamental way in which we build things. How should people write software in
ﬁve years? What would make C# obsolete? What would make Git seem archaic?
What is your mission?
So, you really owe it to yourself, to ask what you *want* to do in the world, and what your
path is to get there
Not only should individuals have a mission, but companies should too.
Kyle Neath is our director of design at GitHub, and he really changed how I thought about
what GitHub does, when he posed to us the philosophical question that GitHub tries to
“What is the best way
to write software?”
“Working together is better
than working alone”
So, this is the statement that we came up with as *our* mission - we want to make it so that
this is *always* true.
This is Clay Shirky, he’s a famous author and Internet™ Blogger™. He said something that a
lot of people forget
“Ideas that spread,
Ideas that aren’t shared with others don’t go anywhere, even if you write the best code in the
So, I want to leave you with one thing, from Steve Jobs.
No, not that Steve Jobs
Fake Steve Jobs is a blog written by Daniel Lyons, the senior editor of Forbes magazine. One
of my favorite articles in all the Internet is a post he wrote entitled, “A not-so-brief chat with
Randall Stephenson (the CEO of AT&T)”. When the iPhone ﬁrst came out in the US, AT&T was
the exclusive carrier.
So, a lot of people say this phrase, “Change the world.”, so much so that it doesn’t really have
much motivational value these days. So let me explain further what this phrase means by
cribbing from this article a bit:
“Okay, so you were born in 1960, so maybe you don’t remember Meet the Beatles. Or do you?
Do you remember that album? Came out in the beginning of 1964. The one with the four
guys in black and white, half their faces white, half in shadow? Just four faces against a black
“Now, the thing about that album was, on the day it hit the U.S. the whole world changed.
Like, before that day, the world was one way, music was one way, culture was one way — and
then after that day the world was never the same ever again, and as soon as you heard that
album you knew that, and even if you were only nine years old, which I was, you just knew.
You knew. Sales were crazy. I mean nuts. The thing was a huge smash hit. By April, twelve
weeks after that album came out, the Beatles had the top ﬁve spots on the Billboard chart.”
“It’s not like that album was the ﬁrst rock album ever. It’s not like nobody ever made a band
with some guitars and drums before. But it was radical. It was new. They took old forms and
made them new. Same with us. We didn’t invent the smartphone or the PDA or the music
player or the Web browser. We just made them better. We made them new. We changed the
fucking world, Randall.”
So, go change the world.