Ahoy! Bit of an odd question but how does one go about hacking?

Nothing in particular but just the general breaking down of software security. I'm interested in learning how to, not for any real use just out of curiosity.

I can imagine most software developers would have a fair idea of how to go about it anyway

Anyone point me in the direction of useful information? Google has shown alot of stuff but there must be some more useful than others