George Rebane
Web browser pioneer Marc Andreesen writes ‘Why Software is Eating the World’ in the 20aug11 WSJ. It is a well written compendium of the commercial sectors that have grown in recent years, and promise to really grow more because of cheap and ubiquitous computing power. Andreesen, whom I much admire, outlines how such computing has literally transformed all those sectors – manufacturing, medicine, merchandizing, communications, finance, transportation, … – and is now creating new enterprise sectors yet undreamed. But he makes a fundamental error in his main premise – that it is “software companies” that are ascendant in this transformation. They are not. Please let me explain.
Today, most information technology (IT) based businesses develop, market, maintain, and consume software. But the software is just the medium through which the plethora of unique and powerful functions required of the business are first computed and then implemented by humans or other energy/mass moving machines.
Andreesen goes on to a long list of companies populating the business sectors that he identifies as really being “software companies”. He could just as well have made the argument that ‘processors are eating the world’, or that ‘silicon is eating the world’. In a former day he could have said that ‘metal machining is eating the world’, or ‘printed paper is eating the world’. Of course, none of these have eaten the world nor will they do so in the future.
Each of these world eaters did nothing more or less than serve as the medium for products that required more than, say, machinists or printers to create and purpose them for use in a society. The creators and developers, who saw an existing need that could be filled better by a configuration of newly bent and/or machined pieces of metal, it is they who ate the world and are still doing so. It is they who summoned the machinists to make the stuff, and printers to print the information that changed the world in their day.
Andreesen attributes to computer programmers all the wondrous systems that today make modern life the affordable convenience that it is, and the more so what it promises to be tomorrow. Nothing could be further from the truth. Today computer programmers provide the important final step to implement an algorithm or to generate a functional module that fits into a more comprehensive system design, whether that be interpreting geophone signals to map out possible oil fields or managing inventory in a robotized warehouse.
Just as machinists and book binders were expert in their stage of producing something conceived and designed elsewhere, so are computer programmers. But Andreesen does point out what I have here reiterated, and that is the importance of students learning programming and being able to program in at least one language that is popular enough to warrant its own development environment. That is the job insurance or minimum skill set required to make one employable in uncountable fields because it subsumes the larger area of computer literacy.
So who are the real world eaters today, and those who will be here at least until the Singularity? These are the systems engineers and scientists with broad sets of skills acquired over years of formal schooling and concurrent hands-on work – these guys and gals always have one foot in industry or entrepreneurial activity, and the other foot in academe where they are either taking courses or teaching them. Their systems skills include the most arcane of technical fields imaginable such as applied mathematics, algorithmics, optimization, chaos, machine intelligence, pattern recognition, signal processing, control theory, estimation theory, statistics, stochastic processes, electronics, finance, … . They must be equally at home in trans-philosophic areas such as causality and cosmology, and in the fundamental sciences of physics, chemistry, biology, nano-materials, … . In short, the toolset of systems practitioners must be large and growing, for the problems they are asked to solve are never the same.
These people hold degrees such as in computer science, control engineering, bio-cybernetics, and even (though more rarely) in such areas as geophysics, materials science, neurobiology. In assembling these skill areas in today’s world, such individuals are literally able to think thoughts that are inconceivable for the overwhelming majority of people now alive. Whenever you look into a corporation or institution that is producing something leading edge that is making the world safer, cheaper, healthier, more nutritious, and entertaining than it was yesterday, you will see one or more systems people at the creative end.
In industry it is only the systems engineer who can never turn down a project by mumbling something like, ‘That’s outside my field.’ And the same goes for systems scientists in institutional settings. Both professions are supposed to have the skills to structure any problem for solution, which also includes identifying and recruiting the more narrow technical specialists (e.g. the manufacture of high-temperature carbon nano-tubes) needed to fill the design team.
And then somewhere down the line here we begin thinking about software programmers and software to implement the processing parts of the system in a selected computing environment. One systems engineer may productively ‘drive’ ten computer programmers who actually program the designed algorithms that make up the ‘world eating software’. It doesn’t work the other way around.
The lay reader here may now dredge up what appear to be counter examples, people who definitely were not systems educated, but did come up with an idea for a computer game or even the spreadsheet. They went straight ahead and applied (or hired) their computer programming skills to implement the first software versions, attract venture capital, put a real development team in place, hire or grow into management, and go to glory. While commercial success is possible through such avenues, the development of a Boeing 707, laser printer, a world class search engine, or a functional-MRI is not.


Leave a comment