Java/JVM Mentor2014 - 2014Independent Contract
Technologies: GitHub, Gradle, Java
- 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 Engineer2014 - 2014Independent Contract
Technologies: Java, Scala
- 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 Library2014 - 2014Independent Contract
Technologies: Diffbot, Clojure
- Wrote an open source Clojure library for the Diffbot API (see https://github.com/diffbot/diffbot-clojure-client).
Software Engineer2013 - 2014Mind Candy
- 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.
Software Engineer2010 - 2012CPP
- 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 Specialist2010 - 2010Liquid Logic
Technologies: REST, Java
- 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.
Software Engineer2007 - 2010Result Group
Technologies: Enterprise Service Bus (ESB), Python, Java
- 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.