Upgrade to Pro — share decks privately, control downloads, hide ads and more …

On Programming

On Programming

Talk given at CodeMania in Auckland NZ, 4/12/13

Ana Betts

April 10, 2013

More Decks by Ana Betts

Other Decks in Programming


  1. - Why is it not engineering - Engineering is about

    optimization problems, that’s boring (to me) - Building things that already exists
  2. - Why is it not business - Business is competition

    - Finance doesn't create *anything*
  3. 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.
  4. 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.
  5. 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”, etc?
  6. 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
  7. 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 artists. Now, if you’ve went to art school, this slide is probably making you groan - “Every first-year art student reads this book in University”. But for me it’s new, so humor me :)
  8. “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 work.”
  9. “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.”
  10. 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 concrete function. So, I’d say instead of thinking of ourselves as painters, I think of ourselves more like Graphic Designers or Architects.
  11. These are buildings by Frank Gehry, one of the most

    prolific modern architects in the world. Buildings can’t just be works of art, people actually *use* them for stuff.
  12. 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
  13. This is Paul Rand, a graphic designer whose forté was

    logo design. Let’s see if you recognize a few of his logos
  14. The funny thing is, you probably are thinking right now,

    “This logo isn’t that great”. Paul Rand writes about this - at first, 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.
  15. “ 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, and weight. These are the means; unity, harmony, grace, and rhythm are desirable ends.”
  16. “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 find 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.
  17. 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.”
  18. “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 social ends.”
  19. Scott also had something really interesting to say about what

    *is* art. I think by his standards, we can definitely close the book on whether programming is art or not.
  20. 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 built. 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 fit in, and when to build something very different and question the fundamental assumptions of the language and domain.
  21. 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.
  22. 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 five years? What would make C# obsolete? What would make Git seem archaic?
  23. 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
  24. 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 answer
  25. “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.
  26. This is Clay Shirky, he’s a famous author and Internet™

    Blogger™. He said something that a lot of people forget
  27. “Ideas that spread, win.” Ideas that aren’t shared with others

    don’t go anywhere, even if you write the best code in the whole world. So, I want to leave you with one thing, from Steve Jobs.
  28. 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 first 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:
  29. “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 backdrop?”
  30. “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 five spots on the Billboard chart.”
  31. “It’s not like that album was the first 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.”