Profile & Desired Role
Experienced, charismatic software developer, technical architect and coach with a passion for creating elegant software that is easy to read and provides immediate and lasting value to its users.
Looking for a role as either:
- a member of a team using agile techniques, particularly Domain-Driven-Design (DDD) and Test-Driven-Development (TDD) to frequently deliver valuable and high quality software in any object-oriented language.
- a leader or coach for a team or organisation who wish to do the above
Teamwork and Collaboration
Great communicator with a natural talent for bringing out the best in people, motivating teams and with a humble collaborative manner. Keen practitioner of Domain-Driven-Design to ensure a ubiquitous language is spoken throughout the team and the code.
Object-Oriented (OO) Design Quality & Refactoring
Passionate advocate for code quality and elegance. Rich experience of OO modelling, appropriate use of design patterns. Confident and experienced in identifying and refactoring poorly designed code.
Agile & Lean Principles and Practices
Long-time agile evangelist, practitioner and coach of disciplined eXtreme Programming (XP) practices - pair programming, TDD, refactoring, user stories, metaphor etc. Qualified and experienced Scrum-master. Experience to pick the right practices for a team at a given time and help them learn and adapt as they go.
Estimation / Meeting Deadlines
The experience to know what is possible, the confidence to commit only to that which is possible and no more, and the courage and absolute determination to deliver on a commitment once made.
Leadership & Influence
BASI Snowboard Instructor with over 300 logged hours of on-snow teaching experience - comfortable in command of a group in workshop or meeting situations. Great breadth and depth of technical experience leading to natural respect from peers. Organised and self-motivated, practices inbox-zero and GTD.
Other Significant Skills & Experience
- Technical Architecture and SOA
- Continuous Integration (CI): CruiseControl, NAnt, Rake, Hudson
- Test / Specification Automation: Selenium, Watir, WatiN, RSpec, Cucumber
- OS X / Linux / bash shell
- Ruby language and the Ruby on Rails framework
- Networking: Firewalls, ports, protocols, DNS
- Performance Optimisation
- Database design and T-SQL Programming
Matt has led a team of developers on one of our most high profile projects with great success. He's established a team that work fantastically well together and are producing perhaps the most technically sound product that we've seen to date. He displays a deep understanding of the technologies and architectures that he works with as well as how to deliver software effectively, something that he is both passionate and knowledgeable about. Matt has been a real asset to the team that he has led as well as to the department. I'd certainly like the opportunity to work with him again.
Top qualities: Expert, High Integrity, Creative
-- Dan Rough, Development Manager, BBC Worldwide (March, 2008)
Matt is a passionate and technically outstanding developer who has proven naturally talented in leading a large team of developers on a long running project and dealing with the expectations of the business from the other end. I would jump at the chance to work with him again.
-- Rob Bowley, Developer, BBC Worldwide (March, 2008)
Martin Fowler, Kent Beck, Ward Cunningham, David Allen, Taiichi Ohno, Bob Martin, Kathy Sierra, Paul Graham, Eric Evans, Why, Robert M. Pirsig
- Coaching this startup's team in the adoption of agile / lean software development practices: pair-programming, TDD, retrospectives, automated acceptance testing, continuous integration & deployment, kanban workflow
- Hands-on developer, learning UNIX and helping team mature the architecture from simple Ruby on Rails app
- Automated acceptance testing using Cucumber BDD framework
Sept 2006 - June 2008: Lead Developer / Agile Coach, BBC Worldwide, London
- Lead a team of 10 developers through this 1.4 million-pound redevelopment of the BBC's international online sales catalogue site
- C# 2.0 / ASP.NET, SOAP / REST web services, AJAX / prototype.js / scriptaculous, SOA, TDD, mock objects (NMock), NHibernate, CI with CruiseControl.NET / NAnt, Scrum-master, Lean (TPS), Retrospectives, User Stories, Velocity, Kanban board.
March 2006 - May 2006: Consultant Architect / Developer, Omni Warranty Corp, Vancouver
- 3 month fixed-term contract to solo specify and develop a B2B website: http://livedoc.ca/
- C# 2.0 / ASP.NET, MS SQL Server 2005, AJAX : prototype.js, TDD, User Stories
August 2004 - July 2005: Consultant Developer, Standard Bank, London
- 12 Months. Contract. 3 renewals. Left as project came to completion.
July 2003 - August 2004: Performance Troubleshooter, Norwich Union / Aviva
- 13 Months. Contract. 3 renewals. Left as project came to completion.
- Re-hired by this Insurance giant to take a key role in a 3-man team of hands-on architect / designers to address performance and scalability issues with their key strategic online insurance policy management system 'N201'.
- C# 1.1, HP OpenView, TDD, pair programming, load / stress testing, COM+
July 2002 - April 2003: Development Team Leader Holiday Focus
April 2001 - March 2002: Senior Consultant Developer Norwich Union
Oct 1999 - April 2001: Permanent Developer EMI Recorded Music
March 1997 - Oct 1999: Permanent Developer WS Atkins
- 1993-1996 University of Sheffield 2:1 Control & Systems Engineering
- 1985-1993 Queen Elizabeth School : Five 'A' Levels, Ten Straight 'A'-grade GCSEs
- BASI Grade II Snowboarding Instructor
- Full UK Drivers Licence
- Semi-fluent French & German (to GCSE + experience living in both countries)