since this is in the programming section I'll assume you mean in the traditional computer expert meaning of the word hacker...
Real in depth knowledge of at least one computer programming lanuage is required before you can really call your self a programming hacker...
Assuming that you mean hacker as in the malicious security breaching meaning of the word then learning how to readwuold be an awesome start, you'll notice the tille of this section of the forum is "Computer Programming", you should have erad further down the page to the section cleverly marked "Security/Hacking"
Seriously though, it's one of those things where if you have to ask you'll never really know, you might make it as a script kiddie, or an elite hacker program user, but you'll not be good enough to write the hacking tools...
ok, ok I'll stop taking the piss now...
theskills are basically the same, a massivly in depth knowldge of programming languages is a basic must, but you must also know about the compilers, and how programs are compiled, and how weaknesses may be introduiced, you must know about memory arranement and how memory is allocated, the way that buffers are used and how you can exploit little things to run small chunks of code, You must know about networking protocols and the topology of the protocol stacks, you must understand how a computer works, what happens inside of a computer, and again how you can exploit little bits that introduce weaknesses. You must have a reall indepth knowledge of opperating systems, and programs you intend to exploit, it's also handy to be at a expert level at using dos commends, as most of your exploits, especially of windows boxes will include the use of DOS commands, you must nuderstand about workgroups and domains, and the way in which trusts between servers work... you must understand how the internet is held together, both physically with IP addresses and the routing protocols, an how you can hijack a comversation between computers.
It also helps to be a both logical andf leteral thinker so you can think your way both through and around problems.
If you think I'm shitting yuo then I suggest you take a back seat and become a script kiddie, l;eeching of other peoples hard work so you can feel big hard and clever...