Martin Fowler (software engineer)

Martin Fowler
Webysther 20150414193208 - Martin Fowler.jpg
Talk at University of São Paulo, Brazil in 2015
Born1963 (age 56–57)
Walsall, England
EducationUniversity College London (BSc, 1986)[1]
OccupationSoftware developer, author, public speaker

Martin Fowler (18 December 1963) is a naturalized American software developer, author and international public speaker on software development, specialising in object-oriented analysis and design, UML, patterns, and agile software development methodologies, including extreme programming.

His 1999 book Refactoring popularised the practice of code refactoring.[2] In 2004 he introduced Presentation Model (PM), an architectural pattern.[3]


Fowler was born and grew up in Walsall, England, where he went to Queen Mary's Grammar School for his secondary education. He graduated at University College London in 1986. In 1994 he moved to the United States, where he lives near Boston, Massachusetts in the suburb of Melrose.[1]

Fowler started working with software in the early 1980s. Out of university in 1986 he started working in software development for Coopers & Lybrand until 1991.[4] In 2000 he joined ThoughtWorks, a systems integration and consulting company,[1] where he serves as Chief Scientist.[5]

Fowler has written nine books on the topic of software development (see Publications). He is a member of the Agile Alliance and helped create the Manifesto for Agile Software Development in 2001, along with 16 fellow signatories.[6] He maintains a bliki, a mix of blog and wiki. He popularised the term Dependency Injection as a form of Inversion of Control.[7][8]



  1. ^ a b c Martin Fowler at Retrieved 2012-11-15.
  2. ^ Stephane Faroult; Pascal L'Hermite (2008). Refactoring SQL Applications. O'Reilly Media. p. 8. ISBN 978-0-596-55177-3.
  3. ^ Stephen Chin; Dean Iverson; Oswald Campesato; Paul Trani (2011). Pro Android Flash. Apress. p. 300. ISBN 978-1-4302-3232-2.
  4. ^ James A. Highsmith (2002). Agile Software Development Ecosystems. Addison-Wesley Professional. p. 133. ISBN 978-0-201-76043-9.
  5. ^ Martin Fowler | ThoughtWorks. Retrieved 2015-03-30.
  6. ^ Manifesto for Agile Software Development. Retrieved 2012-12-10.
  7. ^ Kamil Piętak; Marek Kisiel-Dorohinicki (2013). "Agent-Based Framework Facilitating Component-Based Implementation of Distributed Computational Intelligence Systems". In Ngoc-Thanh Nguyen; Joanna Kołodziej; Tadeusz Burczyński et al. Transactions on Computational Collective Intelligence X. Springer. p. 38. ISBN 978-3-642-38496-7.
  8. ^ Martin Fowler (2004) "Inversion of Control Containers and the Dependency Injection pattern". Retrieved 2012-11-15.

External links[]