Who Am I ?
I’m Paul Hammant and in my mid-40’s. I have mostly been a consultant since 1989. I’m an Agile advocate, and love open source development.
I used to work at ThoughtWorks, and spent nearly all of 12.5 years there on client engagements. I’ve worked for a US national Bank, a UK-based global Oil Company, a UK “online bank”, a global clothing retailer, a popular US budget airline, a search and ads giant, and a financial services conglomerate, where I enjoyed a ‘Director of Engineering’ position. Before ThoughtWorks, I was Head of Development at a UK “M-Commerce” startup, and before that a developer for IBM midrange computers in the insurance field.
I was early into Java (asking newbie questions on comp.lang.java in Jan 1996) and middle of the field into C#/.Net (2003), and nowadays use Python or Ruby where it’s appropriate or through choice. Sinatra is what I like for web-framework, and I totally love much of the promise that AngularJS holds.
For the entire current millennia, I have been an advocate of Open Source, and eXtreme Programming (XP). I was participating in the former for a couple of years, before I became an advocate of the latter. The two communities feed off each other.
Minor claims to fame?
I was rabid about Inversion of Control long before I arrived in ThoughtWorks, or indeed before it was popular anywhere. I’m also one of the pioneers of the related topic Dependency Injection and guilty of coining some numerical sub-types before ThoughtWorks’ chief scientist, Martin Fowler, wrote his widely-read article making the world of development good again.
Aside from Dependency Injection, there are some technologies/techniques I helped push:
- Selenium, and functional web-app testing. I’m co-author of Selenium 1.0, and unknowing pioneer of Comet, as part of that.
- Branch by Abstraction - a technique for avoiding multi-branch development and the merge-consequence of that. The technique leverages “Trunk Based Development” and “Feature Toggles”
Aside from the above, there are some themes that I keep returning to in this blog over the years:
- Pseudo-declarative UI markup languages, delivered over HTTP
- Trunk Based Development, Branch by Abstraction, and Feature Toggles specifically, and source-control best practice
- Wiki and Content Management Systems (CMS) that are backed by Source Control
- Tier-reduction architectures, patterns and alike.
- Agile of course, with XP, BDD and ‘small stories’ in particular.
My last ten blog entries
Go to my archive for a full list of entries going back to 2002.
- February 21st, 2015 » Playing With Sikuli For Desktop Automation
- February 14th, 2015 » I wish Subversion had a query language
- February 14th, 2015 » Bash script to convert Subversion to Git
- January 27th, 2015 » Detecting Redundant Tests
- January 18th, 2015 » Reducing Test Times by Only Running Impacted Tests - Python Edition
- January 11th, 2015 » Reducing Test Times by Only Running Impacted Tests
- January 8th, 2015 » Omnipresent, Infallible, Omnipotent and Instantaneous Build Technologies
- January 6th, 2015 » Farewell 2014, farewell ThoughtWorks
- December 15th, 2014 » Scraping DZone Syndication Stats
- December 8th, 2014 » The rise of version control
Subscribe by Email
Publications and speaking events
Open Source / Technology
- OReilly’s OCSCON 2004: Constructor Dependency Injection with PicoContainer - A post J2EE Nirvana (Portland, OR). My Blog Entry and Slides for the same.
- The IEEE’s Austin Texas Chapter Client-Side MVC: The Next Big Thing for Enterprise Application Development. Video too.
- Agile India 2006: TDD, Refactoring and Dependency Injection (Agile’s answer to “Big Up-Front Architecture” : BUFA) (Bangalore)
- Agile India 2006: Selenium Workshop (Bangalore)
- Agile 2009: Selenium and JBehave : A surprisingly successful shotgun wedding (Chicago). Second link. Co-presented with Mauro Talevi.
- Perforce MERGE conference (2014) - three sessions related to Trunk Based Development
- An article commissioned specifically for DZone (2012) - The Shift Towards Client-Side MVC
- DZone syndicates articles from this blog. There are more than eighty articles syndicated so far.
- May 2006: Simple JAVA and .NET SOA interoperability. Commissioned for their very first edition!
Java Developer Journal
- Dec 2003: Inversion of Control Rocks. Duplicated here and here. The article was prettier in the print edition, which is sadly no longer available online.
Getting in touch
Email is best. First name at second name dot org.