Unleashing the Better Programmer Within: OSCON Attendees Get Self-Critical

by Sam Williams, author of Free as in Freedom

The suits were taking a beating on Wall Street, but here at the O'Reilly Open Source Convention, open source software developers were too wrapped up in their own self-flagellation to notice.

"When the pressure is on, that's when you really need to rely on your discipline," advised Norman Nunley, a programmer speaking to a roomful of conference attendees during a Tuesday afternoon seminar. "Humans have a dummy mode, a bozo switch that can easily get flipped. And unfortunately, in programming this tends to come out a lot."

The seminar, ambitiously titled "How to Do Software Development," was cohosted by Nunley and fellow software developer Mike Schwern. It revolved around the increasingly popular topic of software methodologies, formal development systems, which have become popular with programmers frustrated by years of ad hoc software design. And while the seminar's alternate title, "How to Be Lazy Without Even Trying," seemed to suggest a certain Clinton-era irony, the underlying themes of personal responsibility, honesty, and common sense were enough to make a Bush speechwriter smile.

"You must profile your code," intoned Schwern at one point, alluding to the common developer aversion to formal tests and automated diagnostic tools. "You might think you know where the slow parts of your code are located. You are wrong."

Instead of being irritated by the criticism, audience members seemed to lap it up. John Adams, an Atlanta database administrator, gave the speech rave reviews when it was over and said his only regret was that he couldn't convince any of his Atlanta-based co-workers to come out west and join him at the convention.

"I can think of at least five people who work with me who should have been listening to this speech," Adams said.

Among the best aspects of the speech, Adams said, was the underlying emphasis on simple solutions to endemic problems in the developer culture. Indeed, although the speech offered down-and-dirty technical information on how best to optimize and refactor existing software code, its best moments seemed to revolve around ridiculously simple notions such as the importance of eating right and getting plenty of sleep.

"If you're working late, the best thing you can do to improve your software is go home," said Schwern. "The code will still be there when you come back."

"It's a shame that so many people who work with software need to relearn the basics, but it's still good to do it," said Adams. "I've attended OSCON for three years now, and overall, I'd say this has been the best one so far, simply because so many of the seminars have focused on getting back to the fundamentals."

Most attendees who stuck around long enough to talk about the seminar agreed on one thing: The increased desire among some programmers to get back to fundamentals does not translate into collective guilt over the Nasdaq collapse. If anything, said Karen McCann, a senior computer scientist at NASA Ames Research Center, the growing popularity of methodology is a reflection of the coping mechanisms developers have slowly but surely built up during a decade of toiling in the boiler rooms of the New Economy.

"My experience in the computer world is that every single manager I've worked with is bleeping incompetent," said McCann. "A software methodology protects programmers from that incompetence."

Nunley, speaking after the show, said the desire for better workplace discipline and accountability--a desire reflected in both the growing popularity of software development methodologies such as extreme programming, or XP, not to mention traditionally peer-reviewed technologies such as GNU/Linux and the various BSD offshoots--was a function of the excesses of the last decade, excesses both at the manager level and at the developer level.

"We're starting to realize there's a need for more rigor," said Nunley, a software consultant making his first venture as a convention speaker. "After all, doctors have a certain set of standards, lawyers have a certain set of standards. Software programmers should have standards, too."

Schwern had his own theory as to why the current desire for standards and discipline seems to be coming at the same time voters and stockholders seem to be voicing similar concerns. Ultimately, Schwern said, the two trends are offshoots of the same cultural fluidity that characterized the go-go years of the 1990s.

"I think in the dot-com boom so many people entered the [software development] field, the normal system of training broke down," Schwern said. "You had so many juniors running around that the normal process of learning best practices from older programmers, even if by simple osmosis, was lost. In a way, I compare it to the breakdown of Usenet netiquette during the influx of AOL users [in 1994]. We're in a situation where we have to replace the old rules with formal systems."

Whether or not the desire will lead to any concrete reform remains to be seen. As the testimony of McCann affirmed, lingering antagonisms have not disappeared. In fact, if developers ever needed any evidence about the overall disconnect between upper management and reality, the last 12 months have provided plenty. Maybe that's why, given the current economic climate, Schwern and Nunley's "How to Be Lazy Without Even Trying" presentation seemed most interested in popping any last reality bubbles. On a slide that listed the six options available to software developers 'stuck on a lousy project or team,' the sixth and final bullet point was fatalistic:

"Cultivate a Sense of Emotional Detachment."

"We're just trying to be truthful," said Nunley, recalling the bullet point afterward. "It isn't easy doing this, and I have plenty of friends who've had a hard time bringing in methodologies to their companies. Their managers refuse to listen."

Ultimately, however, Nunley maintains hope that things will shift back into a more equitable power arrangement between managers and developers. Should such a time come, programmers would be able to use their improved sense of what works and what doesn't to avoid the mistakes of the last decade.

"It's never going to be the same as it was during the boom, but it won't stay like this forever, either," Nunley said. "Things will eventually shift."

Sam Williams is a freelance writer living in Brooklyn, New York, and the author of O'Reilly's Free as in Freedom: Richard Stallman's Crusade for Free Software. He has covered high-tech culture, specifically software-development culture, for a number of Web sites.

Return to the O'Reilly Network.