David R. MacIver

Me

I'm a data geek with a strong background in mathematics and software engineering. I did a masters degree in mathematics, then reinvented myself as a software engineer. Since then I've worked on a variety of projects, but these days I'm most interested in data analysis on large bodies of unstructured information and helping people cope with the information fire-hose.

Employment

Researcher, Autarch of Algorithms and de facto Head of Development for Aframe (February 2010 to Present)

I started out at Aframe two days a week working on some maths for them - primarily centered around recommendation - but through a distressing inability to conceal competence ended up working on more and more areas and acquiring more and more responsibilities - first I ended up working on upgrading the feature set of one of the existing RabbitMQ ruby clients, then I ended up answering everyone's questions about everything, then I ended up taking over various parts of the system that needed improvement. At the time of this writing I have the second highest number of git commits and have mostly given up on asking people not to call me the head of development.

Engineer for LShift working on RabbitMQ (December 2009 to March 2010)

I mostly worked on the client libraries: primarily the Java one, but also the Erlang and C# ones. I worked on cleaning up the API, fixing bugs and improving performance. I did occasionally touch the server code, but didn't do very much with it.

Statistical Contracting for Wordtracker (June 2009 to November 2009)

Just a bit of part time work helping Wordtracker analyze their data about search - investigating user search behaviours and the quality of different metrics.

Engineer and Researcher for Trampoline Systems (August 2007 to September 2009)

My most important role at Trampoline has been as the primary researcher and implementer of SONAR, which does natural language processing and social network analysis on corporate email and document systems. I made the system simpler to understand, produce higher quality results and scale more effectively. I learned a lot working on it, both in terms of specific theoretical tools and the practical side of building such systems (such as when not to trust computer science researchers claims...).

Prior to that I worked on our social network visualisation software. We developed Metascope, a tool for ONA consultants to help them better work with their survey data, in tandem with a partner company. They report that it has simplified their work flow immensely. We then built SONAR Expertise, which takes the ideas and technology of Metascope and integrates them with SONAR to provide a high level visualisation of a company's social structure.

Engineer for Softwire (February 2006 to July 2007)

This was my first job in software. While there, I worked with others on several projects for different clients. I picked things up pretty quickly, initially starting with front end work then moving into a mix of back end and front end work as I learned more. The laundry list of tech is fairly standard stuff for a Java shop: Spring, Hibernate, iBatis, Oracle, JBoss, etc. I always worked in teams while there and was often responsible for helping out new starters on a team. By the end of it I had been given responsibility over several key parts of projects, including the statistics reporting subsystem for an ePublishing site, the security model for the same and a UI redesign for an internal data inventory system for a public safety provider.

Education

Pembroke College, University of Cambridge (2001 - 2005)

I did my degree in mathematics. I received Class I Honours in my BA and Merit in my Part III (equivalent to an MA)

Fun Facts

Tech

Non-tech