One who gains unauthorized access, destroys vital data, denies legitimate user's service, or causes problems for their targets is called a cracker.
White Hat Hackersnare the computer hackers who hack the system for good reasons.
People who develop software are known as programmers.