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 Dallas, Texas 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.
- December 5th, 2013 » Continuous Review
- December 4th, 2013 » What is Your Branching Model?
- November 20th, 2013 » Source Control is your new DR
- November 19th, 2013 » Elastic Environments in Source-Control with Ansible
- November 5th, 2013 » Branchable CI with Thoughtworks' Snap
- October 23rd, 2013 » A lower technology style of Angular for the enterprise
- October 17th, 2013 » A 'Small Stories' Case Study
- October 12th, 2013 » Bad Java servlet apps
- September 19th, 2013 » Delaying non-functional stories
- August 31st, 2013 » WebDriver and AngularJS
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.
- An article commissioned specifically for Dzone - The Shift Towards Client-Side MVC
- DZone syndicates articles from this blog. Eighteen articles so far. Click through my articles to get to their list.
- May 2006: Simple JAVA and .NET SOA interoperability. Commissioned for their very first edition!