Career at the Crossroads

Welcome back to TopSecretProject.

This week I have been mostly thinking about what I am going to do with my life.

I have been freelancing for the last couple of years.

The idea was never to actually be a full-time freelancer but to create some software and make a living from selling it.

The freelance work always seems to take up most of my available time, consuming all my energy and often the money is not that great, once you factor in the actual time it takes to perform all the tasks required – sales, marketing, project management, accounting, maintenance and once in a while actually writing some code.

I have tried a number of different ideas.

I built an SMS messaging platform that I think is actually pretty cool, but the idea itself requires some sort-of mass-marketing campaign that is really out of the realm of my knowledge and expertise. Not to mention that the advent of the iphone really puts a dint in SMS as a medium for the long term.

I created a CMS-type application for Facebook Apps (called Prefabrikator). This concept evolved into a tool for creating and managing competitions for Facebook. You know the sort of thing – “Tell us why you need an iPod in 25 words or less”.

This project has been plagued by several issues – the constant changes to the FB API has made development less than fun, and I also lost faith in investing more time (and hence money) into a platform that I have no control over. The constant and ongoing changes to Facebook have pushed apps further and further into the background, making some of what I have done rather moot. The final straw is really that because of the steps needed to setup an application inside FB (adding and configuring through the Developer Tools, then adding authentication keys to the Rails app configuration) means that there is really always going to be a manual process involved – each deployment becomes a custom installation, which ruins any hope of making the price terribly accessible.

So …

… at the moment I am working a longer-term contract for the excellent Inspire Foundation on their new ReachOut site and platform. Having a regular income is a huge bonus and working with a team on a great project is great fun. I do get to work from home, but the hours are much more regimented which is actually a benefit. On top of this I still have a couple of clients that I do very minor ongoing maintenance work for.

But the question remains …

Where to next?

The goal is still been to make great software and sell it, but I am increasingly wondering how viable this is as a lone-wolf developer.

Gonzo Software Development

I would like to introduce you to an idea of mine:

Gonzo Software Development

The ideas here are half-baked, half-formed and largely not thought out at all.

As you shall see, that’s mostly the point.

I think this is a start of a manifesto.

It’s a vibe I have, a feeling about the way to do things, based on my experience over the last 10 years and the last 18 months in particular – an independent developer, working as a lone-wolf and an occasional team player and exposed to maybe a dozen organisations in various states of decay, chaos and excellence, and occasionally all of these together.

From Wikipedia on Gonzo Journalism:

Gonzo journalism is a style of journalism which is written subjectively, often including the reporter as part of the story via a first person narrative. The style tends to blend factual and fictional elements to emphasize an underlying message and engage the reader …

Gonzo journalism tends to favor style over accuracy and often uses personal experiences and emotions to provide context for the topic or event being covered. It disregards the ‘polished’ edited product favored by newspaper media and strives for the gritty factor …

In other contexts, gonzo has come to mean “with reckless abandon,” or, more broadly, “extreme”.

Gonzo Software Development is agile development performed with reckless abandon. It’s an approach that says good enough is good enough, and riffs fast and furious to discover the “good enough”.

Gonzo Software is subjective, everyone has the tools to create and connect.

Gonzo Software Development is not afraid of code.

Or humans.

Gonzo wants the humans to not be afraid of the code

Gonzo doesn’t pretend the human can be taken out of the process.

Gonzo wants to help the human be smarter, faster.

Gonzo, to para-phrase, is many small pieces, loosely and intelligently connected.

Gonzo Software Development is a work in progress.

Watch this space.