Introduction & Background

I am an engineer with 15 years experience working in technology. I have primarily worked on the JVM, but have worked across a broad range of technologies thereon: Java, Groovy, Android, Coldfusion and most recently Scala. As well as spending a reasonable amount of time building applications for the web, which has given me an exposure to a range of javascript technologies over the years, through jQuery, extjs, knockout, backbone and most recently to React.

I enjoy building interesting products, with a good Product Management focus and a good emphasis on good engineering principles and clean code (having worked across differing languages on the JVM, I recognise that good code is contextual).

I have worked in large scale consultancy roles across Europe as well as a mix of startup experience (including one that was acquired) and I am currently the Chief Technology Officer at a legal-tech startup called Basement Crowd where we are building innovative products to serve the legal industry.

Areas of experience & interest

Scala   Akka-http   Microservices   Slick   Product management   API design   Groovy   Spring MVC/Boot/Social   Gradle   Java   JPA   SQL   REST   Technical Architecture   Machine learning  

Work Experience

Some projects I am Working On

Additional Information

Scala: My current role uses Scala as the primary language and have been building applications in Scala for the last two years. I am familiar with a range of Scala libraries, such as Akka-Http for building microservices and Shapeless for generic programming, as well as familiar with a range of functional programming techniques available.

Java: I am experienced in a variety of Java API’s and frameworks. I have worked with Spring 4, Spring Boot, JPA (Hibernate and EclipseLink) in addition to others.

Groovy I have used Groovy as a language in production for ~4 years and I am familiar with many of the languages features (such as writing Functional Programming style groovy) and quirks (such as memory leak issues).

Cloud platforms: I have primarily used AWS for running production apps on the cloud. I have experience setting up, configuring and running applications using a range of AWS offerings, including EC2, RDS, S3, Cogito, Lambda and its more recent Machine Learning capabilities.

Web Development: Through building web applications, I have also worked with various client side technology, having used jQuery, Bootstrap, LESS, SASS, Backbone/Underscore/Require. More recently I have written React applications (primarily using the Create React App framework, and extending them)

Development Control: I have a good knowledge of application life-cycle management and have worked with SVN, Git, Maven, Gradle, Sonar, Jenkins, TeamCity, etc. I have experience with an array of testing tools and technologies.

I have also gained experience and knowledge of other technologies from several side projects and research that I have undertaken in my free time, including Android, a variety of social APIs (Twitter etc) and cloud platforms such as CloudFoundry/OpenShift/AppFog/AWS.

As part of Nerdability, I created, and am now primary contributor to, two Spring projects - Spring-Social-Geeklist and Spring-Social-Khan-Academy, which provide core integration with those third-party APIs on top of the Spring Social framework. They are both listed as community projects:

I write a blog covering technical and opinion articles that can be found here: (I am also a DZone MVB)

Conference talks (View profile)

Product Management for Engineers (API Conference, Berlin 2018)

Agile Machine Learning - from Theory to Production (W-JAX Conference, Munich 2017 (London 2017))

StackOverflow Flair

Recent blog posts