Sunday, February 18, 2007

Labor of Computer Programming

Questions for discussion:

Historicizing the labor of computer programming, Nathan Ensmenger traces a power struggle between programmers, who occupy a new category of information labor in the 1950s, and the corporate structures of organizational management that were transformed with the introduction of electronic digital computers. He explores a number of key issues and concerns, such as:

  • The conflict between craft-centered practices of programmers and the “scientifically” oriented management techniques of their corporate managers
  • The changing visions of computing that helped transform computers from calculators to business machines, and the necessary labor requirements needed for this transformation to take place
  • The struggle over occupational categories (programming is considered at different moments clerical, analytical, technical, creative, and [potentially] professional) and how this affects the balance of power in corporate organizational structures
  • The construction of the “software crisis”—in terms of personnel problems, highly publicized software disasters, and difficulty recruiting “quality” programmers (itself an elusive characteristic)—as a development that prompted the re-negotiation of the computer programmers proper place in corporate and professional hierarchies
  • The role of professionalization in attempting to solidify job security, professional status, and authority for programmers (and interestingly adopted by managers as well, who embraced this as a business-like perspective on the computer skills market)
  • The lengthy debates and techniques concerning how to identify which aptitudes were essential to good programming and “high quality individuals”

With these in mind, I put together a few questions for our discussion this week (a challenging task considering that Prof. Ensmenger will be joining us). Hopefully these will get our conversation going:

1. Creative Labor vs. Information Labor

Q: One of the key cultural stereotypes that emerged with the computer programmer was an emphasis on individual creativity. “Creative work… just cannot be managed,” one report concluded. What are some characteristics that distinguish creative labor from information labor? How are they different, or in what ways is there some overlap? What are the implications of this distinction for studying information workers?

Creative labor is a kind of information work… but is it (or should it be) treated as a different beast entirely?

And a question I would be interested in asking Prof. Ensmenger: how do these struggles and categorizations of labor impact the types of programs that are created? Is there a dominant programming aesthetic that emerges in different historical moments in response to power shifts within organizational structures?

2. Role of Occupational Categories and Occupational Identity

Q: Ensmenger describes early demarcations between coders (clerical work that requires little conscientious precision) and programmers (analytical work that implies a higher level of thinking and management), but then explains how these boundaries were eroded over time. Programmers, he explains, are neither laborers nor professionals; they defy occupational categorization. How do different groups use occupational categories as a way to jockey for power within organizational structures? Why does Ensmenger find it most useful to think about the computer programmer as a technician? How does gender figure into these analytic categories?

3. Historicizing the Labor of Computer Programming and Software

Q: The IRSH reading begins by pointing out that computer programmers represent a perplexing problem for historians because we know so little about who they were, where they came from, or what their daily work lives were like. Compared with the detailed letters, documents, and public records that Rosenhaft was able to draw on in her account of Anton Dies, computer programmers of the 1950s are made visible in Ensmenger’s account largely through the management literature which is very critical of the authority and power that programmers were able to command. What kind of methodological challenges does this pose in trying to understand the labor of programming from the perspective of those workers? How does this color the kind of narratives that get produced? How can historians best cope with these gaps? Are there any unconventional sources that we might be able to turn to in order to get a sense of these missing voices and perspectives?

4. Micro, Macro, Meso Revisited

Q: Is this a meso analysis? (a la Paul Edwards in his essay “Infrastructure and Modernity”). How might Ensmenger’s accounts of the labor of programming be critiqued from the perspectives introduced in Modernity and Technology? Can the notion of infrastructure be used to understand these developments, and if so, how?


natezilla said...

Programmers, he explains, are neither laborers nor professionals; they defy occupational categorization.

This seemed suspect to me in the readings. I don't know if we need to look at programmers as a different type of labor (with or without technicians) so much as rethink the categorizations that have existed in labor.

Ensmenger divides labor into blue collar, white collar, and then technician. Is this really a sufficient lens to look at labor today? I agree that programmers don't fit this mold, but aren't there other occupations that don't fit nicely into a blue/white collar binary?

Relating this issue to Castells, would he believe that these categorizations of labor are useful for his theory of flows? I don't think he would. Instead of thinking of these categories as binaries, maybe it would be more helpful to look at them as modular nodes.

Do we need to find space to think about programmers in labor, or do we need to despatialize the reach of labor in terms of white/blue collar workers?

Jeff Gibbens said...

About the distinction between creative labor and information or other kinds of labor: all labor is potentially "creative"--what we call "creative" is either autonomous or collaborative. In a hierarchy, the presence of "creative" workers undermines subordination.

There's a nuance of meaning between "technician" and "expert" that has to do with the eroding boundaries between blue- and white-collar labor that Nate refers to. Ensmenger's choice of the term "technician" says a lot about what he sees as the value of programming work--that is, the hands-on aspect is essential.

KimNakho said...

I think the difference we perceive is because the present jobs of the programmer has again changed and diversified from what they were in the 60s. While programming back then mostly involved building better ways of calculating and storing information, nowadays the scope is much wider ranging from traditional database managements to devising webtools - which makes it pretty hard to embrace all the "programmers" into a single category of labor.