Abstract

Through a sustained ethnography of software developers in Rio de Janeiro, and drawing on Giddens’ theory of structuration, Coding Places provides an empirical study of the ‘worlds of practice – systems of activities comprised of people, ideas, and material objects, linked simultaneously by shared meanings and joint projects’ (p. 2) – of coders on the periphery of a global industry. Drawing on his empirical material, generated over a number of lengthy visits to Brazil, Takhteyev identifies five processes that are in operation within the places of software development outside of key sites that shape its worlds of practices: processes of disembedding and reembedding local ways of knowing and doing across space which make them mobile; the cumulative and parallel nature of the reproduction process within local and historical contexts; the ‘diasporic’ situation of peripheral practitioners who have to engage with two cultures, and often two languages (the local and centre’s), to participate in the industry; the complex interactions between the cultural and economic layers of practices; and the actors’ reflexive understanding of the world and their own agency in effecting change and engagement. He thus provides an account of globalization that highlights the ‘individual agency of peripheral actors, situating their actions in the context of cultural and economic structures, while also showing how their individual attempts to engage in global systems of activities add up, collectively and over time, to create the seeming universality of global practice’ (p. 6). In so doing, he uncovers the paradoxical relations between a supposedly global profession that is freed from the constraints of place through the immaterial and networked nature of its inputs and outputs, and one that is highly centralized in a few global centres of production grounded in local cultures, such as Silicon Valley. He thus highlights how software development is both clustered and decentred, ‘simultaneously remarkably placeless and starkly placed’ (p. 4); at once global and local, caught in worlds of practice that are stretched out across space and time, and are disembedded and reembedded in asymmetrical and uneven ways.
Whilst the case material is interesting and revealing, the book has a number of shortcomings that means it does not reach its full potential. The analysis is largely descriptive and is told through a series of vignettes that suffer from three problems. First, the material is often quite generalist and does not provide a sufficiently detailed micro-analysis of the nuts and bolts of how projects work and the complex milieu of personalities, politics, finance, laws, etc. Second, the material is under-contextualized and under-theorized in terms of how the narrative connects with and draws from the wider literature. For a book that is effectively making an argument about the role of places and processes of globalization in the geographies and social and economic relations of the software industry there is remarkably little discussion of processes such as agglomeration, diffusion, and mobility, nor creativity, innovation, workplace cultures, and the wider political economy of software production. Tellingly, there is only one reference to a geographer’s work in the bibliography and no discussion of other ethnographies of software production such as Rosenberg’s Dreaming in Code (2007) or Ullman’s Close to the Machine (1997). There is no attempt to unpack the various kinds of software work or the diversity of the software industry in terms of its organization and functioning. Third, there is a failure to fully leverage the empirical material into substantive theoretic insights that explicate in detail the five processes he identifies. Further, the focus is very much on Rio de Janeiro and there is no comparison, either empirically or with respect to the literature, with other places where software is developed. Such a comparison across locales would have worked to reveal more fully the ways in which software production is placed and placeless. The overall result is somewhat of a lost opportunity: a wealth of rich empirical material that is not fully leveraged into extending our theoretical understanding of software development and coding places. Nevertheless, the empirical material presented does provide some interesting insights into worlds of practices of software development and the book will be of utility to those interested in the geographies of software production.
