I help people deliver software that's well designed, fully tested and released early.

As an accomplished developer, I coach teams to adopt agile practices with a focus on XP, clean code and continuous delivery. I am adept at changing roles between the coach, developer, architect or tester to demonstrate where the challenges are and work with teams to solve them.

Since 2015, I've been specialising in helping legacy teams with monolithic codebases. I target the culture of the teams, removing anything that they fear while improving the technical capabilities of the team.

I blog at code.joejag.com and via meetups and conferences help to create a thriving code crafters community in Glasgow. I'm known for speaking at conferences about techniques such as technical leadership, continuous delivery and mob programming.

Specialities
Continuous Delivery, Mob programming, Node, Ruby, Java, TDD, coaching and agile techniques.
EXPERIENCE
Jun 2021 - Present
FanDuel
Principal Software Engineer
I run the Engineering Productivity team at FanDuel. Our work involves training, introducing tooling, and occasionally intervening to improve our engineers' productivity.

Our big piece of work in 2021 was allowing all Engineers to have their own private development environment available within 3 seconds.

Part of the responsibility is organising a Friday demo for over 100 Engineers, with external and internal speakers coming in to speak on topics like Kubernetes, CodeScene and Tech Leadership.

 
Jul 2018 - May 2021
Registers of Scotland
Agile Development Coach
Working across multiple teams to help improve their technical practices and ability to deliver in a new service-aligned environment.

Each team provides its own context and challenges, but general improvements were training on how to expertly pair and mob program. These improvements had the effect of breaking down knowledge silos and quickly creating team consensus on how to work together.

From a process perspective, I trained teams on how to make accurate predictions for delivery without the need to estimate any tasks by using Monte Carlo simulation and data they already had.

 
Sep 2017 - Jul 2018
BJSS
Tech Lead / Technical Architect
I worked on security controls to maintain criminal records data in the cloud and the search engine to identify candidates to known persons. Given the complex domain, I introduced example mapping and making work visible to help the team deliver with a shared understanding and without rework.

 
Jun 2015 - Sep 2017
Arnold Clark
Tech Lead
Joined the point of sale team and introduced mob programming and microservices to deal with a monolithic legacy codebase. This allowed the team to meet their two most significant targets that year and allow for other teams to pick up work.

Focussed on relentlessly making it safer for people to do work. Improved communication between an ops and dev team to the point where the operations team moved from distrust to suggesting a move to continuous deployment.

 
Apr 2014 - Jun 2015
ThoughtWorks
Senior Developer -> Tech Lead
Replaced a heritage monolithic Java 1.4 application with a Clojure & Java 8 Microservices platform.

Worked as a tech lead, creating a new platform. There was a focus on enabling the current staff and improving the UX of the new system.

As part of a learning culture, I trained people on regular expressions, build automation, Java 8 Lambdas and the Z Shell.

 

Worked as a contractor at Emergn, Emerge Adapt & the Scottish Government from 2012 to 2014

 
May 2011 - Sep 2012
Barclays Wealth
Senior Developer
Developed an SOA application to provide client data to other consumer and provider systems backed by a distributed cache. This project reduced the cost of integration while improving the availability of client data.

Used Continuous Delivery practices to automate the release process of a vendor system allowing the whole group to perform releases in minutes rather than days.

 
2006 - 2011
JPMorgan Chase
Developer -> Architect
Drove a firm-wide initiative for improving code quality and developer tooling. This led to improved testing practices and reduced licence costs across the firm.

Drove adoption of XP based agile practices like CI, TDD and Pair programming across different lines of business.

EDUCATION
2004-2005
(Commendation) Msc eCommerce
University of Aberdeen
 
2000-2004
2:1 Bsc (Hons) Computing Science
University of Aberdeen
 
TALKS
 
Time bandits: don’t let these vampires get you
vimeo.com/299164670
 
 
Tackling 16 years of legacy code with mob programming and Lego
youtu.be/kOACFsO0blU
 
 
Confessions of a Tech Lead
vimeo.com/136920278