Little wonder, then, that somewhere along the line, computer programming became synonymous with hacking in the American public consciousness. If you spent long days in front of the computer, doing things that were incomprehensible to everyday people, presumably you were destined for greatness. You could be the next Bill Gates! Whatever you were doing, 10 years from now we'd probably be reading about you in the newspaper. Your mom might worry about you, but she was proud of you -- even if she didn't understand the first thing about what you were doing.
Of course this is silly. Real captains of industry are few and far between, and not every programmer is destined to become a celebrity -- far from it. But the idea that any coder will inevitably, through some incomprehensible sleight of hand, transform a love of computing into untold riches is actually worse than silly -- it's also insidious, because it puts the focus on all the wrong things.
Where American developers go wrong
According to HTC's Nayar, the American graduates he's encountered are all obsessed with making big salaries. In countries like India, China, Brazil, and South Africa, on the other hand -- where students have no such expectation -- grads are much more likely to have devoted themselves to learning such "boring" details as development process, business methodologies such as Six Sigma and ITIL, and understanding a broad range of development tools -- things that too often go missing from American graduates' résumés.
In other words, the American graduate expects to be recognized as a superstar and treated as such, while a graduate from a developing nation will be more oriented toward working within a team. Both are focused on success, but each defines success in different terms.
And the problem goes even deeper than that. American-style hackers don't just make for bad team members; they also make for bad programmers, albeit for reasons new grads seldom anticipate. "Cowboy coders" might be technically proficient, but their code is less likely to be maintainable in the long term, and they're less likely to conform to organizational development processes and coding standards. As a result, quality assurance -- including testing, debugging, code reviews, and refactoring -- are likely to suffer.