January 20, 2010. The day I finished the first application of my independent software development career. Shipping code doesn’t come along very often – a few times per year at most, so when it happens it’s a big deal. And because of my extended sabbatical, the last time I shipped software was in 2006 – a lifetime ago in the internet age. That was was in the year -1 B.iP. (Before iPhone).
Fast forward to year 3 A.iP. and today I submitted my first app, TransitWay, to the App Store. Everything about this project was engineered to be small, simple and relatively quick, so I could experience the entire software development cycle in a short timeframe (less than 3 months). The app is small. The feature set is small. The market is small. The development cost (in time and money) is small.
My previous development experience was completed within the comfortable confines of a well organized, successful company with full-fledged software, QA, and marketing departments. There was always somebody within 100 metres who knew more than I did about some topic critical to the success of our product, development-related or not. When you start developing software on your own, you get what you ask for: you are on your own. You have to wear many hats, sometimes at the same time. And in order to ever hope to make money, you need to be focused on shipping software. That means knowing your strengths and weaknesses, and choosing a project small enough to complete in a reasonable amount of time, and that supports your enterprise in its current state. The current state of my enterprise is that I’m alone, I’m slightly nervous about what I’m capable of doing with just my ideas, my laptop and my internet connection. So I chose to build a piece of software that I knew there was a need for (because I needed it), and that seemed ridiculously simple, too simple to be a proper project. That turned out to be a fantastic decision. And that ridiculously simple project? It took me nearly 3 months of part-time development time to complete and polish, certainly longer than I had planned, but still a quick turnaround for shippable software.
While I physically work alone, with nothing more than Google and Stack Overflow for co-workers (oh, and the Hannibal Lector action figure on my desk), I have made a conscious effort to grow my professional network. So far, I have joined three local groups in Ottawa: a local Mac User Group, the local chapter of CocoaHeads and its splinter NSCoder group. These groups are critical to my success, because as much as I would love to do everything myself, I can’t, and I have so much to learn from these people. I’ve already found two graphic designers – one who did the TransitWay logo for me, and learned countless life-saving tips from the people I’ve met through my network. These groups are also a potential starting point for drumming up word-of-mouth advertising for my projects.
As I wait for Apple Corp. to pass judgement on my app, I’m taking a breather to reflect on my progress, and to contemplate my future. If my submission is rejected, I’ll be stuck working on TransitWay for a little while longer, but beyond that, I have at least three potential projects on my plate. One is an iPhone game. One is TransitWay 2.0. One is to complete the recipe and meal planning project I started over a year ago, with both desktop and iPhone components. Which ever project I choose, it will certainly involve a whole whack of new learning, and hopefully I can build on the experience I’ve gained from completing the TransitWay iPhone app.