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.
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. ...