Hate Your Own Work and Ship It Anyway

When talking to members of our team about their projects and taking on more responsibility for their outcomes I will regularly recommend the following:

“You should hate your own work product and still ship it anyway.”

This advice is as applicable for shipping software as it is for sending sales emails, graphic design, sweeping floors, or writing this very blog post. But why give it in the first place?

Two big picture ideas:

Let’s work backwards: why do we ship a product (or equivalent) when we know it has flaws?

Users Have Final Say; Let Them Have It Soon and Often

Paraphrasing Bill Gates: “your most unhappy customers are your greatest source of learning.” You have to have users or customers validate whether the things you’re doing are working - none of that can happen if the product never leaves the dry dock.

Ship launching into the water

Your goal with getting things out the door as soon as you can is that ultimately your predictions as to what works / what doesn’t may not survive making contact with the reality of users - so you’re better off iterating faster, more frequently, and getting feedback more regularly from your customers or users.

The famous parable about “quantity leads to quality” from Art & Fear by David Bayles and Ted Orland:

The ceramics teacher announced on opening day that he was dividing the class into two groups. All those on the left side of the studio, he said, would be graded solely on the quantity of work they produced, all those on the right solely on its quality.

His procedure was simple: on the final day of class he would bring in his bathroom scales and weigh the work of the “quantity” group: fifty pound of pots rated an “A”, forty pounds a “B”, and so on. Those being graded on “quality”, however, needed to produce only one pot – albeit a perfect one – to get an “A”.

Well, came grading time and a curious fact emerged: the works of highest quality were all produced by the group being graded for quantity. It seems that while the “quantity” group was busily churning out piles of work – and learning from their mistakes – the “quality” group had sat theorizing about perfection, and in the end had little more to show for their efforts than grandiose theories and a pile of dead clay.

Theorizing about the perfect feature, the perfect graphic, the perfect email subject line, the perfect advertising copy - is ultimately a waste of time. Having skin in the game and testing your outcomes in the market are how theories are validated or invalidated - not via academic arguments.

So this begs the question - why form negative theories about your work prior to marketplace testing?

Prepare To Agree With Your Haters

“Hate your own work” begins with an important dichotomy:

  1. You should be proud of your work but
  2. You should be actively looking for flaws, areas to improve, and preemptively anticipating potential negative feedback.

People who aren’t proud of what they do aren’t going to show up - they’ll get discouraged and do something else. But people who are too proud of their work are totally unprepared for it to make contact with users. These people are sock sniffers - very, very certain of their own genius and the magnificence of their own work.

Sock sniffers aren’t going to deliver their best work, even if they’re extremely talented, because their view on what could be done better is informed by a single data point: their own opinions. They’ll tell customers why they’re wrong. They’ll start fights with colleagues who say the same. They’ll eventually falter; talent can’t paper over reality forever.

I practice what I preach: I hold intensely negative opinions about my own performance, how my team is going to feel about strategic choices I make, how users will respond to roadmap updates I propose, how my conference talks will be heard, and so forth.

This has served me well. Thinking critically about my own work positions me to anticipate possible negative feedback and consider possible solutions before we make contact with users. It is extremely powerful to be able talk to a critic in Discord, live over a call, in-person, or on Twitter and not only agree with them, but to also immediately transition to collaborating with them on solutions.

“Hate your own work” is both an effective coping mechanism for dealing with criticism (you won’t be too upset if someone says something you’ve already thought and agreed with yourself) AND a means of progressive improvement.

If you’re already finding fault with your own work, you’re preparing yourself emotionally and collaboratively to take on criticism and outright market failures. So if things don’t work or if your critics say aloud what you were already thinking, your process of self-criticism should already have given you some ideas for where to take things next. Negative feedback merely becomes a signal, not a source of emotional distress and conflict.

Balancing this self-criticism with internal recognition (and hopefully, some external recognition too) that you’re getting better will help keep you in the “sufficiently proud of your work” + “sufficiently self critical of your work” Goldilocks Zone.

Discussion, links, and tweets

I'm the CTO and founder of Petabridge, where I'm making distributed programming for .NET developers easy by working on Akka.NET, Phobos, and more..