July 27, 2013

What couldn't you ship?

Great excerpt from Jason Hong's article in this month's Communications of the ACM:

The most impressive story I have ever heard about owning your research is from Ron Azuma's retrospective "So Long, and Thanks for the Ph.D." Azuma tells the story of how one graduate student needed a piece of equipment for his research, but the shipment was delayed due to a strike. The graduate student flew out to where the hardware was, rented a truck, and drove it back, just to get his work done.

Stories like that pluck at my heart strings. Best part of Back to Work, Episode 1 was this, when around 19 minutes in Merlin Mann said:

I was drinking, which I don't usually do, but I was with a guy who likes to drink, who is a friend of mine, and actually happens to be a client. And, we were talking about what we're both really interested in and fascinated by, which is culture. What is it that makes some environments such a petri dish for great stuff, and what is it about that makes people wanna run away from the petri dish stealing office supplies and peeing in someone's desk? What is it, what makes that difference, and can you change it?

In time, I found myself moving more towards this position — as we had more drinks — that it kind of doesn't really matter what people do, given that ultimately you're the one who's gotta be the animus. You're the one who's actually going to have to go ship, right?

And, my sense was — great guy — he kept moving further toward, "Yeah, but...". "This person does this", and "that person does that", and "I need this to do that". And I found myself saying, "Well, okay, but what?" What are you gonna do as a result of that? Do you just give up? Do you spend all of your time trying to fix these things that these other people are doing wrong?

And, to get to the nut of the nut; apparently — I'm told by the security guards who removed me from the room — that it ended with me basically yelling over and over, "What couldn't you ship?!" "What couldn't you ship?!" "What couldn't you ship?!"

... If we really, really are honest with ourselves, there's really not that much stuff we can't ship because of other people...

... When are you ever gonna get enough change in other people to satisfy you? When are you ever gonna get enough of exactly how you need it to be to make one thing?

Well, you know, that is always gonna be there. You're always gonna find some reason to not run today. You're always gonna find some reason to eat crap from a machine today. You're always gonna find a reason for everything.

To quote that wonderful Renoir film, Rules of the Game, something along the lines of, "The trouble in life is that every man has his reasons." Everybody's got their reasons. And the thing that separates the people who make cool stuff from the people who don't make cool stuff is not whether they live in San Francisco. And it's not whether they have a cool system. It's whether they made it. That's it, end of story. Did you make it or didn't you make it?

The way I see it, you should never stop asking yourself:

Of course, sunk costs are powerful siren, so you have to be very careful to evaluate whether compromises still allow you to hit the marks you care about as true goals. But, at the end of the day, all those trade-offs roll up into one subtly simple question:

What couldn't you ship?

Ship, or don't die!

Perhaps a corollary is, "Release early, or release toxin."

I admit I'm a bit of a Seth Godin fanboy — he's driven, omits needless words, and gets things done. His blog rarely has an unread count in my feed reader. At the same time, when you look up to someone, you can't help but expose some vulnerability.

One of his latest kick-ass entries, What did you ship in 2010?, put me in a total funk. I shipped a modest set of things this year, by which I mean that I found my list unimpressive. Maybe it was too short, maybe it wasn't innovative/creative enough, or maybe I was just being a negative Nancy.

In any case, Nancy found... er, I found the list-writing experience incredibly disappointing. [*] However, after some thought, I realized what I would probably say to Seth if we had a chat about it over coffee at Red Rock: I don't think I should really care.

Why? Because I'm probably not going to die tomorrow.

Kindergartener existentialism

A fun-size bit of existentialism is that human essence isn't fully realized until you die. When you die, your whole lifeline has played out and your effect on the world is fundamentally complete. To use a catchy existentialist marketing slogan, human existence precedes essence.

In a related vein, kindergarteners don't try to get their macaroni pictures displayed in art museums. When you're new to a scene and acquiring pre-requisite experience, there's no need to subject the rest of the world to your crap: in the common case, there's plenty more time to cultivate your essence and make your mark on the world. In fact, experimenting, throwing your crap away and moving on may be a much better use of your time than trying to ship something naïve or artless. [†]

My parents wouldn't want to put my broken patches up on their refrigerators. Even if they did, they don't have those kinds of refrigerators that magnets can stick to.

Shipping in potentia

Like most people who suffer from over-achievement syndrome, I have fever dreams of instantaneously becoming an expert in every piece of tech I touch, innovation dripping from my fingertips as I puke rainbows and such. Discovering that talent and perseverance have limits is always a cruel come-down.

Perhaps because of these delusions, I initially found it hard to grasp my most important accomplishment of this past year: getting to know various aspects of a state-of-the-art, production, multi-platform language design/implementation and the surrounding processes and tech. That's not shipping! It is, however, necessary experience to ship higher-impact (and perhaps daydream-worthy) tech down the road.

Realistically, there are a number of other reasons to feel accomplished. When I left my last gig slightly under a year ago, not a single product I had written code for had shipped. (Although I'm totally rooting for one that was recently announced!) Now, every patch I write is put to the test in a development channel with millions of active daily users. I'm constantly and (relatively) shamelessly absorbing information from a team of brilliant and down-to-earth developers, my mentor Luke Wagner in particular. My scrappy throw-away side-projects keep me thinking creatively and questioning the status quo.

In all, this year was incredibly enriching.

The JS engine is more comfortable ground with each passing day. I've got the drive to give back important and innovative things. My existence precedes my essence.

I'm optimistic about the list for 2011.



Whatever the size of my contribution, I'm honored to say that my list for 2010 included, "Help to ship a working and efficient JägerMonkey implementation." Effin' a.


Of course, one has to be somewhat cautiously introspective — Seth also warns that continued concerns over naïvete/perfection are a natural result of a fearful mentality that he refers to as the "lizard brain".