Who Am I ?
I’m Paul Hammant and in my mid-40’s. I have worked for ThoughtWorks as a ‘Principal Consultant’ since 2002, and have been consulting since 1989. I’m an Agile advocate. As well as being nearly always billable to clients, I generally help TW’s Open Source agenda. No we do not get paid to work on open source! I’m a UK citizen but live in New York courtesy of a Green Card.
As a ThoughtWorks consultant, I’ve worked for a US national Bank, a UK-based global Oil Company, an ‘online bank’ (UK only), a global clothing retailer, a popular US budget airline, a search/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 (freelance then permanent), and a specialist for many years on 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 some 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 it was popular anywhere. Indeed, I’m a pioneer of the related interest Dependency Injection and guilty of coining some numerical sub-types before our chief scientist wrote that famous article, and the world of development was 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, 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 Dependency Injection, 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.
- November 20th, 2014 » Strong Argumentative Positions
- November 14th, 2014 » Source Code Laundering
- November 13th, 2014 » Code Review - the unit of work should be a single commit
- November 12th, 2014 » The Config Promotion Problem
- November 9th, 2014 » To SOA or Not To SOA
- November 4th, 2014 » Selenium is Ten Years Old
- October 30th, 2014 » Angular Commit Bubbles
- October 28th, 2014 » Corporate File Sync: Agony and Ecstasy
- October 27th, 2014 » The Pervasive Inbox
- October 23rd, 2014 » Me Presenting on Trunk (etc) at the Perforce MERGE conference
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 or first name at ThoughtWorks dot com depending on whether it’s business or pleasure.