I have a first class honours degree in Natural Sciences from Churchill College Cambridge (graduating in 1971) followed by a PhD in Chemistry, also at Cambridge University.
After a short spell as a postdoctoral worker at Manchester University, I decided to move into software development. Much of my time subsequently was spent at Salford University (and later in Salford Software, a company owned by the university) working on a number of compiler development projects. In particular, I worked with David Vallance on a number of Fortran compilers (for different architechtures). We specialised in providing high quality diagnostics at both compile-time and run-time.
This experience made me aware of the gap between typical scientific Fortran programmers, and the kind of non-numerical programming techniques used in compiler writing and, of cource in Mathematica coding! I realised that many researchers who bought Mathematica needed a hands on introduction to Mathematica programming if they were ever to make the most of their software. I gave introductory courses for many years, but now I concentrate on consultancy.
I am the author of the Super Widget Package (among several packages) - a toolkit to create high quality Java GUI's from within Mathematica. This has brought me a number of long term consultancy projects. I have also taken a particular interest in optimising the performance of my clients' Mathematica programs.