Artist in His Studio, Rembrandt Harmensz. van Rijn. In the collection of Boston's Museum of Fine Art.
There's this Rembrandt painting that has hovered in my mind for the past
several weeks as I've prepared the Big Medium 2 beta for public release. I'm
not normally a Rembrandt guy, but this one sticks with me because it captures
so well the final-brushstrokes moment of finishing a major project.
The painting is titled Artist in His Studio, and it shows a painter stepping
back from his canvas, taking it in. The light around the painting is
ambiguous; it could be coming in from the window, but it almost looks like the
painting itself is glowing, magical. The canvas is oversized, bigger than the
artist himself, who recedes into the shadows in the light of his own creation.
The painting, though hidden from view, has taken on a life of its own. It's
ready.
What a great metaphor for how I feel about Big Medium 2 right now, on the day
that I release the public beta. I've been working on this baby for months and
months. It's been the primary focus of my days and nights, a project in which
I feel so personally invested that it seems somehow bigger than me. Over the
course of the project, it has inspired pride and despair, exuberance and
uncertainty, clarity and confusion. And now, I've rounded a corner where I
step back from it and, although it's not yet finished, I recognize that, hey,
it's really pretty damn good. I'm ready to take my little creation out into
the light.
I admit, it sounds a little overwrought. Exuberance and despair? Jeebus, it's
just software. But I think it's the nature of creative pursuits that the
author experiences the work as soap opera, every day with its allotment of
mean drama and glowing victory. It's "just software" in the same way that a
writer's novel is "just a book" or an artist's canvas is "just a picture." All
of these things involve the same creative rollercoaster ride to the finish.
I think a lot of folks think of programming as a robotic activity, something
cold and methodical. I get it, I had that impression once upon a time, too. It
turns out, though, that programming is a richly creative pursuit. The first
decade of my career was in the "creative" fields; I worked as a writer and a
journalist, I made films and TV shows. But none of these activities have
provided the same absorbing challenges as imagining, designing and building
software from scratch.
In his essay Hackers and Painters, Paul Graham compares coders to
artists:
What hackers and painters have in common is that they're
both makers. Along with composers, architects and writers,
what hackers and painters are trying to do is make good
things....
When people walk by the portrait of Ginevra de' Benci,
their attention is often immediately arrested by it, even
before they look at the label and notice that it says
Leonardo da Vinci. All those unseen details combine to
produce something that's just stunning, like a thousand
barely audible voices all singing in tune.
Great software, likewise, requires a fanatical devotion to
beauty. If you look inside good software, you find that
parts no one is ever supposed to see are beautiful, too.
Lord knows I'm no Rembrandt or Leonardo, but Graham's onto something here. I
definitely grok the obsession with detail and beauty in a big software
project. (And, cough, I definitely hear voices.)
This kind of detail-driven work makes for long projects, and here's the thing
about long projects: The beginning and end are thrilling, but the middle
stretches into an uncertain test of endurance. When you're a solo act like me,
or like the artist in Rembrandt's painting, it's just you. All you've got are
your ideas and some mystifying confidence that you can actually land this
thing. And then, suddenly, after a long night, the sun comes up, the outline
of the final product materializes, and you realize that you've actually
created something... cool.
John Gruber of Daring Fireball just posted an essay about beta
testing in which he observes that the "beta" concept (both the term and
the process) is often abused by software developers. Along the way, he offers
a great explanation of why software developers launch products too early:
The home stretch is the hardest part of software
development. You've already been working for months, often
even a year or longer. But just because you can see the
finish line doesn't mean you’re actually near it.
Sometimes half the engineering effort is spent on what
seems like the last 10 percent of the project. You want to
ship. You've already blown the original deadline. The
software works, and you know it's cool, and you really
think users are going to love it. But if it isn't done, it
isn't done.
So here I am. Big Medium 2 is cool, and I think users are going to love it,
but it isn't done. I've finally arrived at a point where I can step back from
the canvas and recognize the final image lurking in there somewhere. That's
thrilling in itself, but I also know that there's still a long ways to go. The
difference is that by releasing the beta version, I've got company for the
rest of the journey.
Today I open my studio and invite the public to take a look at what I've made.
I'm delighted and terrified. I hope you like it.
Tags:
life,
programming,
psychology,
work
Comments
2 comment(s) on this page. Add your own comment below.
This is the first time I see this Rembrandt. Amazing! I've enjoyed your text and the relation with creativity of a painter and a sofware maker. I'll try to understand what your software is about... lol I use the template blogspot gives always wanting to change but never have time to learn how to do it. You're in Paris?! I've spend 8 months in the town. I wish I was there! Take a walk everyday. I guess I never spend a day without going out. SO many things to see! I'll browse around your blog.
Marais? Do you live au Marais? I was at Cité International des Arts près de la Rue de Rivoli.
Add a Comment
Don't be shy.