Verified Expert in Engineering
The most amazing...
...thing I've done is to mentor and teach other developers.
- Collaborated with a .NET developer who was porting a C# program to Java.
- Introduced current technologies, build systems, and testing strategies.
- Provided guidance on writing idiomatic modern Java.
Scala/Java 8 Software Engineer
- Developed a proof-of-concept high availability game server for National Geographic's Animal Jam.
- Worked with a large distributed remote team using GitHub and other tools for remote collaboration.
Developer, Diffbot API Clojure Library
- Wrote an open source Clojure library for the Diffbot API (see https://github.com/diffbot/diffbot-clojure-client).
- Developed for Moshi Monsters, a highly scaled and immensely popular online game for children.
- Led back-end development for the Moshling Rescue mobile and Facebook game.
- Gave talks about various technologies to other technical members of staff, and gave talks and demos to the entire company.
- Built a load test generator that used logs of web requests to generate tests closely mimicking real user behaviour.
- Involved in the hiring process to filter, interview, and hire good clients for the company.
- Mentored and educated other members of staff on Scala and functional programming.
- Led development teams across front- and back-end development.
- Introduced a culture of learning, helping to set up regular educational lunches where we would watch tech videos and talks as well as talk about interesting technology ourselves.
- Became part of the "Developer 2.0" track into software architecture, where I worked across the entire technology department to remove existing problems.
- Improved relations between Dev and Ops to streamline application deployments and provide greater visibility through the development process.
- Acted as mentor to new recruits and junior members of staff.
Software Engineer: Integrations Specialist
- Worked closely with clients, capturing requirements through discussions and more formal processes.
- Introduced version control, automated tests and greater rigour to the development process.
- Built a common framework that our applications could use to integrate with third party services, and then merged two distinct ad-hoc solutions into it.
- Led the development of software projects.
- Promoted the use of open source software, introduced battle-tested components, and saved time by not having to re-implement technology that was already available.
- Worked directly with clients, handling the whole SDLC.
- Became part of an internal task force that investigated, implemented, and taught about additional technologies and techniques.
- Led teams of developers through projects.
- Collaborated with other developers to introduce automated tests and set up a continuous integration server.
- Was recognized as a "high performing" member of staff and fast-tracked through the company.
Continuous Integration (CI), Test-driven Development (TDD), Functional Programming, REST, Agile Software Development, DevOps
RESTful Web Services, Task Automation, SOAP, Memory Profiling, Enterprise Service Bus (ESB), Internet of Things (IoT), Data Analysis, API Design, Protocol Buffers, APIs
Spring, Play Framework, Apache Thrift
Apache Maven, Gradle, Emacs, IntelliJ IDEA, GitHub, AWS ELB, Chef, Vagrant, SBT, Jira
PostgreSQL, Amazon S3 (AWS S3), Redshift, MySQL, Redis, Amazon DynamoDB
Node.js, Diffbot, React, Twitter API
Amazon Web Services (AWS), MacOS, Linux, Amazon EC2
Bachelor of Science Degree in Computer Science
The University of Huddersfield - Huddersfield, UK