Web Site
dhulme.uk

GitHub
github.com/dhulme

Email
dhulme@outlook.com

David Hulme

I'm a web developer with over 6 years' experience, based in Bracknell, Berkshire, passionate about building scalable and maintainable JavaScript applications using modern tools and techniques to deliver a great experience to both end-users and developers.

Please read through this CV to get a feel for my skills and experience, and visit my website or GitHub to see what I've been working on outside of my day job.

Skills

JavaScript
TypeScript
Vue
React
Node.js
Express
MobX
Jest
Yarn
Azure
Sass

Experience

Technical Lead
April 2019 — Present

Full Stack Developer
May 2018 — March 2019

I am the Mitie technical lead for our React and Node web applications. I lead the development, oversee the web architecture, communicate with the product owners, and provide technical support and assistance to the development teams.

Our team works mainly on the Connected Workspace, Mitie's strategy to digitally transform Facilities Management. We develop a web portal which allows customers to visualise data captured from sensors and gain insight into their employees' wellbeing (through temperature, light levels and CO2 concentration), utilisation of rooms and spaces, and the health of their building infrastructure.

The portal is built using TypeScript React and MobX on the front-end, with a TypeScript Node.js and Express back-end utilising a microservices architecture. Single sign-on is provided by Azure Active Directory. I led the design and development of a Node.js REST API service to manage user authorisation across Mitie applications. The service allows for permissions to be stored for any object in an external database. Each time a user attempts to access data or complete an action, the API will check their permissions. This is a core part of Mitie's Connected Workspace infrastructure and therefore we ensured it had excellent performance and was thoroughly tested.

We worked in an agile team of 8 developers using Azure DevOps to manage our code, work items and build and release process. I introduced improvements to our workflow such as automatic code formatting, linting, code review policies and automated build and releases. I also designed and configured PaaS infrastructure in Azure.

I improved Mite's developer recruitment process by creating interview questions and a technical test. I interviewed candidates and we hired several excellent people including a graduate for whom I created and executed a learning plan. He came with very little web experience and it was great seeing how quickly he picked up React and began making useful contributions to the project.

Last year Mitie outsourced development to a partner in India. This transitioned my role to managing an external development team, providing technical governance, support and assisting development. I have ensured that architectural decisions follow best practices and are consistent with Mite's approach. I've also researched new web technologies for Mitie such as Docker, GraphQL, WebAssembly and Svelte.

More recently, I have written serverless Node APIs hosted in Azure and AWS. These APIs connect to a mobile application built in Xamarin enabling Mitie's cleaners to sign in and out of shifts and read news articles. I've also created a proof of concept for migrating this Xamarin application to React Native.

Full Stack Developer
March 2018 — May 2018

I was part of the digital products team, developing both client and server side code on a product for the exhibition and events industry built on the Meteor full stack framework, React and Redux. It enabled exhibition organisers to build their event floor plans on an interactive map, and allowed exhibitors to book stands and connect with the organisers.

I worked with the team to address bugs and security issues, but felt progress wasn't made at the pace I expected, and decided the role wasn't for me.

Huumun
Formerly PharmiWeb Solutions

Developer
January 2016 — March 2018

Junior Developer
July 2014 — December 2015

I was part of the Technology & Solutions team, responsible for technical architecture and governance, innovating new solutions and developing company products. I led the introduction of JavaScript ES6+ and the Vue front-end framework. As these new technologies were introduced, I provided training and technical support to the developers in the team and created project templates to ensure all new projects follow a consistent approach.

I oversaw the development of two data visualisation projects, providing estimates, creating the code structure and distributing the work among developers. The first project used a custom framework I developed, including client side routing and a 2D canvas library. The second project led the introduction of front end frameworks to the company and utilised the Create.js canvas library. Both these projects were primarily targeting the iPad and I gained extensive experience of working through compatibility issues within iOS Web Views.

I also led the development of an internal tool to improve the deployment process of HTML marketing presentations for the iPad. It replaced an existing solution and reduced human error and effort through automation. The system was built as a web application using Meteor, enabling centralised logging of deployments and real-time data on deployments. During its first month of introduction, the average time spent on deployments was halved.

Web Development Intern
June 2013 — September 2013

Software Engineering Intern
June 2012 — September 2012

For my first internship I was responsible for writing router unit test scripts in Tcl to confirm that the diagnostic elements of the router software were functioning properly on different hardware.

I returned the next summer to work on their TelePresence troubleshooting website, powered by a bespoke CMS in PHP. I also built an internal web application in Node.js for managing their TelePresence lab equipment allowing users to add, edit, view and book devices.

Education

University of Southampton
October 2010 — June 2014

First Class Honours Master of Engineering (MEng) degree in Computer Science.

For my 4th year in group design project, we developed a web application designed for video presentations in educational scenarios. A classroom of students could watch a video on a main screen, making annotations in real-time on their device and seeing a live timeline of others' annotations. In addition, second screen users were able to control the playback of the shared video. Our work received a First Class mark and was published and presented at the ICCHP 2014 conference.

Throughout my course I covered various other topics such as networking and distributed systems, computer architecture and operating systems, artificial intelligence and computer vision, databases and computer graphics.

Edgbarrow School
September 2008 — June 2010

Achieved three As in Computing, Systems & Control and Mathematics A Levels.

Sandhurst School
September 2003 — June 2008

10 GCSEs grade A*-B including Maths and English.

Interests and Activities

Outside work I am a keen musician, playing synthesizers and keyboards as part of my local church band. I enjoy using computers and technology to mix classical acoustic instruments with modern synthetic sounds.

I develop the Money Manager app, written in Electron and Vue, which I use to manage my personal finances. I work on some other web personal projects and also manage the church website.

I also have a YouTube channel where I upload gaming videos, musical projects I've been working on and other content.

References

References available on request.