Recent postings on the ProPEL blog highlight how the involvement of ‘amateurs’ in ‘citizen science’ and the ‘co-production’ by service users and professionals are important emerging issues in research on professional learning. Less noted is the recent growth of interest in ideas about ‘civic hacking’ involving volunteer computer programmers and software designers in the co-production of public services.
‘Hack’ events, such as National Hack the Government Day and the Festival of Code, plus a range of more localized hack events, put teams of computer programmers together, using code-sharing tools, to engineer solutions to government and public sector problems. These events typically involve programmers working with open data gathered from government services, and encourage the creation of software apps and data visualization techniques to turn it into useful new local and national services.
One of the most high-profile organizational supporters of hack events is Nesta, formerly known as the National Endowment for Science, Technology and the Arts, in the UK. The Nesta website describes projects such as ‘local government digital making’ and ‘coding for civic service’ that involve a mixture of coding skills, design skills, and user experience to explore ‘solutions to challenges.’ Centrally, these initiatives are intended to explore ‘what is (technically) possible and what is (politically) feasible’ to enable more ‘people-powered public services.’ These projects apply what Nesta terms a ‘code for x model’ whereby innovating with computer code can be applied as a solution for public policy problems.
Some important questions are raised by these government and civic hacking events in terms of professionalism. Perhaps most obvious is the question about encouraging volunteer programmers to provide solutions to government problems. In times of austerity and efficiency, it has become policy common sense to outsource political problem-solving to free providers. Government hacking may also circumvent the lengthy delays associated with the traditional process of government tendering and procurement, and find ways to avoid the massive techno-disasters that plague large-scale government software projects.
However, by outsourcing to computer programmers and hackers, we should also query the kinds of models of the world and the material practices of these professional domains.
Here we need to consider some recent research theorizing the professional practices and knowledges of programmers more generally. Programming takes places within a ‘disciplinary regime’ with its own professional codes of conduct and ‘ways of knowing and doing regarding coding practices,’ as Rob Kitchin and Martin Dodge (2011) have argued in Code/Space: Software and everyday life. Code, in other words, projects the ‘rules’ of computer science and its system of computational thinking into the world. Computational thinking is a distinctive way to tackle problems, to break them down into solvable models, and to devise code and algorithms to solve them. It provides a framework for professional practice in the computer science discipline and its related professions.
These are very specific kinds of professional thinking, underpinning particular social and material practices, which are all imbued with particular values and contextualized within a particular scientific approach that sees the world in computational terms rather than in relation to cultural, economic or political contexts. Thus Kitchin and Dodge argue that the material practice of programming is an expression of how the world can be captured, represented, processed and modelled computationally, with the outcome subsequently doing work in the world.
Civic hacking and other coding for civic service programmes therefore privilege a particular professional code and a style of computational thinking in the co-production of new public services, with potentially real-world effects. It embeds the modes of thinking, knowing and doing held by programmers in the very services that coordinate the interactions between citizens and government. We could call this a new style of ‘political computational thinking’ that prioritizes a technocratically solutionist approach to government problems.
While this mixing of the ‘technically possible’ and the ‘politically feasible’ in public service redesign may turn out useful new services, it is also worth questioning their reliability. The history of software development is littered with failures. Even many programmers themselves do not necessarily understand the intricacies of the software and algorithms they design. Software problems, miscodings and ‘hasty hacks’ could give rise to ‘buggy, brittle’ services, with potentially catastrophic consequences, as Anthony Townsend (2013) has argued in Smart Cities: Big data, civic hackers and the quest for a new utopia. More than that, a lot of programming takes place in conditions of precarious employment.
All this signals the need for research to understand the systems of computational thinking, and the associated material practices of programmers, that now underpin many initiatives promoting the co-production of digitized public services. What we may be witnessing here is a new way of conducting interactions between government and citizens that is based on the hasty hacks and technically solutionist styles of thinking of programmers working in highly precarious professional conditions.
Even more pressing, perhaps, is the need to understand how the modes of thinking, knowing and doing associated with policymakers might interact co-productively with the modes of thinking and knowing associated with programmers and software developers. What professional learning demands does this place on both policymakers and programmers as they seek to address serious political problems? To what extent are policymakers learning to code from programmers, or are programmers learning the political codes that govern our everyday lives?