As a professor at Carnegie Mellon, the world’s premier educator of software engineers, I have been trying to understand how their careers will progress. Our graduates will see a constantly expanding employment market, but they may find themselves working in new contexts.
Remember 1984? If you used a computer you probably reached it through a terminal on a desk. If you used it from home, you dialed it up through AT&T.
Change was beginning, though: the IBM PC was here, the Macintosh was coming, and AT&T was about to be broken up. The era of personal computers, decentralized systems, and telecommunications competition began.
That exciting, confusing era is drawing to a close. We’re starting a long march back to centralized computing because the Internet is here. PCs will be demoted to being high-powered Web terminals. AT&T is back, too. Before you shudder, realize that the AT&T telephone system was everything a good computer service should be: a large, complex infrastructure supporting a vital service that was ubiquitous and always available. It was also very easy to use. Nobody ever had to reboot their telephone, much less install a software upgrade. We’d never heard of such things in 1984.
In this return to central systems, how will successful businesses deliver value from software?
Ride the network wave
The Internet is a more-the-merrier phenomenon. Now that it has taken off, the Internet will grow more and more rapidly until every man, woman, child and dog on earth is connected. A gravitational attraction encourages people to join.
Economist Brian Arthur predicts the Internet will follow a pattern similar to previous infrastructure projects — canals and railroads— and grow robustly after an investment bubble.
The Internet bubble signaled the beginning, not the end. And any business that exploits the growth of Internet use gets a natural boost.
The Internet reduces the cost of information exchange to zero, and it leaps national boundaries effortlessly.
Sell service not software
Google, eBay, Amazon.com, Salesforce.com and other successful, new companies are built on software, but they don’t sell or license software. They just let you use their service via a Web site. This means their revenues come in more slowly compared to companies that sell software, but they are doing just fine. Putting your software into customers’ hands is foolish for two reasons:
Software is easy to change, but you can’t change it once you’ve sent it. Even the smallest bug fix must wait years for the customer to buy an update. In the meantime companies must support an expensive system of help desks, work-arounds, and patches. In contrast, when a service provider discovers a bug, they can fix it whenever they want to. The diagnosis and repair of problems is much easier because the service provider controls all the hardware and surrounding software. They don’t have to ask questions like “Do you have an account?”, “What version?” and “What environment?”
Software is easy to copy —too easy. And piracy has been a bugaboo of the software business. If you sell someone the code for a product, they can give their friends copies. There are huge factories in China that duplicate software. As a result, sellers of software must pursue countermeasures, lawsuits, and negotiations to stem software piracy. The Internet has made the problem much worse, since it provides free distribution of any digital material. But, if you don’t ever give them the software, they can’t copy it. Thus, selling a service eliminates both problems in a single stroke: The company can change the software easily because only its service is running the software, and no copies get out.
In addition, keeping the software in-house makes innovations easier to keep as trade secrets. Studies have shown that companies innovate more in their manufacturing processes than in the products themselves. If their clever ideas appear inside the factory, customers cannot learn about them by taking the products apart. In the software world, it’s harder to reverse-engineer the secret trick behind a service than it is to understand a clever piece of software in your hands.
Hire great software engineers
In the software business you need the best minds you can get. Software engineers not only know programming but can design products, create highly reliable systems and control costs.
Hire them from a competitor, hire computer scientists and hope they become engineers, or hire people like Carnegie Mellon graduates who are great software engineers out of the box.
Use open source software
In the earlier days of the computer business, the computer companies gave their software away to encourage hardware sales. When all that changed, a group of programmers created a free software movement that tried to continue the practice. They believed software and all other information should be free. They might have disappeared, but they happened to produce some great software-the system now known as Linux. Many other groups have followed, creating a common base of software that serves the world well.
Open source software is nominally free, but it has costs as well. Most people buy support from companies like Red Hat. They provide guarantees that the various pieces work together and inform you of updates and other new software. Perhaps the biggest advantage is that your software engineers will be able to fix or extend it themselves if necessary.
Support software engineers
In the Innovator’s Solution, Clayton Christiansen suggests exploiting intense competition at points on the value chain by working upstream or downstream from those points of high competition. The downstream play is more obvious — competitive forces should result in lower prices, so one should be a buyer.
The upstream play is what arms merchants do: They sell tools to the guys who are desperate to gain an edge. The global oversupply of software creators suggests there is a market for things that software producers need to gain a competitive edge. Four examples include: Slashdot is a very successful Web service whose motto is “News for nerds, stuff that matters.”
SourceForge is a clearing house for open source software components.
The Capability Maturity Model (CMM) is a system to measure an organization’s software engineering prowess. In some markets, a high CMM rating is essential to compete. Like SAT prep courses, CMM consultants are in demand. Software production tools that convey a unique advantage might sell.
Empower and exploit the customers
Much innovation is created by customers finding new uses and adaptations for existing products. For example, the invention of Intranets — using a sequestered Web to support a company’s operations — was pioneered by Morgan Stanley as a customer of SUN. eBay involves its customers in setting auction polices and designing pages. Google encourages external development on its Google Earth platform. These companies listen carefully to their customers and observe their usage of net-based services.
Use advertising to make money
The success of Google and its rapid creation of new products is based upon its use of advertising to pay the bills.
It can create and offer virtually any service for free as long as it can attach advertising.
Google can test things in the marketplace the same way that networks can test new TV shows because people don’t demand perfection for something that seems free.
Don’t compete with Microsoft
The search for new software business models is partly based on the need to avoid Microsoft because it is so dominant.
Of course, Microsoft will enter any software market that shows promise. Microsoft took away Netscape’s oxygen by offering a competing product for free. They can’t do that to Google because Google is free to users already.
Give more options in lower volumes
In The Long Tail: The Radical New Shape of Culture and Commerce, Chris Anderson observes that an Internet bookstore like Amazon.com can stock 20 times as many titles as a real book store like Barnes & Noble.
While many of those titles are sold in small numbers, they collectively add to 20 percent of Amazon’s revenues. The same is true for iTunes in music and Netflix in video rentals.
The Internet’s lower selling costs allow more diversity among the customers and better target audiences for the advertisers.
Re-elect Al Gore
A national highway system is a crucial enabler of commerce. Even if you don’t drive, you benefit from the goods and services the highway brings you. They should be free and open to all and paid for by the society that benefits. Alfred Gore Sr. was the senator who sponsored the interstate highway bill in the 1950s; most would say he did good.
The Internet is a crucial enabler of commerce, and it, too, should be free. Alfred Gore Jr. saw this long before most politicians and deserves to be called a father of the Internet. He believed in an “information highway” before it existed. In the early ’90s the administration allowed the Internet to become commercial over the objections of the telecommunications industry. It could have gone the other way, but Gore pushed the correct decision. Ironically, this good deed was turned against him in the 2000 campaign.
Today’s Internet is threatened by three groups: The entrenched communications interests like AT&T will fight to own the net and treat it like a toll road. The content providers like Disney will fight to restrict copying. The government wants to monitor communication. One can imagine a grand deal being worked out among these three to shackle the Internet and make it more expensive than it needs to be. Think of our highways being turned into toll roads. We need the government to be enlightened about the Internet.
Full disclosure: I’m still trying to sell hundreds of “Geeks for Gore” pocket protectors I made in 2000.