In the previous chapter we looked at the experiences of a few individuals entering the world of software development around Rio de Janeiro, Brazil, noting two aspects of this process: the global nature of the world entered by Jason and other developers, and their peripheral experience of this world. We followed the future software developers without a clear map of the world they were getting into, encountering local and global elements of this world one by one, much as they did themselves. To understand the developers’ professional experiences presented in part 3 of this dissertation, however, we will need a better historical map of the software world, showing both its contemporary structure and its history, especially in Brazil.

      This chapter starts with a quick look at the geography of the software world, considering both the spread of the software development profession and the degree of centralization. I then proceed to a discussion of how the global world of computing established itself in Brazil and in Rio, a particular city at the periphery of that world.

A Global Profession

      Software developers are people who write software — compilations of instructions that tell computers how to process information. Such instructions are nearly always written as text, though such text must be organized according to very specific formats called “programming languages,” designed so that the instructions could be understood simultaneously by the human and the machine. (See chapter 1.2 for examples.)

      Software represented as human-readable text is called “code” (or “source code”) by the people who write it. Such people call themselves “coders,” “programmers,” “software developers” (or simply “developers”), “software engineers” or “hackers.” Those are of course English words, but software developers in many countries understand them and typically use cognates or calques when speaking their own language.209 For example, the English “(source) code” corresponds to Portuguese “código (fonte),” German “(Quell)code”, French “code (source),” Russian “(iskhodny) kod” (“исходный код”), Japanese “(sōsu)kōdo” (“ソースコード”), Finnish “(lähde)koodi.” Words for “coder,” “programmer” and “software developer” similarly have recognizable foreign equivalents, though their connotations can vary. I use the terms “developers” or “software developers” as relatively neutral in both English and Portuguese.210

      Developers often stress that being a software developer is not just about writing code. As most other professionals, software developers spend substantial time meetings with clients and co-workers, coordinating their work. Even when actually working with code, software developers must engage in numerous activities that go beyond simply writing it. A large part of their work goes into testing and debugging — identifying, diagnosing and fixing errors in the programs. Another part goes into “research” — understanding available solutions, which can come either in the form of ready software or in the form of documentation. (The dual nature of software as both a text and a machine makes this line fuzzy at times. Software documentation often include snippets of code, while code often includes snippets of documentation.)

      The existence of this diversity of tasks leads to a substantial variation in how much of their time individual people dedicate to writing software, and, consequently, makes it hard to draw the boundaries of the occupation. Some may focus their efforts to organizing work, spending less time working with the code. While such people occasionally abandon code work altogether to dedicate themselves completely to management, many combine a substantial focus on managerial tasks with work that involves reading code if not writing it. Others may focus on novel things that could be done with computers, inhabiting the boundary zone between software development and computer science research. A similarly fuzzy boundary exists between software developers and those occupations that are sometimes seen as requiring less skill. For example, software developers must often spend much time managing machines, while people for whom keeping computers and networks running is the primary task (“system administrators”) often write software to handle the tasks they face.

      The difficulty of separating software developers from other “computer professionals” makes it hard to estimate precisely how many people do this kind of work. As a rough approximation, however, the number of software developers likely approaches about ten million people world-wide, comprising up to 2% of the employed population in the most developed countries.211 Those people are distributed quite widely around the globe, though their density varies dramatically. Both of those aspects can be illustrated by figures 2.2.1 through 2.2.3, which show a mapping of IP addresses that have downloaded Lua libraries from LuaForge.org. (Nearly all the files downloaded from LuaForge.org are either libraries or tools for software developers.) We can therefore assume that the overwhelming majority of the IP addresses represent software developers.

      The maps show substantial dispersion of software developers working with (or trying out) Lua. With the notable exception of Africa, most populated regions and most of the world’s countries are represented, from Nepal and Bangladesh to Paraguay and Nicaragua. This spread is particularly notable, considering that the map does not represent the totality of software developers, but rather those interested in a rather specific programming language. Maps drawn for libraries in other programming languages look quite similar. Figure 2.2.4, for example, maps visitors to a website dedicated to a Python library written by myself, showing a comparable pattern of dispersion, though of lesser degree (explainable by the smaller total number of observations). In other words, not only is the practice of software development dispersed as a whole, but so are the use of very specific libraries and tools.

      Qualitative data, for example my own interviews with software developers in Brazil and India, confirm this impression of substantial homogeneity of practice. (This homogeneity is rarely noted, though, often being taken for granted.) As we saw in the preceding chapters, and will see illustrated again in the chapters in part 3, software developers in Brazil develop software using essentially the same tools and techniques. They also share jokes, adages and cultural references. (My interviews with software developers in India support the same observations.) They also share their identity as software developers, “nerds,” people interested in information technology, often treating this identification with a global community of software developers as a natural part of who they are and as an explanation for their actions, as we saw in the previous chapter.

See PDF for the figures.

      “A server is a server,” stress many of my Brazilian interviewees. Whether we think of software in purely technical or in cultural terms, one cannot talk about “Brazilian software” in the same way as about “Brazilian music,” that is, as a distinct kind of software or a different kind of software practice that could be meaningfully differentiated from “American software” or “Indian software.” The title of this chapter is thus an intentional misnomer. The term “Software Brasileiro” is rarely used outside presentations by the government agencies and industry associations. Most of Brazilian practitioners I interviewed had little interest in Brazilian software development, but were instead keen on expanding and improving in Brazil the practice of software development as understood globally.

Center and Periphery

      While recognizing the global nature of the software practice, we must also note the extent to which the practice of software development is established in different places. The map discussed above illustrates this variation.212 Some areas (the two coasts of North America and most of Europe) are covered completely. In other regions, the visitors appear either in smaller clusters or individually. Note that while the map represents traffic to a site hosted in Brazil, the visitors (represented by the points on the map) come predominantly from Europe and North America. Maps of people interested in other software technologies demonstrate similar patterns. Figure 2.2.5, for example, shows the pattern even more clearly (and perhaps more reliably) by plotting the locations of registered Java User Groups.

      Official statistics confirm the impression that software developers are concentrated in specific places. Appendix F shows the numbers of computer professionals for the United States and Brazil, with a break up by metropolitan areas. Overall, the United States has around 3 million computer professionals (about 1% of the population and 2% of the employed). Brazil has about 150 thousand (0.1% of the population and about 0.25% of the employed) — about one tenth as much per capita. In Rio de Janeiro computer professionals account for about 20,000 residents of the city, or about 0.2% of its population of around 11 million people (0.5% of the employed population). In comparison, the San Francisco Bay Area in the United States employs around 200,000 computer professionals, who comprise around 5% of the population (7% of the employed) — clearly a much larger number.213

      This already substantial difference is amplified tremendously if instead of simply counting people, we look at the nature of their work. There is a general impression among software developers in Brazil that the most important software employers are based in specific places, such as the Silicon Valley.214 A look at the association between market capitalization and location confirms this. In the spring of 2008215 the value of publicly traded “software development” and “computer services” companies headquartered in the San Francisco Bay Area added up to nearly half a trillion dollars, over 37% of the total valuation of public companies in those categories traded on the US markets, corresponding to about $2.2 million per computer professional employed in the area. (See appendix H for details, including the question of whether this number represents fraction of world’s or just the US industry capital markets.) With another 23% of the valuation attributable to the second metropolitan area (Seattle, $4.3 million per computer professional), the software and computer services companies in the rest of the world add up to less than 40% of the total. Companies headquartered in the San Francisco Bay Area and Seattle of course employ a substantial number of developers outside those regions. The work of such developer, however, is often focused on peripheral tasks, including what some of my interviewees call “tropicalization” — the adaptation of global software for the idiosyncrasies of the local context. To the extent that they focus on work central to the companies’ products (as is sometimes the case for software developers working for major US companies in places like Bangalore), their work is directed from abroad.216

      The software industry in a place like Rio de Janeiro is tiny in comparison with the larger centers of the software world. The only publicly traded company based in Rio and engaged in this sector217 had a market capitalization of about half a billion in 2007 — about one thousandth as much as San Francisco Bay Area’s share and roughly the price of five “average” venture-backed companies in the US.218 While market capitalization may be a biased metric (most of Brazil’s largest software companies, such as CPM Braxis, Stefanini, DBA and Tivit were private in 2008, though with plans for IPOs219), we should note that there is no shortage of private companies in San Francisco Bay Area. (Palo Alto–based private Facebook, Inc. was typically valued in the range of US$10 billion.)

      Perhaps even more importantly, software platforms used by software developers world wide also come from a small number of places. Software developers in Rio de Janeiro, for example, work primarily with two operating systems: Microsoft Windows and Linux. While the former is unambiguously associated with a specific place (so much so that the developers occasionally refer to Microsoft by the name of the city where it is headquartered — “Redmond”), Linux is often described as a globally distributed project, including, in fact a number of contributors from Brazil. A mapping of the addresses included with the names of people credited in a recent Linux release, however, again points to stark centralization, with the largest dot on the map again appearing on the west coast of the United States.220 Other kinds of software platforms, e.g. databases and programming languages, whether proprietary or open source, are similarly associated primarily with a small set of places.

      To explain this centralization, one could point to the concentration of venture capital and investors’ reluctance to put their money in remote companies, especially those located far from the established centers (e.g., Zook 2002, Powell et al. 2002). We could wonder if places like Rio de Janeiro just lack sufficiently smart people, perhaps looking for the flaws in their education systems or at their losses of smart people to “brain drain.”221 We could investigate whether the governments of those places inhibit formation of new ventures through unnecessary regulation. Several of those factors are explored in part 3.

      It would be wrong, however, to point to any one factor as responsible for the concentration of the software practice. Reproduction of practice involves re-creation of a system of relationships between many elements of the practice, most of which are mobile only to a limited extent. People who are unable or unwilling to move to the places where the practice is well established, must recreate it locally piece-by-piece, importing some of the elements and seeking local substitutes for the other. The many challenges involved in this process of reassembly are explored throughout the dissertation. The difficulty of recreating a complex practice ensures that new central sites are established only infrequently. In most cases, it is the decline of formerly central sites and the rise of new ones that poses a puzzle rather than their stability.222

      In the history of computing, we see only several major changes in what constitutes central sites. The first such change, the movement of the center of computing from Britain and Germany to the east coast of the United States, is best explained by World War II. (Note that this change was not complete, as Britain and Germany are both still home to major secondary centers of the computing world.) The second shift, from the east coast of the United States to the west coast, requires a more complicated explanation.223 (This shift was again incomplete, with the east coast of the United States still including a large number of major sites and by some metrics still dominating the software world.224)

      Even establishing a peripheral site typically requires extended work by many actors, who must unite their resources. This process is often complicated by the fact that the local actors must often make a difficult choice between trusting other local practitioners to deliver some of the elements of the practice and attempting to import those elements directly from the centers. The rest of this chapter explores the history of such efforts in Brazil and in particular place — Rio de Janeiro.

Brazilian Informatics

      The establishment of the practice of software development in Brazil cannot be understood in isolation from the larger system of practices related to computing, including production of hardware and the many uses of computers. It is also important to consider the processes of synchronization that preceded the arrival of the first computers to Brazil, which created in Brazil the context that information technology takes for granted, from the existence of basic research institutions to the availability of electricity. To describe all the different processes of “enrollment” that went into turning Brazil into a “software laboratory,” the story would have to start at least as far back at the beginning of colonization of Brazil in mid-16th century, if not to the earlier story of the beginning of Portuguese expansion.225To simplify my narrative, I start it around 1930, a crucial year in the twentieth century history of Brazil.

      The story proceeds in several somewhat distinct threads, all with their origin in Rio de Janeiro, Brazil’s capital at the time. One story concerns the establishment of ITA (Technological Institute of Aeronautics), an educational institution conceived to be “the Brazilian MIT.” Opened in 1950, ITA later becomes the place where the first Brazilian computer “Zezinho” is built (in 1961). The creation of ITA was therefore key to the development of Brazilian community of makers of computers. ITA graduates later staffed the government organs responsible for the Informatics Policy of 1970s and 1980s aimed at the creation of a Brazilian software industry. While such policies have failed to attain the result they seek, they affected the future of Brazilian hardware and software practice in important ways.

      Another thread, which traces the practice of computer use in Brazil, starts with a look at the Brazilian Institute of Geography and Statistics (IBGE), the institution responsible for conducting the Brazilian census and collecting other government statistics. From 1920s through 1950s IBGE relied on mechanical tabulators supplied by IBM, tracking closely the American census practices. IBGE thus became a competent user of “computing” decades prior to the invention of the electronic computers in the mid 1940s. In 1960 IBGE purchased a computer for the upcoming census. This computer was not the first one imported into Brazil,226 but the step brought electronic computing to Brazil’s federal institutions. While the attempt to process the census of 1960s on a computer was a complete fiasco, the Brazilian government appears to have learned the lessons and quickly emerged as a competent user of information technology. (The different levels of the Brazilian government are to this day among the most important clients of the Brazilian software industry and their practices affect today’s industry in profound ways.) Several other units of the Brazilian government, including the Navy and Petrobras (the Brazilian oil company, state-owned at the time), started using computers soon after IBGE and played an important role in the development of the practice of use. (Petrobras in particular becomes important for the story of Lua, the subject of chapter 3.2.) I focus on IBGE to simplify the narrative, choosing it as the first user of computers in the federal government, as well as because its history is more readily accessible than those of Petrobras or the Navy.

      IBGE’s Univac was one of the three computers approved for purchase in 1960. Another one went to PUC-Rio, to set up Data Processing Center (CPD) there, with the goal of training human resources. In 1965, by which time IBGE’s first attempt at a computerized census had been widely recognized as a fiasco, and the lack of trained personnel was among the obvious reasons for the failure (see the discussion below), the government purchased additional computers, giving them to a number of Brazilian universities. While IBGE had attempted to train people for its needs, it needed a more robust and globally connected community of practitioners. Giving computers to Brazilian universities helped solve this problem, as it introduced a new type of actor: academic researchers in computer science, focused more on software than computer hardware, experts in computer use with strong global ties. While several computer science departments arose from this purchase, I focus on the Department of Informatics at PUC-Rio — often recognized as the site of the most important computer science work in Brazil and directly relevant to the narrative presented in part 3 of this dissertation. In many ways, the arrival of the US-made computers to PUC-Rio, which I discuss below, provides a more direct starting point for the story of today’s community of software developers than either the arrival of the Univac to IBGE in 1960 or the creation of Zezinho at ITA in 1961.

      In 1972 the Brazilian government established an organ called “CAPRE” to tasked with coordinating purchases of foreign computers. Although this was originally conceived as a measure to facilitate computerization while controlling spending (thus helping computer users), CAPRE was staffed by graduates of ITA in possession of foreign post-graduate degrees and quickly became the center of a technology policy aimed at stimulating computer production in Brazil through a policy of “Market Reserve.” The policy continued for twenty years (with some changes), ending in 1992 largely in response to pressure from the US (orchestrated by American makers of computers and software), but also due to the growing frustration by Brazilian users, who felt that their own attempts to follow foreign practices were endangered by the lack of access to proper computers.

      The abandonment of the Market Reserve policy decimated Brazilian hardware industry. At the same time, it introduced cheap computers, stimulating use of computing in Brazil and creating demand for software. Many former electronics engineers converted their skills and became software developers. They were soon joined by many younger people, brought to software through availability of affordable computers.

      The story presented below is based primarily on existing literature, augmented with a small number of interviews with people who have worked with computers in Brazil in the 1960s and the 1970s. It relies on the best available sources, including several works by journalists (such as V. Dantas 1988, M. Dantas 1989, and Morais 2006), memoirs (Staa 2003), and work of institutional historians (Freire 1993, Senra 2007). I do not aim, in this chapter, to establish a primary record of the history of informatics in Brazil, but rather to present elements of the known history to illustrate the interplay between the different actors’ efforts to establish in Brazil different global practices and the gradual transformation of the local context resulting from this process.

The Brazilian MIT

      In 1930 Getúlio Vargas, a governor of Brazil’s southern state of Rio Grande do Sul, led a march on Rio de Janeiro, ending Brazil’s “Old Republic” and starting a new era in Brazilian history. Vargas brought together a coalition of forces, known as the Liberal Alliance (Aliança Liberal), which included as one of its key constituencies “the Lieutenants” (os tenentes, tenentismo), a movement of lower-ranked army officers seeking a wide range of progressive reforms. Among the Lieutenants was Casimiro Montenegro, an army pilot and an aviation enthusiast. Once the Revolution was won, Montenegro turned his efforts to the creating an air mail network and otherwise popularizing aviation.

      A decade later, as World War II was escalating in Europe, the United States was seeking new allies. In March 1941, National Research Council sent a group of executives, industrialists and researchers to Brazil, to investigate “the opportunities for cooperative industrial developments between the United States and other American republics through the application of North American technical capacities and production methods to Latin American primary materials” (NRC, 1941, p.4, quoted in Botelho 1999, p. 140, my translation). According to Botelho (1999), the final report of the mission privileged Brazil as the primary future industrial partner of the United States. The report suggested the need to improve the quality of Brazilian education and research institutions and to bring them closer to the American model.

      After some wavering between Allies and the Axis,227 Vargas entered a military alliance with the United States, using it to strengthen both Brazil’s industrial position and its military power by drawing on American technology. In 1943, Montenegro went to United States to negotiate a purchase of airplanes for Brazil. While there, he visited Boston and was taken on a tour of MIT by a Brazilian aviator who used to work under his command and who was at that point studying aeronautic engineering at MIT. The visit inspired Montenegro to start planning a “Brazilian MIT” — a higher education institution focused on aeronautics, modeled closely on its American counterpart, and built with the support of the latter (Botelho 1999, Morais 2006).228

      Two years later, Richard Smith, a professor of aeronautic engineering at MIT, visited Rio de Janeiro, presenting what became known as the “Smith Plan.” The plan involved creation of a larger research center (CTA, Centro Técnico de Aeronáutica), as well as a semi-civilian educational institution associated with it, which became known as ITA (Technological Institute of Aeronautics). Smith insisted that ITA followed closely the American model, from guarantees of academic freedom to the faculty and the students, to the use of a campus as a model of spatial organization of the institute. Montenegro, who was appointed as the head of ITA, embraced Smith’s position enthusiastically (Morais 2006). The first group of ITA students started classes in the early 1950, first in Rio de Janeiro, but soon moving to the new “campus” (a foreign word in Brazil) at São José dos Campos, located three hundred kilometers away from Rio and hundred kilometers away from São Paulo,229 designed by Oscar Niemeyer, Brazil’s modernist architect who ten years later designed Brazil’s new capital Brasilia. Locating the campus away from Rio, Montenegro intended to isolate ITA from Brazilian politics, which he feared would interfere with the reproduction of the American system of education. (President Juscelino Kubitschek later followed the same strategy with Brasilia, though placing the new capital even further from Rio.) Most of the faculty — “the Wallauscheks, the Theodorensens and the Schrenks” as Morais (2006) calls them — were contracted from MIT.

      In 1961, a group of ITA students, led by professor Richard Wallauschek (brought from MIT), assembled “Zezinho” — the first computer ever built in Brazil. Prior to building Zezinho, the students spent three months touring Europe together with Wallauschek, visiting, among other destinations, Bull, the French computer maker, then at its peak. While earning a place in the annals of Brazilian history and indicative of ITA’s position in Brazil’s education system, Zezinho was disassembled soon after being constructed, its parts reused for other electronics projects. The team that created Zezinho was disassembled in much the same way. One of its creators left Brazil the same year for Master’s and then a Ph.D. at MIT (V. Dantas 1988), returning to Brazil only in 1972. Many of his classmates similarly headed north for graduate studies, finding few opportunities to apply their skills in Brazil.

      For Brazilian engineers to be able to practice the making of computers in Brazil, another set of practices had to be established first: those involving using computers. I explore one of the origins of such practices in the following section.

Governing with an “Electronic Brain”

      Starting with 1920, Brazilian census used Hollerith mechanical tabulating machines supplied by IBM. In preparation for the 1960s census, the American suppliers suggested that IBGE consider using an electronic computer for processing census data — as the US Census Bureau has done since 1951. IBGE originally planned to postpone the transition until the 1970 census, but the election of Juscelino Kubitschek in 1956 changed this plan. Running on a modernizing platform, Kubitschek promised to achieve “50 years in 5” in terms of economic and social development. Performing a computerized census became a matter of national pride (Senra 2007).

      The new head of IBGE approved a purchase of “an electronic brain” (“cérebro eletrônico”) — a Univac 1105, delivered in the early 1960 by Remington Rand.230 The machine was installed in a computing center at Praia Vermelha, in Rio de Janeiro. In buying the Univac 1105, a machine installed at the US Census Bureau in Washington D.C. in the early 1959, IBGE statisticians were following the practice of their American counterparts. In fact, according to one of the people I interviewed in Brazil who worked at IBGE at the time, the actual Univac 1105 purchased by IBGE was earlier used by the US Census Bureau, which was returning it to Rand.231

      The electronic census became the biggest failure in the history of Brazilian statistics. In 1964 the computer had to be turned off altogether for several months (Freire 1993, p. 27). The results of the 1960 census were not fully tabulated until fifteen years later, in 1975 (Freire 1993). (The data from 1960 census was processed at the new center set up for the 1970 census, after the 1970 census was tabulated.) While IBGE have never reached agreement on the causes for the disaster, Freire (1993) and the people I interviewed who worked with IT at IBGE in 1960s or 1970s, typically point to four reason, which I group into two classes: the problems inherent in the Univac itself (described as a “fragile” machine) and the local problems specific to the Brazilian context (the lack of parts, the lack of trained personnel and various organizational problems).

      Unlike the later computers that relied solely on transistors, Univac 1105 belonged to the generation of computers that relied on thousands of vacuum tubes for data processing.232 As other computers in that generation, Univac was massive: 35 to 65 tons depending on the configuration (BRL 1961). It required quite a bit of energy and powerful air-conditioning.233 Installing such computers and getting them to work was quite complicated even in the United States. The Univac had a long way to go in terms of disembedding.234

      This “fragile” computer was brought by IBGE to a context that was particularly unfriendly towards it. One problem concerned the timely supply of parts. According to one of my interviewees, IBGE made a disastrous attempt to use punch cards made in Brazil. The low quality paper used for the punch cards, however, left paper fibers in the punch card reader, which then had to be deactivated and cleaned. Parts ordered from the United States were often slow to arrive.235

      Even more serious was the problem with staffing. Lacking trained computer operators, IBGE selected a group of Brazilians and sent them to United States for training. Unfortunately, subsequent gaps in funding (common in Brazil then as they are today), led many of the trained operators to look for other jobs, leaving those who remain to pick up the pieces. As the government seems to recognize soon, taking new people unfamiliar with computers and training them abroad each time would not work as a long term solution: IBGE needed a broader local market of people trained to operate and program computers. This solution lay in increased cooperation with Brazilian universities, an in particular with PUC-Rio. In 1965, PUC-Rio received another computer, in addition to the one it was given in 1960.236

      Finally, Univac did not fit well into the turbulent organizational climate of IBGE at the time. While some of the problems were rectified (the 1970s census was conducted under they eyes of the military dictatorship), what emerged in the long term is a solution that put some distance between Brazilian government and its computers: unable to replicate the necessary organizational climate internally, the Brazilian government routinely outsources many of its IT needs, to companies that are often a lot more similar to their American counterparts than Brazilian government agencies are to theirs.237 Alta, the company described in chapter 3.1, counts a federal agency among its major clients.

      The most important result of the 1960 census for Brazilian informatics was the introduction of Brazil’s federal agency to the use of computers. After the original disaster, the government appears to have learned important lessons, eventually becoming a competent user of information technology.238

      The census also created programmers, who at the time were coming from among people engaged in other occupations. Such people learned programming on the job, sometimes with the assistance of American employees of IBM and other computer vendors who were sent to Brazil to assist with programming. Such early programmers, however, bear little connection to Brazilian software developers of today. Those of them who I interviewed are now scattered at the periphery of Brazil’s software development or have administrative positions. Another community, which formed around the computers given to PUC-Rio in 1960s, had a much more direct role in creation the modern cadre of software developers.

Informática at PUC-Rio

      The same year that Univac 1105 was purchased for IBGE, PUC-Rio received a computer B205, made by Burroughs. B205 was tiny in comparison with the Univac (weighing just about one ton), cost half as much (around US$ 1,500,000 vs. US$ 2,976,250 for the UNIVAC), consumed half as much energy while running (only 70kVA), and had half the memory (around 16K vs roughly 30K).239 The machine was administered by the newly setup Data Processing Center (CPD), staffed almost exclusively by PUC students (Staa 2003).

      Arndt von Staa, now a professor at PUC-Rio, joined PUC in 1961 as an undergraduate in mechanical engineering (Lattes 2009a) and soon started working at the CPD. In 1963, he met there Carlos Lucena, the person most often mentioned by many of my interviewees as the pioneer of Brazilian computer science. Lucena had started an undergraduate degree in Mathematical Economics the year before (Lattes 2009b). Many of the senior faculty members of PUC Department of Informatics started their undergraduate degrees at PUC around the same year in fields such as mathematics, economics or engineering.

      In 1965 PUC received another computer. Introduced just that year, IBM 1130 was the least expensive computer to date and is credited by its many fans as the machine that “gave many people their first feel of ‘personal computing’” (IBM1130.org n.d.). The machine was “desk-sized” and sold for just $32,280 in the United States (IBM 1965/2008). Computers were quickly becoming mobile. The arrival of IBM 1130 allowed PUC to offer the first computing course, based in the recently created Department of Mathematics (Staa 2003), coordinated by Antonio Olinto, a physicist.

      In 1967 yet another computer was bought (IBM 7044) and several of the students, including Carlos Lucena, spent three month at the University of Waterloo in Canada (Staa 2003), following a visit to South America by Wes Graham, the head of Waterloo’s computing center, paid for by IBM (Alkema & McLaughlin 2007). The visit laid the foundation for a link between the yet-to-be established Department of Informatics and Waterloo’s Computer Systems Group which has lasted to this day.

      The same year PUC opened its own Master’s program, in which many of the classes were taught by the students themselves. Staa (2003) describes the strange “bootstrap” phenomena involved in starting a program without certified personnel:

The most curious things happened, such as for, example, a student defending his master’s thesis having as his advisor a “professor” who had not yet defended his. “Bootstrap” phenomena. Without such phenomena, nothing could have been accomplished. (p. 25, my translation.)

Staa uses the term “bootstrap” to describe the establishment of the Master’s program. While this term is nowadays increasingly used colloquially, to refer to achieving something without outside help, Staa invokes the technical sense of this term, which originated in computer science in 1950s, referring to the different solutions to the “chicken and egg” problems involved in starting (or “booting”) a computer.

      One of the decisions made at PUC in 1967 was the name of the program, which soon became the name of the field in Portuguese. Staa (2003) describes the decision as follows:

The name of the program came after a long discussion, to decide whether we should brazilianize the term Computer Science” of the Americans or the word Informatique of the French. Informatique won, as we considered it a more inclusive term. The first neologism of the field was thus born. It was a master’s program in which everyone one gave classes to another, and everyone was trying to learn together everything that was new. (p. 25, my translation)

The term “informática” has since established itself as a standard term in Portuguese, extending the language to make it appropriate for the discussion of the new practice. Most of my interviewees today use this term as a natural part of their language, applying it also to themselves, as in Jason’s description of himself as “informática person” (pessoa da informática). At the time, however, the choice of term was a decision to be made, one of the many decisions that helped shape the local context.

National Informatics Policy

      By 1970s the growing demand for computers made the Brazilian government worried about the growing cost of imported computers, many of which were underutilized, having been acquired for status they brought to the agencies (V. Dantas 1988). An agency called CAPRE was set up in 1972 to rationalize the purchase of computing equipment. CAPRE was staffed by representatives of a group that did not exist until a few years prior, called by some authors the “frustrated nationalist técnicos” (Evans 1995) or “anti-dependency guerrillas” (Adler 1986, 1987). Those were Brazilian engineers, many of whom graduated from ITA (joined by a lesser number from PUC-Rio) and then received graduate degrees abroad. While some of them stayed in academia (as, for example, did Carlos Lucena and Arndt von Staa), those who looked for jobs outside the universities saw few options that they deemed worthy of their skills. In the intellectual climate strongly influenced by Marxist thought and Dependency Theory (consider Frank 1966, Dos Santos 1970), some of them perceived this dearth of interesting technical jobs as indicative of Brazil’s broader dependence on the United States and internal social problems.240

      Having entered the high ranks of CAPRE on the basis of their technical expertise, the frustrated técnicos realized that CAPRE’s mandate could be used as a tool of industrial policy aimed at the creation of a genuinely Brazilian technology, by introducing restrictions on computer imports and thus “reserving” some of the Brazilian computer market for the local manufacturers. (This protectionist policy is thus commonly known as “the Market Reserve.”) The creation of CAPRE coincided with the growing concern by the Brazilian Navy about its increasing reliance on foreign computer in its naval vessels — a fact that did not fit well with Brazil’s increasingly independent foreign policy. The Navy thus threw its weight behind CAPRE’s project.

      According to the new CAPRE policy, foreign companies would only be allowed to produce and sell minicomputers in Brazil if they made generous “technology transfer” agreements with Brazilian partners. The largest companies, such as IBM, chose to withdraw (though still providing mainframes), but some of the smaller international companies accepted the deal as a way to enter what would otherwise be IBM’s domain. Several national companies arose in the process, creating a strong lobby for continuation of the policy (Evans 1995). The existence of such companies made possible (or, perhaps, created a reason for) further computerization projects, strengthening Brazilian government’s position as one of the most competent users of information technology among world governments.241

      In the late 1970s, forces close to Brazil’s new military government entered the game, allegedly concerned with security of communications used by the Brazilian foreign service and finding CAPRE’s work towards creating a national software industry too slow (V. Dantas 1988). CAPRE was replaced by a new agency, now run by the military, sending CAPRE’s now somewhat less frustrated técnicos to work for the national computer industry that they had helped create. This industry had a number of substantial successes. One of such companies successfully cloned American computers. (Jason’s first computer, which he describes in chapter 2.1, was produced by Microdigital Eletrônica, based in São Paulo.) They also successfully developed software, including a complete implementation of Unix, completed by Cobra in 1988 (M. Dantas 1989, Evans 1995).

The Liberalization

      The new agency proposed a more aggressive policy, expressed in the Informatics Law passed in 1984. However, 1984 was also the year when Brazil started a transition towards democracy. The coalition of forces that had led to the Market Reserve policy, already damaged by the military takeover (Marques 2000, 2003), started to fall apart. As the industrial policy become accountable to Congress, industries that depended on computers and whose frustration with the inability to buy cheaper foreign technology had grown, found more opportunities to express their opposition. In 1985 the US threatened Brazil with trade sanctions, responding to the increasing losses that the restrictions brought to American companies (Luzio 1996, p. 60). This threat further increased the number of Brazilian industries that stood to loose from the continued policy.242 As part of its negotiation with the United States, Brazil made a commitment to phase out the Market Reserve by 1992 (Bastos 1994).

      The end of the Market Reserve is sometimes seen as a tragic collapse of an enlightened national policy under the pressure of neoliberal globalization (e.g., Schoonmaker 2002). It is important to remember, however, that the Market Reserve was itself an alliance in pursuit of globalization and its end signified, above all, a desire on the part of many members of this alliance to seek globalization by other means. As we saw in the history presented above, many of the actors that have shaped the policy since the 1940s were to a large extent driven by the same goal: finding a way to engage in Brazil in the global practice of their choosing. Brazilian aviators like Casimiro Montenegro were seeking to establish aviation, but found it hard to acquire airplanes and needed local engineers. Brazilian engineers, created through the efforts of people like Montenegro, were looking for a way to try their hand at the most exciting engineering projects of the twentieth century, such as building computers. The Brazilian government was seeking modern ways of measuring and governing its population, acquiring an interest in using computers and needing programmers to program them. As each group pursued their own globalization projects and required the elements that had to be provided by members of different worlds of practice, they had to decide when to rely on local practitioners and when to import the original elements of the practice. The alliances between the local practitioners of different trades were thus always marriages of convenience. In 1990, as Brazil was looking for change after two decades of oppressive military rule, many were willing to reconsider their alliances. For many of my interviewees, the end of Market Reserve was a moment of awakening that they only wish had come earlier.

      The opening of the Brazilian market to foreign computers decimated the Brazilian computer industry, but also led to a dramatic expansion of computer use in Brazil. (The causes of this expansion were many and included, among other things, the end of hyperinflation after the success of Plano Real in 1994.) The end of the Market Reserve also left Brazil with a substantial number of people who were trained as electronics engineers but now had few opportunities to work on design of hardware. Many of those engineers found that they could transfer their skills to developing software to run on imported hardware.243 Additionally, some took refuge in local universities, where they started teaching. One of my interviews, once an electronics engineer, explains:

Jorge: So when the Market Reserve opened [unclear], they [companies] had way to compete with the foreigners. […] And we, the electronics engineers, we realized that our space was closing. There was no way for electronics to advance in Brazil. So, there were many centers of microelectronics in Brazil, and now there is only one — the only guy that was persistent, they continued. They are a kind of intellectual reserve in this area. […] Just in Rio Grande do Sul. […] They are still making chips. They make a Java chip now. […] But we here moved to software.244

As Jorge saw it, developing software was an easier task than many of the ones he had faced as an electronics engineer. In a similar way, many of former computer companies have transformed themselves into software factories.245

      Around the same time (1988–1990), as a result of complex negotiations, several Brazilian research centers were allowed to establish digital links with BITNET hosts in the United States, thus becoming BITNET gateways for Brazil (Carvalho 2006, p.84). While this was not the first time Brazilians had accessed foreign computer networks, it was an important milestone. (Prior to that one could connect to foreign computers by dialing into them, as some of Rodrigo Miranda’s friends could do with the help of the “blue box” — see chapter 2.1.246) In 1992, Rio and Brazil became connected to the Internet, a new computer network that was rapidly growing in popularity around the world.247 Access to the Internet enabled real-time access to the World-Wide Web, transforming the practice of software development. “Then [in the 1980s] if you knew that the person knew about it, you would spend more time trying to talk to him,” explains one of my interviewees contrasting his experience before and after the arrival of the Internet, “It’s not necessary anymore. You don’t need to, actually… And again, this is primarily due to the Internet. You can get any kind of information you want on the Internet.”248 The students studying in Brazilian universities could increasingly complement the knowledge of their professors with direct use of foreign technical documentation.

      It is worth repeating — as this fact too often appears to be lost on many of my younger interviewees, who are often quick to make unfavorable comparisons between the limited knowledge of their university professors and the wealth of information accessible through the Internet — that the Internet did not come in Brazil by itself. So easily taken for granted as the basic infrastructure of the modern software practice, access to the Internet is a complex artifact that required both technical and political negotiations. It became possible in Brazil because of the accumulation of technical expertise in Brazilian universities and the Brazilian government who had over time learned to coordinate their globalization projects.

      The late 1990s were a turbulent period of Brazilian informatics, a time of change and much uncertainty about what was possible in the future. Such uncertainty led to both fear and wild dreams. By 2005, when I had started my interviews in Rio de Janeiro, the dust had largely settled and many of my interviewees were ready to share with me what they thought was possible in Brazil and what was not. Access to knowledge was easy — through the Internet. There was also no shortage of local customers willing to pay people who could convert knowledge found on the Internet into running code that could solve their problems. On the other hand, access to capital and foreign markets was hard. The bureaucratic hurdles were there to stay. The pass to success appeared to lie in finding local clients, building strong relationships with them, then gradually expanding a service business. Part 3 considers this and other strategies for pursuing the practice of software development in Rio de Janeiro.

209: Calques are similar to cognate borrowings in that they are based on words in a foreign language, but unlike cognates calques copy foreign terms and expressions by translating them part-by-part. For instance, Russian “kod” is a cognate of English “code,” but “iskhodnyi kod” is a calque.
210: The five terms listed above have different connotation in English when used by software developers in the US. “Programmer” is an outsider term, used by the general public but never by the insiders in the United States. “Coder” is an insider term that is not expected to be understood by the outsiders. “Software developer” and “software engineer” are professional terms that mark association with an industry. (Shorter “developer” is also somewhat of an insider term.) “Hacker” connotes passion for writing software and high achievement. Calling oneself a “hacker” may be thus be seen as a immodest. Each of those terms have a cognate in Brazilian Portuguese, but their use differs from English substantially, partly as a result of their use in Brazil’s rigid system of occupational classification. The terms “codificador” and “programador” were used officially for the bottom rungs of the software work (contrasted with “analistas de sistemas” - “systems analysts”). The terms therefore connote low occupational status and are avoided by Brazilian software developers. The same is true for the verb “programar.” To quote one of my interviewees: “In the US programming is related with the activity itself (making a computer understand how to do things) while in Brazil ‘programar’ is related with your status in a project. So in the US even a CTO could say that he is a programmer if that is the case, but in Brazil that would mean that he was still involved with the lower levels of work.” The terms “engenheiro de software” (“software engineer”) or “engenheiro de computação” (“computational engineer”) are also rarely used used colloqually. “Hacker” is used as in English, so it is rarely applied for oneself. “Desenvolvedor de software” or simply “desenvolvedor” thus become the most common terms. (Note that while English “developer” can also be used to refer to people of other professions, such as real estate developers, in Portuguese it only used for software developers.) For those reason, I use the English term “software developers” as the neutral term.
211: This is a very rough estimate based on the numbers presented in appendices F and G.
212: This map, of course, represents the variation in the distribution of people working with a particular kind of software and must be taken interpreted with care, since the ratio between IP addresses and people may vary between countries depending on the extent to which such technologies as network address translation are used. (Use of network address translation may lead all the computers inside the same company to appear as one using one IP address.)
213: See appendix Appendix F: Counting Software Developers in the US and Brazil for exact numbers and explanations. Comparing Rio to Los Angeles (a city of roughly the same size) would give us about a four times difference in the number of computer professionals as a percentage of employed population.
214: It is important to note that software developers (an occupational category) are employed by organizations whose focus (industry category) may vary widely. For example, many software developers in Brazil are employed in “mineral extraction” companies. (See appendix F.) However, organizations that focus on production of software are generally seen as the best employers, as they make it possible for the employees to engage in the more central forms of the practice.
215: The numbers used in this section were collected in May of 2008. Due to the subsequent fluctuations in the stock market, I decided to not re-do the counts and use the numbers for 2008.
216: See Ó Riain (2000) for a description of remote control involved in the work of software developers working for a US company in Ireland.
217: IdeiasNet, a venture capital company with stakes in a number of smaller firms.
218: According to Fenwick (2008), $46.2 billion worth of VC-funded companies were sold in the United States in 2007, with the median price of $98 million. According to the same source, venture capital investments in 2007 added up to $29.9 billion, of which half was in IT ($14.8 billion) and a third was in San Francisco Bay Area ($9.9 billion).
219: While most planned to get listed on São Paulo BOVESPA rather than American exchanges, I expect that many will be available on US markets via ADR. None of those companies are based in Rio de Janeiro, however. Cobra Tecnologia, one of Brazil’s oldest IT companies, currently based in Rio, is also private.
220: Other metrics offer somewhat more complex though not altogether different picture. Corbet (2007) presents a list of companies and organizations that have contributed most changes to Linux 2.6.20. Corbet identifies 67% of the changes with eighteen companies and organizations. Of those, 12.9% correspond to companies headquartered in San Francisco Bay Area (Intel, Oracle, Google, HP, SGI, MIPS Technologies and MontaVista), 12.8% - to Raleigh, NC (Red Hat), 7.4% - to Greater New York (IBM), 5.9% - to Greater Boston (Novell), 5.2% - to the Linux Foundation (split between Beaverton, Oregon, San Francisco and Tokyo). Another 8.4 of the changes are split between seven organizations, each contributing between 0.9 and 1.6% of the changes and located in Scotland, Israel, Finland (Nokia), Germany, South Africa, Japan and Souther California. (The remaining 33% of the challenges are contributed by other organizations or by non-affiliated individuals.) It is important to note again that companies headquartered in the San Francisco Bay Area, Raleigh, NC and New York do hire developers in other places. In case of Linux in particular, the contributors include a number of developers working in Brazil.
221: It is important to note that while software platforms are predominantly developed in a small number of places, people who lead their development often come to those places from far away. In open source, the most notable examples would include Linus Torvalds (the author of Linux, from Finland, now in Oregon), Guido van Rossum (the author of Python, from the Netherlands, now working for Google in Silicon Valley), Rasmus Lerdorf (the author of PHP, from Greenland, now in Silicon Valley). Such migration towards the center have often been seen negatively, as aiding the central countries at the expense of the peripheral ones (e.g., Dedijer 1961, Johnson 1965). While the benefits that such migration has brought to the centeral sites seem clear, the peripheral locations may have gained from it as well in some cases. For example, Saxenian (1999, 2005, 2006) argued that migration of engineers from Taiwan and India has helped the development of high technology industries in such countries.
222: Marshall’s (1890) explanation of industry clustering applies remarkably well to the modern world. For a more up to date discussion, however, see the literature on industry clusters (e.g. Saxenian 1996, Powell et al. 2002), or the economic literature on spillover effects (e.g. Audretsch & Feldman 1996).
223: See Saxenian (1996) and Turner (2006) for a discussion of some of the reasons why San Francisco Bay Area provided a better home for the computer industry since the 1970s.
224: For example, the North Easter Corridor remains unrivaled in the United States in terms of the total number of computing professionals employed, outnumbering Northern California by a factor of five.
225: Such a story would then of course link with one told by John Law (1986), which provides one of the earliest applications of Actor-Network Theory.
226: The state of São Paulo bought a much simpler computer (UNIVAC 120) in 1957, and a private company (Anderson Clayton) bought a computer in 1959 (V. Dantas 1988).
227: Vargas’s own fascist regime in Brazil (“the New State” established in 1937) made the Axis powers his natural allies, but the proximity of the United States eventually led Vargas to side with the Allies. Brazil then sent a small contingent of troops to Europe, becoming the only fascist state to fight on the side of the Allies.
228: Morais (2006) dates the original visit with 1943. Botelho (1999) says that Montenegro may have visited MIT in 1943 but must have returned for a more serious discussion in 1945.
229: While ITA was inspired mostly by MIT, locating the campus at some distance from major cities made ITA more like some of the other US universities, such as Stanford.
230: Though it was IBM that suggested purchasing a computer, the company lost the bid because it could not promise to deliver a machine as quickly.
231: This should not suggest that Brazil was getting an outdated machine: the first installation of Univac 1105 at the Census Bureau only happened about a year prior (BRL 1961).
232: It also used transistors (BRL 1961).
233: “Air conditioning unit for cooling input water should be at least 35 tons capacity” (BRL 1961).
234: While the first UNIVAC was “turned over” to the U.S. Census Bureau in March 1951, it remained at the plant where it was assembled until the end of 1952, according to Ceruzzi (1998/2003), one of the reasons being that “having gone through the heroic efforts to complete and debug the machine, they [Eckert and Mauchly] were apprehensive about dismantling it, moving it, and setting it up again” (p. 27). While by 1960s, UNIVACs were installed in many places in the United States, their assembly still required substantial effort. The description from an installation of a UNIVAC 1105 in the United States in 1959 specifies the exact parameters of the electric current that was used, observations that “the 100 hp motor, which drives a 75 KVA alternator, is started with no load and has a reduced voltage starter control” (BRL 1961, “UNIVAC-1105”).
235: Vera Dantas (1988) writes:
236: The next census did rely heavily on PUC participation. It should also be noted, though, its success is often also attributed in part to the more substantial assistance of USAID, which sent consultants who stayed at IBGE for months helping install and program the new equipment.
237: As a first step in this direction, a state data processing company (SERPRO) was created in 1964.
238: See Evans (1995) on Brazil’s government’s historical record of competent use of information technology.
239: B205 numbers are quoted from Staa (2003). The UNIVAC price and memory are quoted from Senra (2007), while weight and energy consumption are from BRL (1961). 70kVA is roughly the power consumed by one thousand incandescent lamps. (The UNIVAC 1105 consumed 170kVA.)
240: Evans (1995) writes: “They saw the computer industry as part of a broader problem. The number of technically educated Brazilians was growing rapidly in the 1970s. Unless technically challenging jobs expanded just as fast, education would only increase the “brain drain” from Brazil to developing countries. Industrial organization implied social structure. Brazil’s current place in the international division of labor fit all too well with its polarized social structure.” (p. 107.)
241: For example, Brazil was one of the first countries to implement electronic tax filing. According to Tigre (2003), by 2001 90% of the tax declarations were submitted online. (Note, though, that Brazil does not require all citizens to submit tax returns so the total number of tax declaration is smaller than in the US — 11.5 million in 2001 according to Tigre.)
242: For example, Bastos (1994) writes: “In Brazil, domestic managers of IT user companies, were natural allies of the managers of foreign IT subsidiaries who opposed the policy. Larger industrial producers in Brazil complained that the policy’s restrictions on importation of IT goods and the alternative of less developed ‘domestic similar’ hindered their modernization programmes. The US/Brazil conflict added powerful new critics to this group of industrialists. Producers of industrial goods such as orange juice, shoes, textiles, plywood, steel products, and aircraft, whose interests and activities had never before been disturbed by the policy, were led to oppose it because of the American threats of economic sanctions against their exports.” (p. 119-120.)
243: This was originally pointed out to me by Sidney de Castro Oliveira who was, at the time, planning to write his doctoral dissertation around this idea.
244: See appendix C, “Original Interview Quotes” (Jorge, October 2005, “Migrou pra software”).
245: According to Schoonmaker (2002), one of her interviewees, a former president of a major Brazilian computer company, described the skilled labor resources as “‘eggs’ left behind by ‘the serpent of the market reserve’” (p. 128).
246: See also chapter 5 in Carvalho (2006) for a discussion of BBS use in Brazil in the 1980s.
247: According to Carvalho (2006, p. 96), Internet access was delayed in Brazil due to a strong commitment to OSI — a networking protocol that had been accepted by the International Standards Organization but was being supplanted by TCP/IP, the protocol used by the Internet without any official standardization process.
248: The interview was conducted in English. In the rest of the interview, the interviewee stresses that talking to other local practitioners continues to be important but now takes a different form — that of sharing “hints” about what to look up on the Internet. See Takhteyev (2005) for a longer discussion of such “hints” or “pointers.”