Wednesday, September 16, 2009

Annual Review

It's September again, which means this little experiment has been going on for about a year. In that time, I've had 4 contracts with three different clients, most of which have been for a total of 16 weeks. It seems that the general pattern is to work for a client for the 8-week scheduled time slot, and then have my next client cancel. At that point, searching for a backup can be a little bit difficult, leading to an extension with the previous client.

Also, I took 6 weeks off for paternity leave along the way. Having a son was definitely a joyous experience, especially considering the client I was working with before I took the time off preferred to have me work from home. (Dealing with a birth without medical insurance, however, was exceptionally expensive...)

As far as business models go, I am encountering a mixture of acceptance and outright refusal. It is very difficult to communicate how my services differ from a standard contractor, and there seems to be a growing policy against the use of engineering contractors in the game industry. Unfortunately, mercenary work tends to get caught in the wake. In a few cases, it's prevented me from even being able to talk to anyone on the actual development side, and in one case, a change in policy caused me to lose a client that I was hoping to work with on a regular basis.

To further the point a little bit, I am also finding that the 8-week time slot is a very important feature of the business model. (One that I have unfortunately had to extend in every case.) After the first 8 weeks, it appears to be inevitable that my clients will tend to treat me more and more as an employee, leading to integrations into processes in which I don't belong. On my side, I find myself tending to take too much ownership over systems, and in the process, offer features that were not requested. Sometimes that turns out for the better, but often it will lead to more complicated solutions, which introduces instability, both in my results and the workflow of my clients. In the end, I may have to find a way to communicate the benefits of having me go away for a little while and return later with a fresh viewpoint.

With respect to experience, I have gotten much more exposure to technologies than I would have otherwise. I now have PS3 and Unreal experience under my belt, as well as a little more Xbox 360 exposure, and some time with Unity. (Incidentally, if Unity matches your feature requirements, I would highly suggest investigating it. It's a very good solution for small projects on PC, and my productivity level with it was very high.) I even had a chance to do a little bit of iPhone development on the side, and while it wasn't anything technically impressive, it was a learning experience. (I'm also proud to say that I have 0 known bugs and have never had to release a patch.)

Looking forward, my prospects aren't quite as rosy as last year, as my potential client pool has thinned out quite a bit. I should have a new client coming online next October, however, and a couple possibilites are lined up for the beginning of the year.

All in all, this has been a good year. Hopefully I will be able to continue this process, as I feel it has allowed me to grow both professionally and personally. Also, I still feel that my services, and this type of service, are valuable to the industry in general.