For the first time in my life, just about, I've finished a piece of software. Or, at least, finished it to the extent that it can be sold.

Not finishing has been a bit of a feature in my engineering career; the social network that went nowhere, the blogging tool that whimpered out - and all of the various libraries, projects and ideas that fell by the wayside.

But I learned a lot from all of that effort; a surprising amount.

When I started DiscTrack (the latest offering) I didn't feel confident about being able to deliver - I was a programmer, but was I a good programmer.

Turns out I'm not actually all that bad :) I guess it ties back to the 10,000 hours theory - which says that to become an expert in a something requires 10,000 hours of practice.  Totting up I've been practising this for over 5 years now; both as a hobby and in the real world.

That starts to tot up.

Here is DiscTrack:

It's a forensic database management tool - built on our experience with forensic casework.

It was a challenge to build - the most challenging thing I've ever attempted, and I think the end result is pretty good. The work pulled together frameworks and toolchains I'd never used before, dropped in some AJAX/REST and learned a lot about styling and UX.

But I learned some other things to:

  • I'm writing a lot of redundant front-end code that has already been solved - by BackBone, Twitter Bootstrap, etc.
  • PHP frameworks can be pretty bloated, and don't always offer what you expect/want (more on that later).
  • VM's and Virtual Appliances are a pain
The point of this is that now I am working on our next software project. The original plan was to reuse a lot of DiscTrack code, and re-tailor it into a similar form of application. I'm still doing that - in the background. But that work with AJAX/REST has morphed into a fully fledged Backbone front end. The new toolchain/language ideas have introduced me to CoffeeScript, LESS and other things.

With exactly the same result; learning a lot.

Things move very fast in the programming world; when this new project is done with I fully expect that  there will be new tools and experiences to draw on.

Every project better than the last!

You can find out more about DiscTrack here :)