Young workers typically haven’t had the experience of seeing a project blow up in their face. Sadly, many who worked on HIX now have had such an experience, though they may not highlight this on their resumes.
A less experienced programmer may write great code, but have done so only in small-scale settings. Asked to work on a much larger scale, he may not realize the consequences of the manner in which he designs his code.
For example, an expert cited by Reuters found that a single mouse click in HIX triggers 92 separate file openings and network transactions. When an iPhone app opens a file, there is no noticeable delay, and those who worked on HIX may not have thought that 92 such events would be excessive, when multiplied by tens of thousands of users.
But files being opened tens of thousands of times per second could present a big problem if not handled with a deep knowledge of computer systems.
Computer-science curricula (both in the United States and abroad) are to blame, too. A typical graduate is reasonably knowledgeable about computer programming, but knows shockingly little about computer systems. Most graduates couldn’t explain something as fundamental as how an operating system boots up, for instance. So they may leave school equipped to write iPhone apps (they can probably do that by the end of their second year of study) but with no inkling of such matters as the time overhead involved in accessing a file or transmitting a network message.
Indeed, very few curricula even require a course in networks, the backbone of modern information technology. Computer-science professors often admonish students not to equate the field with just programming, and every program requires a course in the large-scale behavior of algorithms. Yet little attention is paid to the computers themselves.