Hi, I'm Adam Griffiths, a Computer Science Student and Freelance Web Applications and CodeIgniter developer based in Shrewsbury, UK. I might only be 18 but I've written a book, maintained a popular blog and am one of the organisers behind CodeIgniter Con 2010, the first two-day UK conference and hack day for CodeIgniter.
For a long time now I have been a web developer, and I have never worked as part of a team on something that we want to build ourselves. I have worked with designers and other developers on projects, but they've always been for somebody else. I have always enjoyed working on my own, building apps the way I want, to my specification has always been good fun, and has always resulted in me getting an app I want to use. This very website is a great example of this, I took a need, built the CMS to power the website and got in done in around a week. It's exactly what I need and there was nobody to tell me how to do something, or to thin about it different, I simply built what I needed.
However, there is a downside to this. Since I am just a developer, and my design skills are limited (this website only has one image, the logo in the footer) I can't make web applications with a custom administration interface, I have to use other pre-made designs. Although these designs are very good, there's something about having a totally custom designed backend that can really set you apart from the competition.
But my qualms with being a lone developer don't stop with not having a design partner. I want to create so many things, that I just don't have the time to do them all. So I am prioritising them all. I probably could build all of the web apps in a few months and put them out there, but since I want to make a quality product that people see a need for and are willing to purchase, it has to be done right. I'm not saying that if I did them quickly it would be done wrong, I just like to be able to take a step back sometimes and think about what I'm doing.
At the time of writing I have 7 web applications I wish to build. Even though I have several libraries that enable me to create applications quickly (AG_Auth and AG_Asset) so I could change designs fairly easily (if there was a designer to create the different templates) and can rapidly prototype these ideas. I really need to take the time to polish them before releasing them into the wild. I am a believer in product iteration, release a product with minimum features and regularly update them. But the core still needs to be good.
I haven't even touched upon iPhone and iPad apps yet. There are a few apps I'd love to build but just don't have the time to learn Objective-C myself or the time to build them. Some of these apps will be essential when I go to University, and although there are alternatives on the app store already, it's how these apps will work that makes them a must-have and anything else just won't do. If I was running a company with a designer and an iOS developer, all of these ideas could come into fruition and we'd all be happy. All of us bringing ideas into the company, making prototypes and releasing products. it would be a vision of awesomeness.
Yet here I am, writing a blog post for my website. My blog. My website. My apps. Sometimes I wish I could be saying "Our blog. Our website. Our apps." Sometimes it kills me to be along. Sometimes I think of how awesome these apps could be if they were uniquely designed, how great it would be if my iOS app ideas were a reality. And sometimes, just sometimes, I absolutely adore being on my own.
The joys of freelancing.