Gold Rush Mindset Undermining Programming Field

Posted 16 Feb 2000 at 05:15 UTC by advogato Share This

Gary Chapman was kind enough to grant permission to repost this interesting article on the way the "gold rush" mentality is undermining careful programming techniques. This is certainly true among Internet startups, but I've also seen signs of this mentality in the Linux field. Incidentally, Advogato first saw this article posted on Phil Agre's excellent Red Rock Eater news service.

Monday, February 14, 2000


Gold Rush Mindset Undermining Programming Field

By Gary Chapman

Copyright 2000, The Los Angeles Times. All Rights Reserved

Everyone is familiar by now with the colossal sums of money pouring into high tech, especially into firms that have something to do with the Internet. What is less commonly known is what this tidal wave of money may be doing to the technical professions upon which the "new economy" is built.

The new economy surrounding the Web and e-commerce is in a historic phase similar to the California Gold Rush, says Steve McConnell, author of the new book "After the Gold Rush: Creating a True Profession of Software Engineering" (Microsoft Press, 1999) and editor in chief of IEEE Software magazine.

McConnell notes the many similarities between the 1849 Gold Rush and the new economy, with the present-day equivalent of the tin pan and wooden sluice box being a desktop computer, fast Net connection and software compiler.

He writes that in some sectors, especially software development, relatively low entry costs and the prospect of quick riches are attracting all kinds of people with wide varieties of experience.

It's amazing to many outside the computing field that almost anyone can work as a software programmer. The fact that hordes of people are galloping to get into this field -- many without much understanding of how to program large, complex or important applications -- is leaving some experts uneasy.

In the current gold rush climate, McConnell says, well-known principles of software design and engineering are being ignored. McConnell calls the most common programming technique the "code and fix" approach. Instead of designing a product, managers and programmers immediately get started on software coding, with its illusion of progress in the first few months. Eventually they get bogged down fixing their own errors.

"Several studies have found that 40% to 80% of a typical software project's budget goes into fixing defects that were created earlier on the same project," McConnell writes. About 25% of all software projects are canceled, mostly for this reason.

The code-and-fix model is more common among gold rush companies, where being first to market is far more important than putting out stable or high-quality software, McConnell says.

Certain segments of the software market eventually mature, and users expect stability and relatively fewer bugs. But that's after the gold rush. The question is whether people whose experience in software development is mostly in rushed code-and-fix work can transition to more mature, carefully engineered projects.

The workplace environment of such gold rush companies is distinguished by cruelly long hours, total dedication to the project, sacrifices in almost every other domain of life and the heady exhilaration of being at the cutting edge of technology and possibly near a big financial payoff.

In "Code Rush," a new PBS documentary airing March 30, filmmaker David Winton and his crew were allowed near-total access to a team of Netscape programmers for a year while Netscape struggled to compete with Microsoft.

"Code Rush" focuses on five programmers, four men and one woman, whose lives are utterly turned over to their software code. Winton captures the intelligence, exhilaration and monomania of the programmers as well as some sad byproducts of their labor, including divorce and exhaustion.

If software is going to be our main economic activity for the foreseeable future, is there a better way to produce it?

McConnell thinks so. He says the code-and-fix approach to software development, which fosters the idea of heroic programmers who can rescue a project by its deadline, should be replaced by conventional models of software engineering. He thinks the largely young work force of programmers fueling the new economy will soon grow up and become increasingly interested in work practices that allow them to complete their projects as promised and still be home in time for dinner.

The problem is that managers of gold rush companies typically don't understand or care about software engineering techniques and think they don't have time to create or follow technical specifications. They would rather employ hotshot insomniac programmers who can crank out code that will make a venture capitalist see dollar signs.

McConnell believes the software profession, like engineering, should require certification or licensing. Jobs that require licensing in California, he says, include barber, cosmetologist, funeral director, jockey and pest control specialist. But software engineers don't need to be licensed.

Texas, where I live, has a professional software engineering license. But only a handful of programmers have bothered to qualify for it, and most programmers probably don't know it exists. Not having the state certification is certainly no liability in the hot Austin job market.

"The problem with this argument of software programming being an engineering profession is that it's not really like that," says Eric Roberts, professor of computer science at Stanford University. "It's more like an art, more like writing a symphony. There's tremendous variability in the productivity of individuals in this field."

Some people are just better at programming than others, which throws a wrench in the goal of creating more programmers, skilled workers and income equality through education.

Talented programmers can increase productivity on a software project many times over, Roberts says. Their impact on a software product can be far greater than the influence a good civil engineer can have on a bridge, or an architect on a building.

Because of this, the software profession is beginning to resemble professional sports or the movie business much more than engineering. Exceptionally gifted programmers are referred to as "talent," like movie stars, and some have incomes that make those of film stars look puny. And, as in pro sports, we're seeing young programmers lured with high salaries and stock options, leaving college or skipping it altogether, like Bill Gates and Michael Dell.

Bruce Roberson, senior partner at consulting firm McKinsey & Co., has surveyed 3,000 technical professionals about their goals. His conclusion: "It's the money, baby." They put wealth through stock options at the top of their lists; building a quality product to be proud of is much lower.

"This situation is not going to change any time soon," McConnell says.

The computing field is generating unprecedented wealth. But its employment picture raises questions about how the rest of us will get on board, at least in a way that makes sense for most workers. We can't all be "talent," and we won't all put in 14-hour days. We may get fed up with this lifestyle and with software that's innovative but not very reliable. We may regret this era in another 10 or 20 years.

Gary Chapman is director of the 21st Century Project at the University of Texas at Austin. He can be reached at

Who will suffer for their Art?, posted 16 Feb 2000 at 07:08 UTC by fatjim » (Journeyer)

This article makes reference to programming as an art form, not a distilled technical-only pursuit. I support this view; and I know that many other programmers share this view.

But arts fads come and go. When, as McConnell might put it, the gold rush is over, and programming is reduced in social stature to something more reasonable, or even menial, I wonder how many of us will continue to love what we do?

Money is listed as the primary reason that technical people want the jobs they get; but I don't think that holds true for most programmers. There is always a segment of the population, a large segment, which runs and scrambles to the high-paying professions simply because they are high-paying; just as there are a great many artists whose interest withers to dust the instant they discover that art won't buy a beach house on the coast; but hidden behind that cloud of locusts there is a group of people who not only love what they do, but do what they love.

The artist struggles for the work. In our case, the programmer is the artists and the code, the system, is the work.

I wonder: how many of us will continue coding when that means living near poverty?

Programming as a hobby, posted 16 Feb 2000 at 20:59 UTC by prozac » (Journeyer)

Programming was, and still is, a hobby of mine. I work at a software outsourcing company where 100% of the original employees were self-taught, hobbiest programmers. Of course, this has changed, that was ten years ago. Today almost 50% of our workers are school educated and do not even program at home. Old school, new school.

Then again, some jobs under the programming label are Websites and, ahem, Windows MFC.

The End of Moore's Law, posted 17 Feb 2000 at 04:36 UTC by mbp » (Master)

I wonder what would happen if Moore's law ended, and computers didn't get faster and cheaper every month?

  • Hacking up slow software and waiting for it to get faster would no longer be acceptable.
  • Perhaps there'd be more of an emphasis on polishing existing solutions.
  • People would want to buy computers that worked reliably for more than a couple of years; there'd be a significant market for second-hand computers and computer repair.

Software Engineer Certification, posted 2 Mar 2000 at 15:08 UTC by stimuli » (Journeyer)

I worry about these continuous calls to certify programers and software engineers, not that I don't want to see more skill and credibility in the field. However, we don't want to repeat the situation found in the other engineering fields, namely the Professional Engineer (PE) certifications, which seem largely a cash cow and a bulwark of exclusionary prestige for certain large and expenive universities. I like that software engineering remains a place where those of us who chose the "school of hard knocks" rather than the university can be wildly successful. Let's not lose that.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page