Daniel Worthington-Bodart

Mobile
+44 (0) 7887 891178
Email
dan@bodar.com

Profile

16 years experience in development and 7 years in support / infrastructure. A fast learner with excellent problem solving skills and a passion for making people and technology work together.

Open Source Development

TotallyLazy (Creator)
Functional Programming library for Java
UtterlyIdle (Creator)
RESTfull web framework for Java
Yadic (Co-creator)
Tiny and super fast DI tool for Java and .NET
Yatspec (Co-creator)
Self documenting tests for Java
LazyRecords (Creator)
Think LINQ for Java
JCompilo (Creator)
Advanced Java compiler and build tool
More ...
My GitHub Organisation

Presentations / Awards

2012 Agile Awards Winner
Most Valuable Agile Innovation (The 10-Second Build)
QCon: The 10 Second Build
Slides and Video
Presumptions Presumptions Presumptions
An alternative look at Java and the JVM

Experience

January 2016 - Present

Technical Principle on Recommended, Springer Nature, London

I am working on a brand new recommendations service for the Springer Nature Group. The service's goal is to help scientists and researchers keep abreast of the 4k new articles published every day in science. The project started as an MVP and has continuously experimented both with user features and technology. All features are A/B tested and metrics used to help inform the project direction. The service is holistic approach to product development, UX, visual design, software development and algorithm design where everyone on the team mucks in.

Summary of practices:
A/B testing, Hypothesis Driven Development, Data over opinions, System thinking, Pain Driven Development, End to end side by side versioning, Feature toggles / Branch by Abstraction
Summary of technologies:
CloudFoundary, MailChimp/Mandrill, Keen.IO, RecSys, TypeScript, Sass/PostCss, TotallyLazy/UtterlyIdle, CouchDB, Rust
November 2015 - June 2016

Continuous Improvement Consultant, BSkyB, London

I worked with a number of teams in the Broadcast Software Engineering group to help them improve their teams, tools and processes as part of their transformation program.

  • Couched multiple speciality teams (Client development, Data migration, DBA and DevOps) on a mixed blend of delivery practices (agile, data driven, pragmatic, test infected)
  • Helped development teams to become conscious of implicit trade-offs and biases
  • Helped management gain insights and data points from key points in the delivery pipeline (from source control metrics, release pipelines, code analysis and one on one interviews)
Summary of practices used:
Coaching, Interviews, Public speaking, Data analysis, Executive Summaries
August 2015 - April 2016

Founder, 10second.build, London

I worked on my own startup to try and bring super fast builds to more people for less.

  • Taking an idea and trying to turn it into a small business
  • Integrating with multiple operational APIs (SSL, DNS, bare metal provisioning, containers/virtualisation)
  • Working with bleeding edge technology (the good and the bad!)
  • Trying to get the balance between good enough and perfection
Summary of practices used:
Whatever works, grit and determination, elevator pitches
Summary of technologies:
Hyper, Docker, Packet, TotallyLazy, UtterlyIdle, HTTP/JSON
July 2015 - November 2015

Senior Developer / Consultant, Theorem Technology Ltd, London

Theorem technology are a FinTech startup, building highly scalable bespoke trading platforms on AWS for global clients. I was hired to reinvigorate the current team, optimise the existing applications and improve the release infrastructure.

  • Working on multiple projects/codebases/languages most days.
  • Adapting to a highly volatile business domain with constantly changing requirements
  • Extensive investigation into container technologies like Docker, Kubernetes, CoreOS to reduce cost and increase server density on AWS
Summary of practices used:
Functional Programming, Agile, TDD, Pair programming, Refactoring, JSON/REST
Summary of technologies:
AWS (EC2, ELB, CloudFormation, RDS), Container Technologies (Docker, Kubernetes etc), RabbitMQ, Java/Totallylazy, UtterlyIdle, Clojure, Go Lang
March 2014 - July 2015

Interim Head of Development, Springer Nature, London

Springer Nature are a scientific publisher with subscription and open access content. I reported to the London Director of IT and and while a new Head of Development was being looked for, I picked up a lot of the role's responsibilities especially around recruitment, personal development, mentoring and feedback sessions.

  • Worked across 4 development and 2 DevOps teams in London (~40 people)
  • Liaised with multiple global teams (Dordrecht, Berlin and Pune)
  • Increased constructive feedback on each development team
  • Created a mentorship/buddy program to help junior developers
  • Help define the global shared services strategy
  • Encourage more developers to get involved in the operational side (DevOps etc)
  • Actively encouraged polyglot programming and experimentation with HackDays
  • Technical lead for a 5 week prototype to disrupt Springers commercial models
Summary of practices used:
Coaching, Mentorship, Rapid 360 feedback, Feed Forward, Conflict resolution, HackDays, Mindfulness, Retrospectives, Disruptive innovation
July 2013 - February 2014

Architect / Senior Developer, Deutsche Bank, London

I joined a experimental team attempting to disrupt some of Deutsche Bank core applications and services from the inside. We followed the release early and release often pattern and worked directly with the trading teams.

  • Worked across 3 different teams / projects helping streamline existing applications and green field development.
  • Nurtured polyglot development environment
  • Encouraged usage of ops tools by developers
  • Built property graph based prototype using Tinkerpop and D3 visualisation tools
Summary of practices used:
Functional Programming, Agile, TDD, Pair programming, Refactoring, REST
Summary of technologies:
Java/Totallylazy, Scala, Node, D3.js, Tinkerpop, Neo4J, HAProxy, Nginx, Runit
April 2010 - June 2013

Technical / Team Lead, Sky Network Services, London

I was hired to work on the broadband and telephony backend systems powering Sky's ISP backbone. The applications we built provided operational visability into that status of all orders and integrated with multiple internal and 3rd party services.

  • Lead team of 8 developers, 2 QA and 1 BA
  • Coached developers from imperative programming style to functional programming style
  • Guided Sky away from binary coupled RPC systems to decoupled REST services
  • Incrementally rewrote 3 critical business systems removing legacy technology
  • Massively reduced feedback loop for developer builds ( Article Video )
  • Changed Sky Corporate policy to actively encourage Open Source Development

My greatest achievement has been reducing build times from 45 minutes to 3 minutes for one core system

Summary of practices used:
Functional Programming, Agile, TDD, Pair programming, Refactoring, Retrospectives, XP, Continuous Delivery, REST
Summary of technologies:
Totallylazy, UtterlyIdle, Yadic, LazyRecords, Yatspec, Lucene, Java, JParsec, Scala, Mercurial, Subversion, TeamCity, Amazon EC2/S3/CDN, Jetty, SimpleWeb
Sep 2003 - April 2010

Technical Lead / Developer / Lead Consultant / Agile Coach, ThoughtWorks Ltd, London

I worked on a large number of projects across a wide range of industries including investment banking, retail banking, broadband provisioning and retail chains. I have mentored a large number developers and also learnt a great deal about design, development, delivery and enablement.

  • Technical Lead for both Java and C# Projects
  • Strong experience in Investment Banking domain ( Front + Back Office )
  • Successfully designed and built a number of analytics engines (Basel 1 + 2)
  • Successfully delivered a number of integration services for retail chains

My greatest achievement has been replacing batch processes (6hrs+) with near real time interactive services (10sec)

Summary of pratices used:
Agile, TDD, Pair programming, Ruthless Refactoring, Retrospectives, eXtreme Programming, Continuous Integration, RESTfull services and SOA without the hype
Summary of technologies:
Java, IntelliJ, JUnit, JMock, StringTemplate, Velocity, FreeMarker, PicoContainer, Lucene, Hibernate, Ant, SubVersion, Cvs, C#, VS + Resharper, NUnit, NMock, Nant, CruiseControl.NET, Excel interop, Python, Django
Apr 2006 - Aug 2006

Adventure Motorcyclist, 2 guys, 2 bikes, 22 countries

I was lucky enough to be able to take a 4 month sabbatical from ThoughtWorks, and travel to the border of China and back. We drove through many of the former USSR member states and along one of the most remote roads in the world: the Pamir Highway. As with most travellers, we were amazed by the genuine hospitality of the people we met, often those with the least giving the most.

  • Covered 13,000+ miles
  • Learnt what it means to push the body to total and utter exhaustion and then sleep like you have never slept before
  • And finally learnt that when you are really hungry, you really will eat anything
Jun 2001 to Jun 2003

Software Engineer, Aspelle (DrKW spin off), London

I was Technical Lead for all UI related work of the Aspelle SSL VPN solution including creating the web portal, Active Directory and ISA MMC snap-ins and the web based management tool.

  • Refactored of many unmanaged / managed C++ libraries to pure C#.
  • Extensive experience of Marshalling, PInvoke, COM Interop.
  • Extensive use of certificates & cryptography (CAPI + .NET)
  • Extending Active Directory schema, ADSI and MMC.

My greatest achievements were solving problems that have previously been deemed impossible to solve such as extracting RSAParameters from X509Certificates or creating pure C# property pages.

Summary of pratices used:
MSF, Code reviews, Integration builds, Test harnesses
Summary of technologies used:
C#, .NET, Active Directory, WMI, MMC, XML, XSLT, HttpHandler(Asp.Net), Http, ASN.1, Certificates / Cryptography, Citrix MetaFrame, Terminal Services, IIS + ISA, UML, ClearCase, ClearQuest, Share Point Portal Server, MSMQ, VB, COM
Jan 2000 to Jun 2001

Developer / Consultant, Delphis Consulting (now Morse), London

I developed web applications, content management systems, and enterprise management systems for Delphis. In addition to providing back office market data integration services and consultancy to clients.

  • Built a custom enterprise management systems on top of WMI and SNMP.
  • Developed Delphis’ content management system.
  • Office (VBA) integration with Bloomberg / Reuters etc.
  • Researched emerging technologies (.NET / XSLT / WBEM - WMI)
  • Provided technical consultancy to partners
  • Managed clients expectations
Summary of technologies used:
XML, XSLT, WMI, ASP, SNMP, IIS, Coldfusion, SQL 2000, LDAP, VSS 6, Fireworks, VB / VBA Excel, Access, Perl
Apr 98 to Jan 2000

Systems Engineer, Delphis Consulting (now Morse), London

I provided trade floor / 3rd level support for UBS Private Banking. I was actively involved in application rollout and integrating new systems & software into the bank’s standard build. I was responsible for getting a large number of systems Y2K certified.

  • Team responsible to 400+ users, personally responsible to 50+ traders
  • Built very strong relationships both client side and team side.
  • Employee of the month (Delphis) Best New Joiner (UBS PB).
Summary of technologies / skills used:
NT4 Server / Workstation, Scripting + Packaging, Bloomberg, Reuters, BT Meridian Programming, Compaq Workstation & Server hardware support / installation, Cabling + Patching, Security/Encryption and AS/400 Client & Printer set-up

Education and Qualifications

  • Sun Certified Java Programmer (SCJP) 1.4
  • Microsoft Certified Solution Developer (MCSD) .NET (70-320, 70-316, 70-315, 70-300, 70-229)
  • Microsoft Certified Systems Engineer (MCSE) NT4 (70-073, 70-067, 70-068, 70-058, 70-059, 70-087)
  • 'A' Levels (Northampton School For Boys) [ Maths, Chemistry and Art ]
  • Major Art Scholarship (Lancing College)

Personal Summary

  • French - Conversational

References

References on request