Skip to content


About Me

After graduating from Oxford University in 1992 with a degree in Philosophy and Psychology, I worked in Product Development for Oxford Psychologists Press (mostly creating computer-delivered psychometrics) before moving to Manchester with the ambitions of completing a Masters’ degree in Occupational Psychology.

While waiting for the academic year to roll around, I worked for EQE where I helped implement ISO9000 quality assurance for the software team. As a result, I became fascinated by the relationship between the processes used to create software and the ideas used to describe and build it. I postponed my academic ambitions and moved to Lincoln Software (now sadly defunct) where I worked on a variety of CASE and Meta-CASE tools.

A change in focus at Lincoln towards EAI tools meant led to me seeking challenges elsewhere and after five fascinating years as a contractor – doing everything from rationalising the Intranet at Barclays Bank to writing control software for pharmaceutical laboratories – I started work for Hoshin, a network of professionals based in Manchester providing primary and secondary research for the public sector. My role principally involves finding ways to use computers and particularly the web to gather data, to help people collaborate, to analyse data and to disseminate results.

Through all these adventures, two questions have remained important to me: what’s the best process for developing software? And, what are the abstractions (languages, diagrams) that best allow us to describe software in a way which helps us get it right?

About the Blog

My day to day work involves doing tricky stuff with the .NET framework, mostly ASP.NET. Sometimes I dabble in Windows Forms, and sometimes in Python, but mostly I’m concerned with how to develop complex, data-centric websites quickly and efficiently. That means thinking hard about the abstractions underlying a series of problems – from the specific data and analyses used by a particular application to the more general problem of application frameworks (like MVC and Rails) to the much more general problem of software methodology.

As a result, I’m “driven to abstraction” – constantly trying to find better ways to describe, architect, and build software by finding the common threads that link together disparate applications but which are nonetheless concrete enough to be understandable and form a basis for genuine re-use.

Along the way, I solve (or at least explore) problems that other people might face too – some of them very practical, like how to use ITemplate in a FormView, and some of them rather theoretical, like the nature of quality control in software. This blog is where I share what I find. I hope you will find it useful, or at very least, interesting.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: