O'Reilly logo

97 Things Every Software Architect Should Know by Richard Monson-Haefel

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 89. Build Systems to Be Zuhanden

After many years as an amateur, Keith Braithwaite was first paid to write software in 1996. After that first job, maintaining a compiler built with lex and yacc, he progressed first to modelling microwave propagation for GSM network planning, then seasonal variations in demand for air freight, in C++. A move to consultancy (and Java) introduced him to CORBA and then EJB, and then what was called at the time “e-commerce.” He is currently a principal consultant with Zuhlke and manages its Centre of Agile Practice.

Keith Braithwaite
image with no caption

WE BUILD TOOLS. The systems that we make have no other reason to exist (nor we to get paid) than to help someone, usually someone else, do something.

Martin Heidegger, an influential German philosopher of the 20th century, explored the ways that people experience tools (and more generally “equipment”) in their lives. People use tools to work toward a goal, and the tool is merely a means to an end.

During successful use, a tool is zuhanden (“ready-to-hand,” having the property of “handiness”). The tool is experienced directly; it is used without consideration, without theorisation. We grasp the tool and use it to move toward our goal. In use, it vanishes! The tool becomes an extension of the user’s body and is not experienced in its own right. One sign of a tool being zuhanden is that it becomes invisible, unfelt, insignificant. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required