Tuesday, May 11, 2010

The need for hacking

The following post is a lightly-edited version of an article I've just had published in the Spring 2010 issue of MMU's Success magazine:

The word "hacker" has, in recent years, acquired an unfortunate and perjorative meaning. The media portrayal is of a pale-faced teenage boy (for they are invariably male) crouched over a keyboard in a fetid room, determined to make their mark on the world through cyber-vandalism or malware scams. My teenage years were partly shaped by the movie WarGames, in which an inquisitive youth accidentally triggers the countdown to armageddon by wandering into a US military computer, while the recent case of the "UFO hacker" Gary McKinnon has merely reinforced the "misfit" stereotype.

They are almost universally despised by mainstream commentators, and yet the infrastructure on which all of us rely (mobile phones, computers and the internet) would not even exist in its current form were it not for the hacker.

The original hackers were the pioneers of the electronic age, when the term simply meant "one who hacks". A hack, back then, was just a clever or "pretty" solution to a difficult problem, rather than an attempt to gain unauthorised access to a system. These early hobbyists and developers created the first microcomputers, as well as the foundations of the global information network.

One of the key principles of the hacker ethic (as described in Steven Levy's book Hackers: Heroes of the Computer Revolution) is that the best computer system is one that may be inspected, dissected and improved upon. When I started programming back in the 1980s, games were often distributed as listings printed in magazines, which had to be typed in before playing. By messing around with this code, I picked up various tricks and learned important new techniques. As my programs became more sophisticated, I had to get "under the bonnet" of the machine and interact with the computer at a fundamental level. The so-called "hard skills" that I learned in those early years have stayed with me ever since.

Modern teaching increasingly promotes the "soft skills" agenda, such as the need for team-working, communication and negotiation. Whilst these abilities are undoubtedly important, we need to protect and promote technical content. I wouldn't want a mechanic delving under the bonnet of my car if all he or she had ever done was change a tyre or top up the screen-wash, even if they did describe themself as a personable, motivated team-player...

Computers now take many forms (consoles, phones and PCs, for example) and they're increasingly viewed as sealed appliances, intended for gaming, chatting or browsing. Members of tomorrow's workforce are immersed in social networking, app downloads and file sharing, but they often lack the fundamental knowledge that can only come by (either physically or metaphorically) opening up the box and tinkering with its insides. By that, I mean the acquisition of technical insights and skills required in order for a person to become a software producer, rather than simply a consumer of apps. New innovations such mobile and cloud computing mean that hard skills are more important than ever, as the digital infrastructure becomes ever more firmly rooted in our day-to-day lives.

The beauty of the situation is that these skills are no longer the sole domain of computing professionals. The availability of modern computers means that we are ideally-placed to develop the next hacker generation, capable of creating ingenious applications and web-based systems. We need to return to the playful principles of the original hackers, by promoting programming as a recreational activity. Modern software packages such as Alice allow us to teach complex concepts almost by stealth, through the medium of computer animation. Open-source operating systems encourage tinkering, and mobile app development is now a legitimate career path. The new generation of twenty-first century hackers may well be digital natives, but they first need to learn to speak the language.

No comments: