Ship.

Early. Often. For yourself.

Exuberance. The feeling you get the very first time you ship some code - be it your first website, a core contribution to your favourite publishing platform, or your first iPhone app. You wrote something, and you put it out for the world to see. It’s a pretty hard feeling to beat; to lose. Or so I thought.


I lost that feeling somewhere. I lost that bit of joy I would feel when I commited a bit of code. Code I was proud of. Soon I started pushing out code that I wasn’t proud of, searching for shortcuts to get there, to the pot at the end of the rainbow, quicker.

I toiled with the ideas (in my head) that maybe I was over the industry and it’s bullshit. Client’s expecting the Titanic, for the cost of a small fishing trawler, or sometimes: less.

Maybe I was over the platform. Maybe it was the medium. Maybe I wasn’t meant to do this. Maybe it was me.

These were questions I kept asking myself. Like any developer, following a simple logic process, I looked for the problem(s). One at a time. I took some time to reflect. I even left the industry altogether and focused on a completely code free medium, a passion; photography.

But that only started a void that I couldn’t seem to fill. You see, with photography, I could (and still do, occasionally) shoot an event on a weekend, or an evening. But I could always get back behind the computer later that night, and push out some code. It didn’t matter how much love I got shooting my favourite bands, or how cool it was to hang out with some of the greats, I somehow always found myself sitting at 3am, in front of a blinking cursor inside Textmate.

But still even knowing the above, I couldn’t seem to find the catalyst that would kick start my code mojo. I tried new platforms, starting first with web languages that I was uncomfortable with, or had never used. Nothing.

“Real artists ship” ~ Steve Jobs, 1983

Then I moved on to non-web-based languages, first trying my hand at Cocoa, and finally Cocoa Touch.

Something finally snapped into place. I would find myself stuck outside, cigarette in my mouth in the freezing cold, at 3am, eluding sleep* to get that little bit of code just right.

I’d found my mojo. I worked hard and pushed out medialoadr and got through my first App Store submission without insult or injury. At around that same time I had been back in the web world, working for a charity as the head of all things internet.

When the charity closed it’s doors, I along with my friend and fellow co-worker at said charity, started a company. We’ve been open for almost 2 years. We’ve worked with some big clients, and some small. Worked on projects I am proud of, and shipped code I am very happy with.

But recently I started to feel that same void.

I started asking the same questions. It didn’t help that I was getting less sleep than before - our second child, bless his little soul, is not much of a sleeper. I was tired. At my wits end, and ready to walk out of the industry all together. There’s a future in competitive knitting, right?

But rather than give up, the stubborn part of me said to look deeper. I tried the same questions, and troubleshooting process. This time I took pen to paper, or in my case, fingers to keyboard. I started writing a post on my blog. My blog was cluttered. It was on my domain that was mostly synonymous with my photography, and it was confusing.

So I started a new blog, on a sub-domain. I loaded up WordPress, installed and configured a theme I liked, made some modifications, and got into writing. But it didn’t feel right. Somehow my favourite publishing platform had become too cluttered for just writing. There’s nothing wrong with that. Things adapt and grow. It’s a natural state of evolution. But I digress.

Around that time Medium had just launched, and Svbtle had been around for a while. Both were alluring. Both elite. I signed up for a Medium account (you can’t do the same on Svbtle - but thats another argument altogether) but was disappointed that (at the time) I couldn’t post. Then I came across Obtvse via the article above.

I felt the same joy as I did when I first started working with ObjC. I spent a few nights tinkering with a new blog, tweaking it, getting stuck into Ruby. Figuring out how Heroku really worked. I mimicked some of my blog to match my Medium profile.

It was only then after a few days of tinkering with importing my WordPress blog posts into my Obtvse (and Postgres) powered blog that I finally realised what I had been missing all along. I’d found the filler for my void. It wasn’t the platform, or the medium. I still love the web, even though it suffers from multiple personality syndrome. I still deeply love ObjC even though the platform hasn’t appeared to change much on the front.

It came down to this: Ship Early, Ship Often and Ship For Yourself.

What that meant for me was quite simple. Don’t stagnate. Work on your ideas. Get them out. Even if it is just for yourself. Especially for yourself.

*At the time I really got into Objective-C, my wife was about 6 months pregnant with our first child, and we’d been told to get all the sleep we could.