Reflections on Software Performance An Article by Nelson Elhage blog.nelhage.com Performance is a feature Performance changes how users use software Performance needs effort throughout a project’s lifecycle Architecture strongly impacts performance Performance isn’t just about hot spots Performant foundations simplify architecture …we underrate performance when designing and building software. We have become accustomed to casually giving up factors of two or ten or more with our choices of tools and libraries, without asking if the benefits are worth it. performancesoftware
Holistic and prescriptive technologies Holistic technologies are normally associated with the notion of craft. Artisans, be they potters, weavers, metal-smiths, or cooks, control the process of their own work from beginning to finish. Using holistic technologies does not mean that people do not work together, but the way in which they work together leaves the individual worker in control of a particular process of creating or doing something. The opposite is specialization by process; this I call prescriptive technology. Here, the making or doing of something is broken down into clearly identifiable steps. Each step is carried out by a separate worker, or group or workers, who need to be familiar only with the skills of performing that one step. This is what is normally meant by "division of labor". Ursula M. Franklin, The Real World of Technology That which requires caring craftprocessmaking