Over 64 million Americans used computers at work in 1997, and
we estimate this number will grow to 90 million in 2012,
including over 55 million spreadsheet and database users and 13
million self-reported programmers. Existing characterizations of
this end user population based on software usage provide minimal
guidance on how to help end user programmers practice better
software engineering. We describe an enhanced method of
characterizing the end user population, based on categorizing end
users according to the ways they represent abstractions. Since the
use of abstraction can facilitate or impede achieving key software
engineering goals (such as improving reusability and
maintainability), this categorization promises an improved ability
to highlight niches of end users with special software engineering
capabilities or struggles. We have incorporated this approach into
an in-progress survey of end user programming practices.
Preferred citation: C. Scaffidi, M. Shaw, and B. Myers. An Approach for Categorizing End User Programmers to Guide Software Engineering Research. 1st Workshop on End User Software Engineering (WEUSE), at the International Conference on Software Engineering (ICSE), 2005, unpaginated.