Dr Ashley Mills, Full CV (Last updated July 2022)


I am interested in solving problems that have environmental or societal importance, but as a professional I will work hard on any problem given to me. I have over 19 years of experience programming, analysing data, and working with computers. I have a wide understanding of computer science and electronic engineering. I am an expert in quickly prototyping full-stack solutions to complex problems and a deep thinker in the broader context. I can quickly learn new concepts within and across disciplines.

Work Experience

Public Health Data Scientist / Research Associate, University of Kent, January 2016 - Present

In this cross-disciplinary part-time post I apply computer and data science to problems in public health.

The majority of my work has been centered around air pollution:

  1. Preparation of air quality assessments for community groups in response to large scale developments:
    • Computer modeling of traffic emissions according to LAQM guidelines.
    • Data analysis, using multiple sources of information.
    • Monitoring of air pollution with diffusion tubes, and management of diffusion tube monitoring.
    • Monitoring of air pollution with near-reference equipment.
    • Serving as an expert witness in a public inquiry.
  2. Public outreach:
    • Engaged with schools to promote understanding of air quality and its impact on health.
    • Created a postcode-to-air-pollution lookup service for The Beaney museum in Canterbury as an interactive exhibit.
    • Delivered workshops on air pollution to parents at local children’s centers, and several other locations.
    • Delivered a talk for the local “Pint of Science” group, a nationwide initiative to engage people in scientific topics.
    • Awarded a public engagement grant from NERC to develop and deliver an interactive air pollution workshop.
  3. In house air quality hardware:
    • Built interface hardware for a legacy air quality monitor to make it internet connected.
    • Collaborated with others to design and build an in-house air quality monitor for particulate matter and CO2, and associated phone apps.
  4. Publications
    • “Garbage in, gospel out?–Air quality assessment in the UK planning system”
    • “Annual NO2 as a Predictor of Hourly NO2 Variability: Do Defra UK’s Heuristics Make Sense?”

Patient health work:

  1. De-identification of patient records for the purpose of realtime outcome prediction.

Other data science:

  1. Analysed charity commission dataset as contribution to published paper
  2. Analysed UK’s pesticide usage data in prepration for paper (ongoing)
Director, Technology for Good CIC, Aug 2016 - March 2018

Technology for Good was founded in August 2016 to work on problems of social importance. It was a community interest company with an ethical mandate.

The company delivered pro-bono technical services for a variety of community projects as well as seeking funding for some novel community initiatives.

Sessional Lecturer / Makerspace Technician, University of Kent, School of Computing, Dec 2015 - Dec 2016

“The Shed” is a makerspace at the School of Computing, University of Kent. The Shed provides a free space for students to make and build things. The Shed also engages with industry in providing solutions for technical projects that have significant computing, IoT, or hardware elements. In this part-time role I:

Director, Noisy Atom Ltd, Sept 2014 - Aug 2016

I was a technical director of a small company that focused on building software, hardware, and mechanical solutions to internet oriented problems. Some specific projects:

Data Scientist, Holiday Extras Ltd, Jan 2015 - Apr 2015

In this 3 month contract I analysed Holdiay Extra’s PPC (Pay Per Click advertising) data and assisted with the data integration team in managing the company’s data. Notable contributions:

  1. I designed and implemented a system for viewing Google adwords performance in-realtime or on demand. This was a web interface created using the Shiny framework in R on a virtual machine I setup and maintained. I engaged directly with the head of the PPC team in this regard and received excellent feedback.
  2. I evaluated “fuzzy” parts of the existing PPC strategy with regard to actual cost savings and thus provided quantitative feedback for existing speculative assumptions.
  3. I maintained Holiday Extra’s adwords scraping software and ensured it met the constraints of the new google API for two API releases.
IoT and M2M Specialist, Vodafone Group R&D, March 2012 - Sept 2014

The majority of Vodafone R&D employees have roles which continuously change to match the companies strategic objectives, whilst being heavily centered around mobile technology.

During this period I was engaged in a wide variety of projects with a strong IoT/M2M focus. Some notable examples are listed below:

  1. Designed and prototyped an automotive dongle and backend data storage system as an in-house solution for Vodafone Xone’s drivexone product (prior to the aquisition of Cobra automotive). The dongle tracked incar events and stored these as integrated Trip objects in the cloud. The hardware was prototyped to PCB stage and at the point of closure was working end-to-end. I managed a budget of approximately £300k to deliver this project and managed one software contractor to help with prototyping.
  2. Managed the testing of various automotive dongles for the purpose of evaluation in Dusseldorf, Germany. This involved designing a test schedule for driving various hire cars and testing the capability of the automotive dongles to record salient events.
  3. Collaborated with ARM’s mbed group (http://mbed.org/) in Cambridge UK, to produce software which would allow their rapid-prototyping solution to interact with Vodafone’s commodity and M2M dongles. This included promotion through hackerthons and public engagement. I managed a budget of approx £50k. The resultant software was used by a large continental mining company in their development of a machine interface, and resulted in sales of dongles to them.
  4. Attended Mobile World Congress (MWC 2013) as an M2M representative for Vodafone and attended the Vodafone installation in the connected city. You can see me talking about a connected door prototype I designed and implemented here.

In addition to these particular activities I was heavily involved as a consultant on many internal M2M activities, and was regularly called out as an R&D M2M representative to large clients of Vodafone such as BP and Centrica.

Energy Specialist, Vodafone Group R&D, March 2011 - March 2012

During this period of my employment in Vodafone R&D I was tasked to look at ways in which Vodafone could fulfill its commitment to reduce carbon emissions. The following tasks are illustrative:

  1. Designed and implemented a prototype remote controlled thermostat as a means of reducing customer energy footprints. The prototype was developed to PCB level and included an Android application for user control. As well as being responsible for the design, I programmed the software on the hardware and Android components. Managed a budget of approx £15k
  2. Was a technical consultant for Vodafone’s smart metering bid and assisted analysis of coverage and other radio aspects.
  3. Supervised the installation of a prototype hydrogen powered base-station in Alacati, Turkey.
Radio Team Researcher, Vodafone Group R&D, March 2007 - March 2011

I joined vodafone as a researcher as part of undertaking an Engineering Doctorate.

The EngD (Doctor of Engineering) is an EPSRC and Industry funded professional Doctoral degree. My host university was The University of Bath and my host company was Vodafone Group Services Ltd. I was based in the R&D department at the Vodafone HQ in Newbury under the supervision of David Lister.

My EngD was assessed by Dr Simon Armour from Bristol University, Dr Peter Cosimini from Vodafone, and Dr Julian Padget from The University of Bath.

My work was focused on the problem of interference mitigation in LTE and other OFDMA networks. I discovered novel solutions to the problem and published this work in peer reviewed journals and conferences. A patent which captures some of the novel phenomena has been granted.

The work enhanced my analytical and scientific skills to a large extent, since a doctoral degree requires the production of novel material against the backdrop of the existing state of the art. Novel enhancements must be demonstrated true with appropriate statistical rigor and hence my capacity in this regard has been demonstrated.

The work enhanced my ability to write highly technical documents, as well as the preparation of executive summaries and presentations.

My knowledge of telecommunications systems was vastly broadened by this work (having come from a computer science background). My deepest telecommunications knowledge lies in understanding the MAC layer of LTE.

A doctoral degree displays an ability to learn, master, and improve upon an existing domain. I have demonstrated these traits by completing it. I worked with international groups and other bodies, and have experience with delivering presentations to mixed groups of people.

The work lead ultimately to my appointment in a permanent role as an “Energy Specialist”. This role is unrelated to my doctoral degree but illustrates the confidence my employers have in me to rapidly learn and master new domains of knowledge and improve upon them.

Guest Researcher, National Institute of Informatics, Tokyo, Japan, July 2008 - Oct 2008

Conducted research into the study of frequency selective scheduling in WiMAX under differing velocities. This resulted in an IEEE publication.

Guest Researcher, Graz University of Technology, Austria, Oct 2005 - Aug 2006

Undertook research in computational neuroscience pertaining to the measurement of time in the mammalian brain. Specifically the role of the cerebellum in mediating temporally delayed conditioned responses.

Nuffield Science Foundation Summer Placement, University of Birmingham, Computer Science dept, July 2003 - Oct 2003

Research was performed into the induction of temporal symbolic structures in networks of spiking neurons:

  1. Construction of feed forward network, recurrent neural network, and spiking neural network implementations.
  2. Training and analysis of said networks for the purpose of inducing temporal symbolic structures.

The work resulted in two publications, one of which was in the Journal "Neural Computation".

Tutorials Author, University of Birmingham, Computer Science dept, July 2002 - October 2002

Wrote 19 tutorials and a software system for automatically maintaining the website they were hosted on. Some of the tutorials e.g ANTLR, LOG4J, DocBook have received worldwide recognition.


The University of Bath, School of Computer Science

The University of Birmingham, School of Computer Science

Skills & Expertise


I have over 19 years experience programming in a wide variety of languages spanning from very low level programming of embedded devices, through system level and operating system tools, going upto Android applications, and all the way upto visuals oriented programming of frontends for data and web applications.

I can pickup new languages and obtain advanced understanding of them very quickly.

The languages I am most familiar with are listed below with some of the projects I have completed in each of them described:


I have been programming c for over 10 years and am deeply familiar with the memory model and advanced debugging. I developed a youtube tutorials series for teaching c, where you can confirm some of my knowledge.

The following tasks for which I have used c are illustrative:

  1. Implementation of many computer science algorithms.
  2. Modelling of feed-forward, recurrent, and spiking neuron networks.
  3. UDP and TCP networking test tools.
  4. Drivers for embedded hardware peripherals.
  5. A compiling evolutionary computing program for evolving images.
  6. A library for representing and performing mathematical operations upon polynomials.
  7. A flexible feed-forward neural network library.


My main experience with c++ comes from three principal areas:

  1. Implementing intra-site scheduling algorithms LTE basestations in a system level simulator.
  2. Implementing software for an ODB dongle interfaced tracking module for vehicles.
  3. Implementing drivers and software for the mbed platform, including a library for the IoT protocol CoAP called cantcoap.

Objective c

I have used objective c to program the MIT handyboard for a robotics module at university.


My undegraduate CS degree was taught principally using Java so I spent three years on and off using Java for increasingly difficult tasks. For example:

Android / iPhone

  1. An Android and an iPhone app to receive and display air pollution data from custom designed hardware.
  2. An app to receive alerts from an accelerometer embedded in a hardhat.
  3. A collaborative music Android app for driving an speaker, itself driven by a cellular modem connected to an embedded controller. This was presented at Droidcon NL in 2012.
  4. An Android app to control a connected thermostat. Build a custom graphing framework and control interface.


  1. Construction of figures and data manipulation for academic publications
  2. Static modeling of interference generation for LTE
  3. Modeling of rabbit cerebellum
  4. Statistical and mathematical analysis of large data sets


  1. Construction of figures and data manipulation for academic publications
  2. Statistical and mathematical analysis of large data sets
  3. In a commercial environment, I have used the the R web framework shiny to create a dynamic analysis tool for Holiday Extras PPC data,
  4. Interfacing with databases including IBM DB2

javascript and nodejs

I have used javascript on its own for simple scientific demos for educational purposes; for example a model of diffusion limited aggregation.

In addition, I have used javascript in nodejs side for several web apps, such as:

  1. A backend for storing images from an mbed driven camera connected to a cellular modem, coupled with a frontend for viewing and playing back the images as movie sequences.
  2. A backend for receiving SMS messages via a USB connected cellular modem, and translating these into animation events to all websocket connected frontend clients, for a marketing promotion.

sh / bash / zsh

Wherever possible I feel compelled to automate that which can be automated. I have used shell scripts to automate administrative tasks as well as using it for things that it probably shouldn’t used for, such as:

  1. An SMTP client
  2. A cellular modem driver
  3. A LoraWan driver

As such I have become very good at using shell scripting for just about everything it can be used for.


My experience with python is limited primarily to devops scripting tasks, but I have used the python web framework Django to create a frontend for managing a connected-car product I designed at Vodafone.


I have recently started using go for the backend and frontend of a pollution monitoring project. The backend part provides an API to store pollution data, and the frontend provides a REST API to access it as well as a default HTML rendering interface.


I have used php to:

  1. Create a plugin for a private client for Zencart which creates PDF address labels.
  2. I maintained a ad-scraping tool that someone else wrote.


I taught Erlang to second year CS students at The University of Kent. I open-sourced a a json parser I wrote in it.

x86 Assembly / ARM Assembly / AVR Assembly

I have written various sorting algorithms in x86 assembly as well as some BIOS interfacing boot code. I have used ARM and AVR assembly where I needed finer control over the hardware than c could provide in embedded contexts.


I was taught haskell as part of my CS degree. The course was quite in-depth and I used it not only to implement various algorithms, but spent time to mathematically reason with it, being able to inductively prove various properties of the programs created.


Everybody knows basic don’t they? I programmed basic on a ZX Spectrum when I was a child. I used visual basic to create a network monitoring tool for my school during A-Levels.

Mathematical / Computer Modeling / Algorithms

I have been responsible for modeling physical systems for the purpose of research at several points throughout my career. Examples are given below:

  1. Neuron models / Brain circuitry

Computer Administration

I have an excellent working knowledge of FreeBSD and Linux administration, bourne primarily out of personal interest. I have used this knowledge both professionally and personally:

  1. For over 10 years I have maintained my own personal websites and a mailserver for my family on a Linode VPS. The mailserver uses postfix MTA, dovecot for IMAP and auth, spamassassin for spam control, roundcube for webmail, and DKIM and SPF to enhance sender authenticity.
  2. When I worked for Vodafone I helped specify and was the principal maintainer of the R&D compute cluster.
  3. When an undergraduate, I created my own distributed computing software to distribute decision tree construction for an optical cancer detection problem over all the machines in the department.
  4. I have maintained forums and mailing lists charitably for community purposes.

Electrical Engineering

I am self-taught in electrical engineering but have obtained proficiency enough to design several hardware prototypes:

  1. Prototyped a connected car product for Vodafone Xone using the mbed platform and managed its PCB manufacture via an external contractor.
  2. Prototyped a connected thermostat for Vodafone R&D using an AVR processor, and managed its PCB manufacture via an external contractor.
  3. Designed and produced a PCB for controlling 240V relays.
  4. Designed and built an a ZVS switching induction heater with a custom coil for curing graphene foam. I produced a popular science video for it on youtube.
  5. Built the “clocktower”, “connected bus”, and “reactive safety helmet” for a model IoT connected city.
  6. Authored a youtube series on http://kicad-pcb.org/ an open-source tool for designing PCB’s that has had ~70k views.

Technical Authoring

I am proficient in using LaTeX, docbook, HTML, Microsoft Word, Libreoffice, inkscape and other tools to create technical and academic documents. I have ten published publications in peer-reviewed conference proceedings and journals.

I have written approximately 30 tutorials in various subjects, 20 of which were written in just 3 months as a paid task.

Public Speaking / Public Engagement / Teaching

I am a confident public speaker with a diversity of experience including:

  1. Presenting at several conferences at which my work has been accepted.

Cellular Networks

I worked for Vodafone for six years, four of which I undertook as a doctoral student. During this period I was involved in many aspects of cellular network technology and have a deep knowledge of them.

My doctoral thesis was about mitigating the effects of interference in LTE (4G). I produced a patent in this domain, and two patents in other areas of cellular networks.

I have experience attending standards meetings, as well as contributing to standards documents.


Sturry Parish Council - Councillor

I was a councillor for my village for two years, vice chair of the council for one year, and chair of the planning committee for one year until I had to leave due to childcare committments.

During my service I chaired meetings and pursued resident problems. My speciality was dealing with large scale developments.

National Autistic Society - Befriending

The National Autistic Society provides a befriending service to people with autism who find it difficult to socialise.

I was a befriender for 3 years for two different people: one man in his early 20s, and a teenager. In each case we met for one evening at least every two weeks and performed various activites that were considered mutually enjoyable.

It was very rewarding to be able to offer two different lonely people the opportunity of companionship.

National Autistic Society - Autistic Pub Group

Following from the befriending, I was asked to help create an autistic pub group for West Berkshire. In contrast to the befriending which was all about one-to-one friendship with children and adults with Autistic Spectrum disorders, this was aimed exclusively at adults.

I helped setup the group and was the principal organiser for a period of one year. The group ran once per month and met at The Swan in Thatcham. It had around 5 regular attendees, with a maximum of about 10 people attending at any given time. Periodically we also attended special events such as bowling.

Reserve management activities for Warwickshire Wildlife Trust

Whilst looking for a doctorate to undertake, I took part in volunteering at the local wildlife trust in a scheme called “Nature Force”.

Every thursday we would meet at Brandon Wood nature reserve and travel out to one of the trusts nature reserves and perform management tasks such as coppicing, dead hedge creation, or scrub clearing.

Mentoring of secondary-school students

Whilst at Vodafone I took part in a week long program to mentor secondary school students and guide them through a park planning task.

Secondary School Outreach

As part of a national outreach program, I visited Trinity School in Newbury and delivered three classes on Mobile phone technology as guest session for physics.


My command of the English language is excellent. I possess a large vocabulary and have experience writing long documents.

I can get by in every-day situations in German. I could survive in a German speaking country even if nobody there spoke English.


“A true ‘full stack developer’ - able to work at any level of the stack without missing a heartbeat. He has a relentless focus on making things work - work well. This is why several IoT projects he worked on were delivered in a complete and timely fashion. In addition to his insight and technical ability, Ashley was always keen on making sure that the product he was working on was right for the customer. I loved working with Ashley.”

Dr Vidhya Gholkar , worked directly with Ashley at Vodafone.

“Dr Ashley’s technical knowledge and obvious passion for technology make him a joy to work with. His can do attitude and extensive creative and technical capabilities are without peer.”

Paul Edwards , worked directly with Ashley at Vodafone.

“Having worked with Ashley for the past year I have found him to be the most inventive and bright individual I have had the pleasure to collaborate with. Ashley has tirelessly moved from technology to technology to deliver consistently as part of his work within R&D. Nothing as yet has phased him no matter the disparate nature of the technology. I found him to be inclusive in nature, works as well within a team as he does on a solo project. I can not praise him enough. Any potential employer would be lucky to have him fighting for their team.”

Nicholas Herriot , worked directly with Ashley at Vodafone.

Publications and patents

Social issues

Air pollution:

Evolutionary computation:

Cellular networks:

Computational neuroscience: