There’s a loose group of former colleagues and friends that I’m engaged with on a couple of quite specific topics that have run over a couple of years. This blog is largely for them simply because this is a more accessible and persistent form than disparate E-mails. This blog is for my diaspora of a Web development team. Think of it as public open letters to a group of friends.
I first started learning to program Pascal on a Research Machine 380Z. There’s not getting away from feeling old when you talk about using pre-DOS CP/M systems. This was around 1983, when having dual floppy-disks and amber monitor was hardcore.
My first computer of my own was a ZX Spectrum. I still remember how that computer smelt when I first unwrapped it. It smelt like awesome.
Much as I loved learning to program I also loved the theatre which was a darn site sexier for a young man, so I went on to study theatre and then work through my twenties backstage as stage-crew. During this time I kept my hand in as a hobbyist, teaching myself C/C++, and in my later twenties playing about with Linux. I had no idea what to actually do with a computer, what I could build, and nobody to ask.
In the mid-90s the pre-internet online scene was starting to buzz. I’d bought my first IBM PC Compatible, it was a 386SX with SVGA monitor. It was a big boys machine. I got myself a modem, and a Compuserve account. For a lad raised in the Southwest of England, this was something straight out of scifi. Silly phone bills were soon racked up.
Then it all happened very fast, and life changed quite markedly.
Demon Internet rolled out a public service, and Compuserve like a gateway drug quickly progressed to an Internet account. Dialing into London long-distance made the phone bills even sillier, but the first times I used Gopher and IRC was like smelling that ZX Spectrum. I didn’t fully understand what was going on, but it was undeniably awesome.
Then the Web hit at the end of the 90s. Photoshop and markup. That wasn’t C++ and databases, I could do that, and because the paint wasn’t even dry on it commercially there weren’t a whole lot of people around who could. In ‘98 I left theatre and set up my own Web-design company with two friends and built my first Web site. It became clear to me before long that the place where it was all happening was London, not the SW of England, and so in ‘99 I moved to London and got my first proper job as a Web-designer.
Having gotten a foothold very much at the front-end, there was such a swathe a new technology arriving so fast, that as long as I kept up with the tip of the wave, I was ahead of developers with far more experience that I. XML, XLink, XSL… there was a period when anything beginning with ‘X’ was mine, even when alpha. It was a winning strategy for a junior. What stuck from that early period and has endured to this day was an obsession with Topicmaps and Associative models of data.
I built my own Topicmap engine and CMS, much inspired by the early WikiWikiWeb using .NET and XSL. It was my first proper end-to-end Web application.
It wasn’t until I moved to Spain in 2006 and became lead of my own Web development team that I got design, architect and build out my first commercial CMS building upon what I had developed in my own time. Rails was all the rage and as an MVC framework was nearly tempting enough to adopt, but I just couldn’t get past its dreadful performance at the time, so I built out a .NET MVC framework, remembering this was before the MVC.NET CTP was released. On top of that was then built a multi-lingual, multi-scoped, multi-tenant content management system with some 26 sites all served from the one platform including the companies intranet and extranet services. It was my own greenfield project and I got to roll in along with the MVC goodness Spring.NET for IoC, and the whole thing was pretty damn extensible. The company still use it to this day.
By the time I move back to the UK in 2011 I was starting to rub up against rough edges with MVC for large projects, especially those with cross-cutting concerns. I was also starting to feel uncomfortable with the absolutist view of OO that was prevalent in the Java and .NET communities. Large object models were becoming uncomfortable and unwieldly, and I was aware that there was a whole different game going on with functional programming, and had previously a very fond encounter building an automatic categorisation engine for British Telecom in Prolog, so I knew there were tricks being missed. I considered moving to something like Clojure, but I still had to earn a living as a commercial developer, and wasn’t ready to give up a lot of my experience with .NET.
I took over a new development team in the UK, and we started building out a data-quality application that had some pretty hefty data-volume and performance requirement. I’d had some experience with rule based categorisation over the years so started to look at a process-model in .NET that facilitated this approach. From this came a framework that focused on performance, testability, and radical extensibility through simple patterns of behavioural composition. This worked really well. We used the same framework for message-queue processors, data-quality analysis, re-engineering legacy functionality, and as full-stack web applications.
Coming to the end of 2013 I had a whole backlog of my own work smeared across a range of concerns with little cohesive order, so I took the end of the year off and pulled a body of work together as Conclave. I was left looking for something to fully try out Conclave with and in 2014 had the opportunity to do some work re-engineering a crowd-funding platform. With that gig behind me the Winter of 2014 into 2015 I’m again taking some time to turn Conclave into a polished deliverable and starting to build out a crowd-funding platform targeting developers who want to build their own crowd-funding sites or more importantly targeting those who have an existing infrastructure that they need to integrate crowd-funding functionality into.