What does it mean for IT workers to be prototype knowledge workers?
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.
Davenport, Thinking for a Living, 1995
Writers and experts on the knowledge economy and knowledge workers frequently cite software developers as examples of knowledge workers. Yet it is rare for those in IT, or writers about IT, to discuss the software developers as knowledge workers. But then: why would they? What difference does it make?
When we view software developers as knowledge workers and consider development activities as knowledge creation, 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 that 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 you are better off watching.
- Not only do knowledge workers find it difficult to describe what they do but they are aware of the value of knowledge and don't share it without a motivation.
- Even though they may not be able to describe what they do these workers often have good reason for doing what they do and have often thought about the way they work in advance.
- Commitment matters and makes a huge difference in productivity.
Two things stand out from this list: it is a list of developer characteristics; any doubt that developers are knowledge workers should be dispelled. Secondly, an individual with these characteristics is unlikely to relish routine, factory-like, work. The traditional view of management is not applicable to these workers.
Recognizing IT workers are knowledge workers also recognizes that they are not unique. They share the same characteristics as other knowledge workers. Neither are the problems they encounter unique. The opportunities and problems faced by IT staff and their managers are quite legitimate and are shared by other modern knowledge workers. Consequently it is wrong to think of the 'IT-geek' as a class apart.
Development activities - specifying, designing, coding and testing new software - are knowledge activities. Such activities are completely different from traditional factory lines processes where a worker's individual knowledge makes little immediate difference to the end product. Having recognized this critical difference it becomes meaningless to characterize software development as a factory process.
Many previous attempts to change the way IT staff worked were misplaced because they failed to recognize the roles of knowledge and the characteristics of knowledge workers.
Recognising IT workers as knowledge workers allows us to learn from the existing body of knowledge on the subject. IT workers are not alone, they are knowledge workers and there is much to learn from other knowledge workers and from research and literature about knowledge work in general. There is no need for IT managers (and writers) to reinvent the wheel.
Yet, in another way the existing literature, research and experience cannot help IT workers and their managers. This is because software developers, in particular, are at the cutting edge of knowledge work. They are in many ways the prototype of the future knowledge worker; they are pushing the boundaries of twenty first century knowledge work.
This occurs because, to paraphrase Karl Marx, software developers control the means of production. Modern knowledge work is enabled by and dependent on information technology: e-mail for communication, web-sites for distribution, databases for storage, word processors for writing reports, spreadsheets for analysis - the list is endless! These technologies are created by software developers and used by legions of knowledge workers worldwide. The key difference between software knowledge workers and the others is that other knowledge workers can only use the tools that exist. If a tool does not exist they cannot use it. Conversely, software developers have the means to create any tool they can imagine.
Consequently it was a programmer, Ward Cunningham who invented the Wiki. Programmers Dan Bricklin and Bob Frankston invented the electronic spreadsheet. Even earlier another programmer, Ray Tomlinson, invented inter-machine e-mail. This does not mean that non-programmers cannot invent electronic tools. Others can invent tools but for programmers the barriers between imagining a tool and creating the tool are far lower.
Consequently programmers create many more tools than other types of worker. Some tools fail, others are very specific to a specific problem, organisation or task in hand but when tools do work it is programmers who get to use them first. In addition because programmers have had internet access for far longer than any other group the propensity to use it to find tools and share new tools is far greater. Tools like Cunningham's Wiki were in common use by software developers years before they were used by other knowledge workers.
Early internet access has had other effects too: IT workers were early adopters of remote working, either as individual home workers or as remote development teams; IT people are far more likely to turn to the web for assistance with problems and more likely to find it because IT information has been stored on the web since the very beginning.
The net effect of these factors and others means that software developers are often the first to adopt new tools and techniques in their knowledge work. They are also the first to find problems with such tools and techniques. Consequently, these workers are at the cutting edge of twenty-first century knowledge work; they are the prototype for other knowledge workers. Other knowledge workers, and their managers, can learn from the way IT people work today provided we recognize these workers as knowledge workers.
This piece is an excerpt from Allan's new book Changing Software Development (John Wiley and Sons, 2008) available from all good bookshops - and a few less good ones too.