A White Hat Hacker is an ethical security professional who hacks into systems with permission to identify vulnerabilities, usually to improve security. A Programmer writes software. A Database Administrator manages and maintains databases. A Cracker or Black Hat Hacker specifically engages in unauthorized, often destructive, activities.