1.3. Software Developers are Knowledge Workers
If we look at the definition of knowledge workers, it is clear that it includes developers:
"Knowledge workers have high degrees of expertise, education, or experience, and the primary purpose of their jobs involves the creation, distribution, or application of knowledge."
—Thomas Davenport (2005)
Indeed, writers and experts on the knowledge economy and knowledge workers frequently cite software developers, and IT people in general, as prime examples of knowledge workers. These are individuals who work primarily with their knowledge. Yet it is rare for those in IT, or writers about IT, to discuss software developers as knowledge workers. But then: Why would they? What difference does it make?
This book will argue that by viewing software developers as knowledge workers, and considering development activities as knowledge creation with active learning processes, we gain many useful insights into the process by which software is developed and deployed. By recognizing IT staff as knowledge workers, a rich field of literature and experience opens up from which we may learn from to help improve our own practice.
From the same book quoted above, we can distil a list of knowledge work characteristics:
Knowledge workers like autonomy: they don't like being told what to do.
Specifying detailed steps to follow is less valuable than in other types of work.
Knowledge workers find it difficult to describe what they do in detail: if you want to know, ...