In Martin Fowler's world, everything has an optimal solution.
Martin was born in Walsall, England, in 1963 and educated at Queen Mary Grammar School, also in Walsall. Here in the countryside, he spent an enjoyable teenage year.
After going to secondary education, Martin was introduced to strategy board games. In the "fighting" of board games, finding the most straightforward and intuitive solution from a complex situation has become the answer he wants to find, and it has become his goal to solve anything in the future.
In 1986, Martin graduated from University College London with a BA in Electrical Engineering and Computer Science. Since then, Martin has entered the software field.
After graduation, Martin worked for Coopers & Lybrand and Ptech Technologies. After that, he started working as an independent consultant, helping companies worldwide.
After observing the working patterns of several companies, Martin found that the software needs to constantly fix bugs and add new features, which will complicate the original code base and slow down the progress of work. For example, if we have a drawer, there are only three or four items in it, so we can easily find and take out an item. But as more and more items are placed in the drawer, it becomes challenging to find a specific item.
So, how to solve this problem simply and intuitively? Martin believes that the code can be refactored to reduce unnecessary complexity to deal with the gradual accumulation of changes. So Martin started working on his book " Refactoring", hoping to bring the practice of code refactoring to more companies and teams.
In 1991, " Refactoring: Improving the Design of Existing Code" was published. This book successfully promoted " refactoring " practice, helped programmers write easy-to-understand and maintainable code, and guided companies or developers on how to refactor "bad code". After that, Martin published " Refactoring: Ruby Edition" in 2013 with Kent Beck, Shane Harvie, and Jay Fields, and " Refactoring: Improving the Design of Existing Code" with Kent Beck in 2018. Martin points out that refactoring is not a particular task in project planning but should be a regular part of programming activities.
Martin believes that refactoring is very simple. It just breaks the complex things apart.
With the rapid development of application software, the upgrade cost of software development is increasing. Martin Fowler began to pursue the best practices of software development, and the "lightweight" methodology gradually came to the forefront. Martin then began to organize a meeting on the "lightweight" methodologies with Robert C. Martin and Alistair Cockburn to form the comprehensive movement's core.
Martin and Ward Cunningham made a total adjustment to the meeting and quickly formulated the meeting process and decision-making method during the meeting. And just like that, the Snowbird Conference began.
Recalling that meeting twenty years ago, Martin believes nothing special about the seventeen people who participated in the Snowbird Conference. They were not the only ones who shared these values and principles. They didn't have any particular place in the agility movement that followed, nor did they have any desire to do so.
Everyone has the right to speak in the agile software's future.
Birth of the "Bliki"
For Martin, taking notes is a perfect habit. On the one hand, it's a great way to generate some inspirational sparks after an in-depth exchange with industry partners. On the other hand, he will personally think about the practice, abstract it, and then share his ideas with everyone through publications, blogs, websites, etc.
Martin's writing career began in the 20th century. In the late 1990s, Martin Fowler wrote a column for Distributed Computing. At the same time, Martin came into contact with a publisher's editor and successively published a series of books in Addison-Wesley, including: " Analysis Patterns: Reusable Object Models" 1996, " UML Distilled: A Brief Guide to the Standard Object Modeling Language" 1997, " Refactoring: Improving the Design of Existing Code" 1999, etc.
In the early 21st century, Martin Fowler spent another five years as editor of the design column in IEEE Software magazine. These experiences as a columnist and editor allowed Martin to experience the entire process from article production proofreading to publication. Martin prefers to take ownership of the process himself rather than a process that requires complex proofreading.
At the same time, blogs became widespread, many people started to join the ranks of bloggers, and Martin was also eager to try them. But soon after he got in touch with blogs, he had a few comments about it. In his opinion, the short texts in blogs are like fireworks in the sky: fleeting and irresistible. He also felt similarly about Wiki, a site that could easily lead to complex, lengthy information.
So he decided to create a site between Wiki and Blog, where he could post short ideas like a blog and create a cross-linked body like Wiki.
The home page of martinfowler.com
Very soon, a bliki website called "martinfowler.com" was born. In the beginning, Martin updated his articles on the site from time to time, covering all aspects of software development. As the site became more and more popular, he thinks it's time to use the site as a platform to help more authors gain exposure. So Martin started adding articles from others to the site and carefully reviewed each article he received to ensure the quality of the site's content.
Nowadays, Martin Fowler lives in the suburbs of Boston with his wife. In their spare time, they go on vacation, take photos, hike, and share the scenery and culture along the way with their readers. These daily routines have inspired a lot of Martin's work and inspired his writing. Perhaps, the optimal solution to the problem is hidden in every little detail of life.