With all the grim economic news, there has never been a better time to be a developer (well maybe during the internet bubble, but that wasn't sustainable). As an independent consultant, I'm always just a little worried about what the next six months will bring. I've been doing this for about 8 years now and so far there has been no shortage of work, but you never know what the future will hold. I think 2009 may provide a different way of thinking about how I perform my craft to pay the bills, let me explain. When doing client work there is really no long term guarantee. It's a process of identifying a need for their organization, doing an excellent job filling that need, get a check, rinse and repeat. You are really establishing a "dependency" on your client, their needs and cash flow have a big influence on your future. As a developer we know that in most cases dependencies are not a good thing.
That's where I think there are some great opportunities these days for us developers to break these dependencies and really take control of our future. As much as I enjoying developing systems to make my clients succeed, I would rather develop systems to make myself succeed! How is this possible?
Well I'm pursuing two opportunities right now that you can too! The costs and barriers for entry are negligible.
The first one is really sort of fun, I'm building a game for XBox Community Games. The idea is I build software, publish it, and it becomes available to millions of XBox users to download and play for a very small fee where a large portion of that goes into my account. This means if I can make the game interesting enough to tap into an extremely small percentage of the millions of users, the income may not be all that trivial. I'm not buying that 54 foot yacht yet, but who knows. The point here is that I have a high level of control over the success and outcome of this effort, the advertising and sales are taken care of via the Community Games site. I can focus on cuttin' code and not have to build a business with dozens of employees and all the headaches that come with that.
I think the next opportunity is even more exciting and beginning the second half of this year will merit a considerable investment in my time. I'm already getting my feet wet with this technology and I'm excited for the RTM date. This approach and techonology changes things, period. Over the past eight years, I've been working on a product I call The Chaos Filter. I've spun off a few little products that generate some revenue, but really haven't cranked up the marketing engine yet. My thought is once I do this, my primary role will shift from building and extending the product to building and extending the business to support that product. The challenge has always been, how can I focus on what I enjoy and outsource 95% of everything else yet remain in enough control to be successful. My product is really a set of highly configurable services that work together well. My goal is to allow subject matter experts; non programmers but technical folks; to very quickly customize and assemble those services into things I'm calling MicroApps. These will be built for highly specialized niche markets. My thought is not to sell these for hundreds or thousands of dollars, but a monthly subscription fee that will usually be less than $20. Basically a high value, low cost solution that will be very easy for people to sign up for and keep coming back. To make any money at this effort, I'm going to need a ton of people signing up. That's where I see the Azure Services Platform come in. Without building a large company, I can partner with subject matter experts to build these MicroApps. Then make these products available to the Windows Live user base. This also offers a highly scalable platform that as my product grows and I need more capacity, I'll just need to adjust the number of server instances in a configuration file and wha-la I'm more scalable. Again, as with the XBox game, I can focus on my core competency, cuttin' code.
Another awesome opportunity would be to start writing applications for the iPhone and iPod Touch. Although being a .NET developer, I'll probably focus on the two opportunities I've outlined above, however this once can't be ignored. Apple did a great job of making it super simple for people to trade you their money for your apps. I purchased a MacBook and have started to learn Objective C. Even though this seems very appealing, I just don't see spending my valuable time on this anytime soon. I guess the XBox and Azure Live Services just turn out to be a fad *cough* there are other opportunities out there.
I'm spending about two thirds of my time doing client work and the other third trying to figure out what type of killer app I'm going to develop that will allow me to spend all my time programming for fun, not necessarily to pay the bills. This approach isn't for everyone, if you enjoy the security of working for a company and thrill of being part of a high performance team you may have found your niche, if not, maybe it's time to start looking at what you can do on your own.