P4V, the Perforce Visual Client
Perforce Newsletter: The Head Revision
The Head Revision
   PERFORCE SOFTWARE NEWSLETTER, SUMMER 2008
 IN THIS ISSUE › Newsletter Home  
› Sales Without Force
Christopher Seiwald, CTO, president and founder of Perforce Software, on why you don't need a sales force to succeed.
› Lumpengrammers
What's the difference between hippies, nerds, and lumpenprogrammers? Robert X. Cringely explains.
› Techno-files: Back Me Up
Richard E. Baum, Senior Technical Support Engineer at Perforce, details a crucial yet often neglected task—backups.

Lumpenprogrammers

*

One day in the early 1980s, Time, Newsweek, and the Wall Street Journal simultaneously discovered the computer culture, which they branded instantly and forever as a homogenized group they called nerds. But in truth there are many techie types. The hardware people are radically different from the software people, and on the software side alone there are at least three subspecies of programmers—hippies, nerds, and lumpenprogrammers.

Hippie programmers have long hair and deliberately, even pridefully, ignore the seasons in their choice of clothing. They wear shorts and sandals in the winter and T-shirts all the time. Nerds tend to be neat, the sons and daughters of fathers who in a previous era would have worn pocket protectors.

Nerds carry calculators; hippies borrow calculators. Nerds use decongestant nasal sprays; hippies snort cocaine. Nerds typically know forty-six different ways to make love but don't know any women.

Hippies know women.

In the actual doing of that voodoo that they do so well, there's a major difference, too, in the way that hippies and nerds write computer code. Hippies tend to do the right things poorly; nerds tend to do the wrong things well. Hippie programmers are very good at getting a sense of the correct shape of a problem and how to solve it, but when it comes to the actual code, they can be sloppy and make major errors through pure boredom. For hippie programmers, the problem is solved when they've figured out how to solve it rather than later, when the work is finished and the problem no longer exists. Hippies live in a world of ideas. In contrast, the nerds are so tightly focused on the trivial details of making a program feature work efficiently that they can completely fail to notice major flaws in the overall concept of the project.

Yes, this is an over-generalization, but it is also correct.

Conventional wisdom says that asking hippies and nerds to work together might lead to doing the wrong things poorly, but that's not so. With the hippies dreaming and the nerds coding, a good combination of the two can help keep a software development project both on course and on schedule. Together hippies and nerds built the software industry as we know it today.

So what about the lumpenprogrammers? Lumpen is a German prefix meaning lowest and least powerful—the Yugo of programmers. Historically lumpenprogrammers spent their careers maintaining mainframe computer code at big companies. Lumpenprogrammers don't even like to program but discovered that by the simple technique of leaving out the comments they were supposed to sprinkle among their lines of computer code, their programs were rendered undecipherable by others, guaranteeing them a lifetime of dull employment.

Lumpenprogrammers exacted their greatest revenge in the late 1990's when it became clear that hundreds of millions of lines of antique COBOL code still running on mainframe systems weren't ready for clocks to tick over announcing the arrival of the year 2000—the so-called Y2K crisis. Spelunking through that old code to fix or replace it, a process known as remediation, ended up costing tens of billions of dollars with no actual improvement of these programs to show for it. On the other hand, no nuclear power plants blew up, either.

One might think that lumpenprogrammers no longer roam the earth, killed by the Y2K remediation comet, but that's not true. They have just become more stealthy. The arrival of object-oriented programming and modern computer languages helped to rout the lumpenprogrammers and source code control systems have tended to keep them at bay, but they haven't completely disappeared.

Fortunately, through processes like code refactoring, lumpenprogrammers have lost much of their ability to do anything more destructive than drink too much coffee and otherwise do little or no work. Wally, the coffee-drinking co-worker of Dilbert, is a lumpenprogrammer—one of the best, 'er worst.

Still projects get mucked-up, source code is lost, and crises take place when this loss is discovered. It shouldn't happen but it does. Right now, for example, one of the top three Internet photo-sharing sites is suffering exactly this problem. I'll leave you to guess which one it is. There isn't any outward indication that there is a problem because the site continues to run smoothly. But the company that owns it has discovered it seems to possess only object code and that code is broken and undecipherable. Nobody still with the company understands it well enough to change the code or add new features, which means certain death in the era of Web 2.0.

Now in this instance it is probably unfair to blame the problem solely on lumpenprogrammers, but at some point, with the departure of certain engineers, the lights were left on but nobody was home. The company now has to decide whether to try a Y2K remediation-type exercise in code archeology or simply start over from scratch, in the process throwing away code bought for close to $100 million. They are probably going to start from scratch.

Short of deliberate sabotage, a good source code control system would have avoided this problem, its cost in lost competitive advantage and code replacement.

If only they had thought to buy one. . . .

› Subscribe    › Unsubscribe    › RSS Feeds    › More About Perforce
Copyright © 2008 Perforce Software, Inc.
The Fast Software Configuration Management System.
Visit us online at www.perforce.com. We welcome your feedback.
Perforce Software
2320 Blanding Avenue
Alameda, CA 94501
If you'd prefer not to receive e-mail like this from Perforce in the future, please click here to unsubscribe.
We have created this email privacy policy to demonstrate our firm commitment to your privacy and the protection of your information.