Scroll To View More
Daniel Midwood, Software Developer in London, United Kingdom
Daniel Midwood

Software Developer in London, United Kingdom

Member since November 6, 2014
Dan is a Clojure, Scala, and JavaScript developer with over eight years of experience developing on the JVM. He has an extensive background in building scalable systems and in architecting, designing, and building APIs for top startups in the UK.
Daniel is now available for hire

Portfolio

Experience

  • Java, 9 years
  • Agile Software Development, 4 years
  • PostgreSQL, 4 years
  • JavaScript, 4 years
  • Scala, 3 years
  • Clojure, 3 years
  • Functional Programming, 3 years
  • Amazon Web Services (AWS), 2 years
London, United Kingdom

Availability

Part-time

Preferred Environment

Emacs

The most amazing...

...thing I've done is to mentor and teach other developers.

Employment

  • Java/JVM Mentor

    2014 - 2014
    Independent Contract
    • 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.
    Technologies: Java, Gradle, GitHub
  • Scala/Java 8 Software Engineer

    2014 - 2014
    Independent Contract
    • 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.
    Technologies: Scala, Java
  • Developer, Diffbot API Clojure Library

    2014 - 2014
    Independent Contract
    • Wrote an open source Clojure library for the Diffbot API (see https://github.com/diffbot/diffbot-clojure-client).
    Technologies: Clojure, Diffbot
  • Javascript Developer, Argot.js IoT library

    2014 - 2014
    Independent Contract
    • Ported a Java IoT communications library from Java into idiomatic JavaScript for deployment in Node.js and on the web (see https://github.com/argotsdk/argot.js.).
    Technologies: JavaScript, Node.js, IoT
  • Software Engineer

    2013 - 2014
    Mind 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.
    Technologies: Scala, Java, Ruby, JavaScript, Cassandra, Postgres, AWS
  • Software Engineer

    2010 - 2012
    CPP
    • 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.
    Technologies: Java, Groovy, JavaScript, REST
  • Software Engineer: Integrations Specialist

    2010 - 2010
    Liquid Logic
    • 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.
    Technologies: Java, REST
  • Software Engineer

    2007 - 2010
    Result Group
    • 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.
    Technologies: Java, Python, ESB

Experience

  • Moshi Monsters (Development)
    http://www.moshimonsters.com/welcome

    An online game for children. I was a back-end developer, working on services that could handle many concurrent users at scale.

  • Moshling Rescue (Development)

    A mobile and Facebook game for children. I led back-end development.

Skills

  • Languages

    Java, JavaScript, SQL, Clojure, Scala, Ruby, Go, Groovy
  • Paradigms

    Continuous Integration (CI), Test-driven Development (TDD), Functional Programming, REST, DevOps, Agile Software Development
  • Other

    RESTful Web Services, Task Automation, SOAP, Memory Profiling, Data Analysis, API Design, Protocol Buffers, APIs
  • Frameworks

    Spring, Play Framework, Apache Thrift
  • Tools

    Maven, Gradle, Emacs, Jenkins, Jira, IntelliJ IDEA, AWS ELB, Chef, Vagrant, SBT, ScalaTest
  • Platforms

    Amazon Web Services (AWS), Linux, AWS EC2, MacOS
  • Storage

    Redis, PostgreSQL, AWS S3, Cassandra, Redshift, MySQL, Riak, AWS RDS, AWS DynamoDB
  • Libraries/APIs

    React, Facebook API, Twitter API

Education

  • Bachelor of Science degree in Computer Science
    2001 - 2005
    The University of Huddersfield - Huddersfield, UK
I really like this profile
Share it with others